Cook Computing

Renaissance Developer

January 7, 2003 Written by Charles Cook

In a comment on John Lams developer co-operative proposal Sam Gentile writes:

Dude, think different is wonderful but what is going to do for your bottom line? I mean, this is all a wonderful theoritical excerise but how are you going to make money from the Mac or use it for your career? I'm not trying to be a thorn but I am curious as to your thoughts.

I agree with the gist of Johns reply, that seeing things from a different perspective is very valuable. Im not sure we even need ulterior motives such as becoming a better programmer. Surely the developers amongst us who spend their evenings and weekends hacking on code or hardware arent really doing it to further their career or development skills. We do it for the intellectual satisfaction it provides. For example I recently implemented an indexed btree class in C#. That came about only because some of David McCuskers writings on btrees had piqued my curiosity, particularly regarding the possibility of implementing them with array-like indexed access. I think I got more intellectual satisfaction out of writing that code than I did from learning how to write server-side controls in .NET. Similarly, I spent some time over Christmas reading up on the various Linux file systems, not because of anything to do with work but because Id been toying with the idea of implementing a file system along the lines of Microsofts Structured Storage and when googling for information I just followed the links that I found interesting.

Leonardo da Vinci If you only concentrate on what satisfies your immediate career needs, youll be living in a box with tinted windows. Youll not only see everything in the box in a single shade of colour but worse than that youll be missing out on a world of other interesting and intellectually entertaining software ideas. So spend your evenings and weekends on something different from how you earn a living. It will be much more fun and youll incidentally end up a better developer, a Renaissance developer instead of an MSCE.