Jamie's Blog

Ruby developer. CTO. Swimmer. Always trying to write more

Surviving as a developer in your 30’s


What a ridiculous title, right? I mean, yes, I’ll be 37 in August but I’m hardly over the hill. Am I? Am I?!

I heard people on Twitter saying what an amazing achievement it would be for Roger Federer, at the age of 32, to still be able to win a Wimbledon final (he lost). Is 32 considered old in tennis? Apparently so.

I read this interesting blog post from an older developer that reminded me of a few things I’ve been considering.

As you get older (30’s — yeah, it’s ridiculous) a few things happen:

  • You have more to do. Probably a wife/husband, maybe a family. But even more than that, as you get older you have more work responsibilities and that takes times away from you
  • You have less energy. Evolution has designed us to have our kids in our teens and 20’s, raise them, and die off in our 40’s. Modern life has massively skewed our lives away from what evolution had fitted us for but the legacy remains.
  • Your brain just isn’t as sharp. I’ve no idea why but my brain is definitely slower than it used to be. Perhaps I’m thinking about more, or perhaps my neural connections are degrading, or perhaps I just don’t need to learn as many new things as I did in my early twenties. Either way, thinking ability is not a constant.
  • You need to exercise. Damn those twenty year olds who don’t need to find 6hrs a week to go for a run/gym/swim! Or, perhaps they should go but they don’t feel the pressing need — unlike those of us who are a little older, slower and heavier.
  • More experience == more specialisation. Typically, most people gain more and more in-depth experience and it makes them more and more specialised. Out of college, they might be an ‘electrical engineer’. After a year or two at a phone company they become a ‘telecoms engineer’. Then they’re a Mobile Switching Centre Engineer. Then an expert on MSC Interlink Cabling (I’m making this up). Then you’re the MSC Interlink Cabling Specification Lead. And so on. After 15-20years you’ve probably become really knowledgable about a vanishingly specific thing.
  • You’ve made more mistakes. The current joke on twitter is something like: “junior developer thinks he can do anything with computers; senior developer is wary of anything that works first time; lead developer never wants to touch a computer again”. The longer you do this, the more mistakes and frustrating experiences you encounter. And so every new project is not just filled with opportunity, it’s filled with the potential for landmines.

 Don't grow up, it's a trap

This t-shirt has generated more concerned discussions among my kids than anything else I’ve worn! I think they’re worried. But there’s an element of truth to it.

How do you avoid some of the above problems? Be a generalist for as long as possible. Work many jobs, in different fields. Keep learning. Don’t let yourself get pigeonholed. Force yourself to learn new languages/frameworks/technologies. Don’t avoid every green field just because you suspect it’s a minefield. Look after your health so it’s less of a panic later on.

I don’t think you should put off growing up personally (marry that girl; have those kids) but it’s worth thinking about staying a little younger professionally. There’s also an argument that older developers who branch out (to sales, to marketing, to entrepreneurship, to management) are a lot more useful that their younger self who would write code til 2am.