I read an interview this morning with Blake Ross of Firefox fame and was a bit shocked to read Blake’s comments that ’The only way to learn how to code is to code. You can’t learn it in school, and you can’t learn it curled up in bed with a book.’ He then goes on to say that ’you have to be right in front of the computer, facing off with it, trying to figure out how it works and ultimately trying to outsmart it.’.
The problem with that statement is that the reader will infer that by coding, the reader will become a coder, when in fact all they will become is a hack. Not a hacker, but a hack. You know, someone who changes one line, recompiles and sees if that fixes the problem. Change another line, repeat. The end result? A big hack. That’s typically what comes out of those six month coding wonder courses they offer at colleges and universities these days; big hacks. No not all, but most are guys who can hack but can’t program.
I think I’ve covered this topic in a similar fashion before, but I’ll cover it again. Programmers understand how things work at all levels, they plan things out and they see the big picture. Think I’m biased (I took computer science at U of C) or jealous or just plain wrong? Perhaps. But look at it this way. If you took a person and introduced them to use a hammer, a screw driver, a drill, a level and all sorts of other carpenters tools, could you then call him a carpenter? Perhaps. But would you hire him to build your house? Not likely. Why not? Ah ha! Because although that person might be able to hammer in some nails, drill some holes or cut a few boards, they don’t know the first thing about building a house.
In exactly the same way, a person who been taught a few things about programming, either in a quickie college/tech program or by themselves, will never really learn the right way to do the bigger picture stuff. At least not unless they experiment for a long time or have they have proper mentors, in much the same way as the trades system works, where tradespeople start as apprentices and work up from there. The same applies for pretty much all careers I should think (in flying we start as first officers, for example) but for some reason the perceived magic around computers lets people get away with being hacks for longer than they should.
I should end by noting that I really should give Blake the benefit of the doubt and assume he was misquoted but nevertheless the fact exists that the hacks are everywhere and they outnumber the rest of us. That’s why I’m hoping to drop technology altogether and work for Kenn Borek Air within a few years.
Wed, 10 Aug 2005 10:03 Posted in Programming