Friday, January 07, 2005

Dumb things to say...

Usually, I find Joel on Software to be quite interesting, however occasionally his biases of how the world works is, uhm, well, not what I would have thought.

"Learn C before graduating"

When I was going through school I was told to really understand computers I needed to understand Assembly language - because I really wouldn't understand computers. Well I learned it and used it in my career a couple of times at the beginning. I learned C, and no longer use it. Return on my investment since then? About zero.

If you know why while (*s++ = *t++); copies a string I probably won't hire you. The next guy (which may be you) to maintain it would spend a long time figuring out what the hell you're doing. strcpy works just fine. Obfuscation of code is dumb.

" you'll never be able to create efficient code in higher level languages. "

Uhm. I thought tectronics dispelled this myth when it sold commercial oscilliscopes with Smalltalk as the engine - in the 80's. I've helped write real time collaboration software in Tcl/Tk. This argument is way old and should be made by someone with a beany.

"a medical doctor who doesn't know basic anatomy, passing out prescriptions based on what the pharma sales babe said would work"

Uhm drug history is essentially, we tried this, it made them better, and they had these problems. Like any good professional, doctors and developers need to rely on their colleagues. They can't understand the exact chemistry of each drug, they generally know what it does and what it helps. They rely on others who put the drug together to have done their job.

So enough ranting - what do I want in developers just out of school?

How to talk - be precise and clear in your thoughts. Practice being a short winded as possible.
Excited about learning. When you come out of college you think you know a lot. Well, in about 20 years you'll figure out the truth. Like me - you're an idiot.
Knowledge of the latest languages. You better know .NET and java.
Knowledge of some esoteric language you learned. Show me you know why they taught it to you. Why is it important? What has it taught you about the latest languages?
A willingness to listen. The only way you learn is to listen.
Ability to identify computer sciency stuff. Like, what is a pattern? Why are refactoring and redesign different?

With those skills I trust you'll learn the rest on your own.


Post a Comment

<< Home