The Passage of Time, in Software Development Years

Posted in Learning, Work

Sometimes all these years seem to be physically weighing me down.

I turned 30 this year, and while that’s hardly old by most standards[1], it feels like a significant amount of time particularly when I think about how long it has been since I was in school or had a wonderful summer vacation. As Square has been talking with students (it is college recruiting season, as absurd as the timing may be), I honestly have trouble relating to their studies and their evolved curriculum.

It’s been eight years and a handful of months since I started my first job at Factset, and I’ve switched four times since then. Jobs, back then, were hard to come by – a lot of my peers in school chose to pursue Ph.Ds, despite being more interested in working in the industry, to avoid the disappointment of unemployment. Opportunities have steadily increased from that dark time, but the standards for excellence have increased a fair bit as well; I highly doubt I would have gotten even my second job (and much less an interview at Google or Square) without having spent more than three years developing at Factset.

Nowadays it’s gotten much easier to find interesting work, but the price of experience is time. Software engineering and silicon valley is tilted towards the young, and at times being even slightly older than a college kid, two years fresh out of school, can feel like being the unhip uncle trying to hang out at the frat house. Even if age discrimination is explicitly and powerfully denied from competent HR spokespeople, the demographics skew young and accommodations for an older crowd are awkwardly praised.

I wonder how many developers don’t stop and think about the progression of their careers as they approach and shoot beyond the median age of their fellow engineers. Of course, there are many arguments to be made in favor of someone with added experience and presumably wisdom, but there are some questions to be had from the side of the developer as well, starting with whether continuing to write code is something that can sustain interest through multiple decades.

As for me, my intrinsic motivation is in making good products, and most interesting products need more than one person to build. I’m at the point where a path to engineering management is a possibility, but giving up the ability of creating software is a very difficult choice to make. Luckily, the company I work for (and indeed, most good companies with a strong engineering culture) recognize twin career progressions in management and engineering, and allow developers to switch if one side isn’t working out. The trick is the recognize whether an arrangement works.

Finally, something all those years of experience is good for.

Footnotes    (↑ returns to text)

  1. Okay, it’s old by prehistoric Neanderthal-ian, you’re-lucky-if-you-get-to-25 standards.