The Evolution of a Programmer

Link: The Evolution of a Programmer

This article makes so much sense it's actually funny. I was laughing out loud towards the end of it. Here's my interpretation of it, for those who may be programmatically challenged:

High School/Jr.High
You learn the basic and the simple. BASIC is the first programming language you learn in high school.

First year in College
You learn to add standards and structures to things. Pascal is the language used in first year college classes to teach structured programming.

Senior year in College
You learn to do things the "smart" way. Lisp is the language used in senior year Artificial Intelligence (AI) courses.

New professional
Reality kicks in. You find out what you've been learning in college has nothing to do with what you'll be doing for a living. You're inexperienced and don't necessarily do things in the most efficient ways. C is the programming language used by just about every software development organization in the world, if not in full then at least in part.


Seasoned professional
With some experience, you think you now know alot of tricks. You think you can do things better than anyone else. Consequently, you always like to re-invent the wheel, to build better wheels. You know too much for your own good.
C++ is an object-oriented language preferred by organizations over C because it is easier to maintain. In this code snippet, the programmer is overriding virtually all the standard operators and functions provided by the language with his/her own implementation.

Master Programmer
You've mastered the art doing things in the most complicated way possible.

Hackers
You learn to tinker with things beyond your comprehension.

I dropped the various levels of hackers from the list because these aren't really the next steps in the evolution per se. Most programmers tend to pick up their hacking experience in parallel with their programming experience.

New Manager
Wisdom kicks in and you finally realize what you've learned in school actually makes sense. You've become humbled and now wants to keep things as basic and simple as possible.

Middle Manager
You learn that getting more things done means delegating as much as possible to other people.

Senior Manager
You learn to delegate with less effort. Or in programmer lingo: you've optimized your delegation routine.

Chief Executive
You've lost it! You've gone senile. Time to turn in the badge in exchange for that retirement pen.

Call me naive, but it seems to me that life as a programmmer is very much a parody of life in general.