YA "Lifecycle of a Programmer" post

Yes, I'm going to make the obligatory post talking about the lifecycle that programmers go through. I should note that this is a bit of an oversimplification. The reality is that some people may skip stages, stop at some stages, or go through these in a different order.

Here are the steps:

Infant - This is where we take our first steps. We write our first programs (which are hideously terrible by the way), and we just get excited because we wrote something that didn't crash. There's really not a lot more to this stage.

Child - Child programmers are a handful. To some, they may seem arrogant and hard-headed. The reality is that they just don't know any better. Child programmers do as real children do. They test boundaries to see what they can and can't get away with. They throw tantrums when they don't get their way. It may not always be apparent, but their intentions are usually benign. For the record, I don't trust a programmer that never had a Child stage.

Teenager - Teenagers are at the stage where they're trying to be adults. And they go out of their way to prove it to everyone. They're often condescending to children and rebellious to the "establishment". Most teenagers do things they'll later regret in adulthood, but this is usually a programmer at their most creative stage. Their ideas are usually either totally brilliant or absolutely stupid. The difficulty is in recognizing which is which.

Adult - At some point, the teenager will wake up and realize that they've become the authority figure they used to despise. They're the workhorse programmers. Their old idealism at the expense of practicality is gone. And if they're not careful, their desire to try out new things may go with it.

Old timer - This is the stereotypical "greybeard". The elderly programmer is wiser than all of the other programmers combined. This is both their greatest asset and their greatest weakness. They're usually not willing to try new things simply because they've probably already solved the problem many times before and found a way that works. Old timers usually say things like "Frameworks? Back in my day, we didn't need frameworks! We just wrote our CGI scripts in Perl. And we liked it too!" Sometimes old timers can be comical in this manner, but you should always listen to them. No matter what, they've probably been where you're at before.

What use is anyone else?

Programmers in all life stages tend to conflict with programmers in other stages, some more than others. But reality is that they're all necessary. Teenagers and children are needed to bring a fresh perspective. Adults are needed to make sure that work actually gets done. Old timers are needed to keep the younguns in line.