Wednesday, January 19, 2005

The Bob Vila DIY Programming Method

In my experience, there are two kinds of developers: Those who do everything themselves, and those who don't. There's a certain logic (no pun intended) in writing all the code by oneself. You understand EVERYTHING, to the very core of what it is that you are writing. A Programmer does not have to learn any pesky APIs or figure out how to integrate an existing project into theirs. And I suppose there's a certain mystique in knowing that you wrote a regular expression parser all by yourself.

On the other hand, programmers who realize the value of leveraging the hoards of existing free software can finish a project with less people, in less time, and often the result is more stable, more robust, more scalable, and (business wise) CHEAPER. The experience of thousands of programmers is on your side. Existing software is upgraded, fixed, sped up, battened down, and battle tested. All of this benefits your project (drum roll please) for FREE.

I've seen programmers of the first degree several times in the wild. Often it's an ego problem. I once worked for a company that wrote their own web server because Apache was "just too insecure". So, they wrote their own server that was single threaded and infested with potential buffer overflows. This server operates on boxes running in datacenters throughout the world, and fortunately (for the companies that bought these machines), most are behind firewalls. All of this because someone *thought* they could do it better themselves. Someday, the façade will come crashing down all around them. Hopefully, you'll be standing on someone else's shoulders watching.

No comments: