I think every few months, I’ll come across an article that laments that the software industry is explicitly and implicitly ageist; that it’s infatuated with youth and has a frat-boy monoculture that does not welcome women or the slightly elderly. I guess young guys come cheap, work hard, and learn fast: all qualities we celebrate in startups. Inevitably, the counterpoint is that the experienced engineer brings with him/her the baggage of wisdom, and that those who code in their 50s and 60s have held on to the mantle of continuous learning and prove that gray hairs do not render them useless.
In fact, here’s one such article. The Tech Industry’s Darkest Secret: It’s All About Age.
It’s pretty evident that in the software industry, the young outnumber the old. The points are true as far as I can tell: college grads and engineers with 2-3 years of experience are the “newbies”: they do tend to stay late in the office –particularly if they’re fresh out of school and befriend their colleagues of similar age and interests – and they are cheaper to hire. They can write code and produce MVPs, and can have tremendous upside if you can retain their services for a few years.
On the side of the senior engineers, they offer more experience, wisdom and quality of work. I’ve now worked for three startups that have chosen to hire only senior-type engineers for their first few years: the onboarding time and effort is substantially lower, they’re able to self-manage to some degree, and they pave the way (as eventual managers and mentors) for classes of new hires later on.
The funny thing is that for most companies I know, a “senior” software engineer is one who’s been around for 3-5 years, sometimes a little less or more depending on how stingy the company hands out its titles. It’s a reflection of the reality that for most engineering positions, it takes that amount of time to evolve beyond school-level assignments into industry-acceptable coding practices. Once you’ve shown to have enough experience, you’re deemed qualified to work on any number of CRUD jobs that are in high demand across our industry.
On the other side, adding even more years of experience with typical software operations begins to have diminishing returns. Unless you begin to specialize or augment your engineering talent with other skills (typically project management or people management), the value that you’re adding with 10 years of experience will unlikely be 2x that of the 5-year version of yourself. Like professional athletes, there’s a natural peak to the alignment of an engineer’s skills and its market fit, and anecdotally I’d guess it would be around 8-10 years of experience, or your late 20s and early 30s assuming you got a job right out of college.
When I got to play with my first computer over two decades ago, my dad handed me a book on BASIC, a 286 PC cobbled from parts unknown, and a warning from a family friend who was then a software engineer in San Jose: Software will be the future, but make sure you have an exit.