Fog Creek Software
Discussion Board

Lacking Enough Technical Knowledge?

Okay, I have a masters in computer science from a respectable, but not great department.  But when I look at slashdot, I feel stupid (or should I say 'stoopid'?)  I wouldn't know how to begin to crack into a website - I find it difficult enough to crack code just sitting entirely on my PC.  I couldn't reverse engineer code.  I don't know anything about graphics.  I don't know much about TCP/IP.  I don't think I could modify a Linux kernel now, even though I spent a semester doing that in school.  I just design & build enterprise software.

Am I in the wrong profession, or are there other serious developers out there like me?

Monday, March 1, 2004

A general practitioner doesn't know how to perform a quadruple bypass, but he/she still fulfill a useful role. Same with a podiatrist, a gynecologist, etc, etc.

It's not what you know, it's what you do with your knowledge.

Monday, March 1, 2004

What you say you can't do may or may not limit you at your work. If you know what you need to know to get your work done, you are fine. You don't necessarily need to be able to do the things you mentioned. On the other hand, if you are planning to change jobs and your new position requires any of the things you mentioned or your current job needs such skills, then you need to learn them. So, I don't think there is a right answer for your situation.

If you want to be able to do those things you mentioned purely for being more intellectual or you need those skills for some other purpose, then you can read up on them and learn them. They are not rocket science. Perseverance, will and time will solve all your problems.

Monday, March 1, 2004

It sounds like you have a life.  You should be worried if you ever do start sounding like the posters on Slashdot.

In all seriousness, it's good to be passionate about computers to the point that you learn more than you need to know to do your job.  As an example, I think all developers should understand TCP/IP and all network admins should understand the basic concepts of how software is created.  But the ego blimp that is Slashdot makes it sound like *everyone* in IT has to know how to code, build networks, implement security, and sketch out IC designs in his spare time. And they you have to know it all *now*.

The reality is, no matter how passionate I am about this stuff, and no matter how many all nighters I pull geeking out, I will never be able to be as good of a hacker as Linus, as good of a software architect as Joel, as good of a security expert as Bruce Schneier.  What I can do is explore those areas as I have time and interest and as long as they are enjoyable to me, and gradually build a cross-pollinated knowledge foundation that makes me a better person professionally and personally.

Monday, March 1, 2004

>> "If you want to be able to do those things you mentioned purely for being more intellectual or you need those skills for some other purpose, then you can read up on them and learn them. They are not rocket science."

You're right.  I'm not interested in the things I listed above. though.  My job is to write intelligent tutors for my corporation, so, I'll probably know way more about natural language processing than a slashdotter - but what worries me is that, if you read a lot of their posts, it's almost assumed that anyone who's a serious developer should know communications protocols intimately.  Am I hopelessly out-of-touch since I can't write a makeshift packet sniffer?

Monday, March 1, 2004

Slashdot is full of socially inept youngsters who subscribe to the notion that not knowing something they know marks you as "clueless noob".  Their respect-ometer reading is based on how much you know.  The more the better, and the more esoteric, the better.  For example, the following type of comment will generate awe and worship amongst young geeks of all stripes:

"Did you know that Noel Neill played Lois Lane in the original Superman serials *and* Lois Lane's mother in the 1978 movie?"

If you are so foolish as to wonder aloud, "Who played Lois Lane's mother in the Superman movie?" the reply will be "Noel Neill -- and she played Lois Lane in the original TV serials.  Geez, I thought *everyone* knew that."

Of course, if they *don't* know the answer, you'll be met with, "Who cares?? That is the most useless piece of trivia I've ever been asked!"  The young geek, if he can't answer the question, must preserve his fragile ego by minimizing the question.

Use your co-workers and boss as sounding boards if you're worried about lack of technical knowledge.  Leave the geek one-upsmanship to Slashdot.

Should be working
Monday, March 1, 2004

The first time I walked into one of those mega bookstores, I felt instantly depressed when I realized how much information was out there, and that I would never be able to learn it all in my life time.  It made me feel ignorant.

But you know what?  That's the truth.  No one person can know everything, so don't bother.  The key thing to be very good at finding the information you need, when you need it.  No more, no less.  No sooner, no later.  Use Google when you know what you want, but can't find it.  Identify local experts at your company and talk to them when you don't even know what questions to ask.

You forget there's a huge community of slashdotters.  For ANY technical topic brought up, there's bound to be one person who knows a lot about it.  But there's no single person who knows it all.  And if there is, they're probably an idiot savant or something.

Monday, March 1, 2004

Ah well, for those of a certain age there was a time when it really did feel like you pretty much knew everything, at least everything within your horizon.  What you didn't know belonged in some other proprietary universe that you weren't a part of and it hardly ever impinged on yours.  There was mutual skepticism if not loathing of the other universes.

Then in about 1994 it all began to run away with itself (in truth an awful of of what's new is just old stuff with different shiny things and new acronyms). 

Nowadays I couldn't care less what I don't know because I know if I need to discover how to do something I can go find out, or find someone who has done something similar.

The Shock of the New no longer leaves me breathless.

Simon Lucy
Monday, March 1, 2004

"Slashdot is full of socially inept youngsters who subscribe to the notion that not knowing something they know marks you as "clueless noob". "

Many interviewers seem to believe this as well.

Regarding the thread, I recall reading about a Zen master who was so advanced that he realized he could never know anything, so he adopted the title he considered to be the ultimate truth: "student"


Monday, March 1, 2004

A master's degree does not necessarily translate into real-world "hacking" skill.  Nor does Slashdot in any way indicate what a competant programmer should know.

Ask yourself some basic questions:

#1 Do you know enough to do your job?
#2 Are you good at your job?
#3 Do other people think you're good at your job?
#4 Do you understand the work you do?  Do you see how it fits into "the big picture"?

If you can answer yes to all of these, you're doing pretty well.  If not, then you know what you need to improve.

If you want to expand your horizons, go for it.  Find something that interests you and learn it.

Remember, earning a degree does NOT mean that your education is over.  Most of the stuff you learn in college is far from "state of the art".  You need to keep your skills current, if you want to be competitive.

Myron A. Semack
Monday, March 1, 2004

anon, if you can install pre-written software, you probably know as much as the average "hacker," re: script kiddie, on /. does.

Andrew Burton
Monday, March 1, 2004

There will always be an infinite amount of trivial things you won't know.

Jan Derk
Monday, March 1, 2004

It's not what you know, it's what you know how to find out.

Sum Dum Gai
Monday, March 1, 2004


If you had aspirations to be a truely great systems programmer, I'd say your inability to crack a web server was a limitation. Otherwise, no. I do some computer security work, and I spent some time as a systems programmer (some very humbling time; I worked with guys who really were great), and I can't take down a server.  I can make it really unhappy and hard to use, I can find the points that I would sick a really good guy on, but I can't actually make it crash and run my own code.

None of that is what you are doing for a living.  As an application programmer, understanding user interfaces and your clients' business rules is a whole lot more useful. Those items aren't very useful for the typical systems programmer.  So don't worry if you can't hack a black box, and concentrate instead on making usable applications. It's  a pretty rare skill all by itself.

Clay Dowling
Monday, March 1, 2004

Why Programming is not just like any other profession, say Accounting? We work with Visual Studio and they work with MS Excel. Do Accountants have these same issues with thier profession?

Tuesday, March 2, 2004

>Why Programming is not just like any other profession, say Accounting?

I have never really understood the programmer's tendancy to suggest that our profession is *so* different than other lines of work.  If anything, shouldn't we be able to draw parallels more clearly?
<end beef>

I would suggest that accounting is almost *exactly* like programming.  A few observations based on the current thread:

1.  Accountants can specialize in Corporate Tax, Personal Tax, Small Business, Agriculture and so on.  My father spent 35 years as a specialist in Agriculture.  I can assure you he doesn't know a lick about corporate tax.  Much like I can't program a packet sniffer but I do know SQL.

2.  They have problems with talent too.  You can have your CA designation, CMA or CPA (here in Canada anyway).  Roughly the same as having a degree vs. community college.  Although the designation is standardized ... but that's a whole other thread.

3.  95% of the job is boring and repetitive.

4.  Some work in big corporate departments.  Other work in small firms.  Basically, consultants vs. IT.

5.  The rules change often.  Much like we have new technology, every four years a new government institutes a new agenda.  Its tough to keep on top of the changes in both professions.

The only upside I see to being a developer, is that I can sell and market a product, if I so desire.  This can be much more lucrative ... right Joel?

Tuesday, March 2, 2004

Canuck, you've got it wrong. The question referred to the continual querying of competence or capability that characterises programming, but not accounting.

To make it worse, programming is much harder than accounting.

Tuesday, March 2, 2004

I interpreted the question as pondering the breadth of knowledge.

>To make it worse, programming is much harder than accounting.

Prove your point.

Tuesday, March 2, 2004

I've written accounting systems, which required that I learn at least the basics of accounting, and I have to maintain the books for my own business.  I'm not convinced that accounting is easier.  Debugging an accounting mess is very non-trivial, and rather than the mere inconvenience that you usually get with a software bug, an accounting mess is very likely to destroy your business and can get you into legal trouble.

Clay Dowling
Tuesday, March 2, 2004

A fire will destroy your business too. It doesn't mean it's hard.

Tuesday, March 2, 2004

A wrecking ball will destroy your business too. It doesn't mean it's hard.  Wait a minute...  Doh!!!

Tuesday, March 2, 2004

*  Recent Topics

*  Fog Creek Home