I love writing code. I can’t conceive of a working life where I’m not spending a significant amount of time coding.
A couple of months ago I turned 51. I’ve been a software developer since I was 20 and still write code most days. Back when I started my career this would have been unthinkable — the accepted wisdom then was that you spent 5–10 years at the coal face, after which you became a manager and looked after teams of developers. The reasons behind this were mostly financial — at that time code wasn’t as pervasive as it is now, so to keep increasing your earnings year on year you had to make the switch. Some managers tried to keep their skills current, but most let them slide. From time to time they’d advise us about how to write our code and we’d listen and nod to humour them, but inwardly be cringing at how outdated their thinking was. Things still moved pretty fast back then, although nothing compared to now (which in turn will be nothing compared to how fast things are moving in another 30 years) so skills rotted pretty quickly.
Looking back this approach was madness — companies were spending years training developers only to move them out of the role when their experience could really count. (Yes, most learning back then was on the job, there was no google, no unlimited amount of blogs on any given topic, no free developer editions to try stuff out). It definitely didn’t appeal to me, which is why I’ve spent most of my career with small companies — they typically couldn’t afford a heavyweight layer of management so you had more chance of staying hands on.
All this changed around the time of the first dot com boom. Suddenly small companies, or even solo developers, could build web applications that were used all over the world. Every company wanted a presence on the world wide web, and most realised that if they could provide a web site to help customers to help themselves, this came straight off their bottom line. And everybody needed developers to build or extend these sites. Suddenly developers weren’t just in demand, we were a scarce resource with real bargaining power, as long as we had the appropriate skills.
That last point is the key one — to be successful over a long career as a developer you need to keep up with the latest technology. This doesn’t mean that you need to be an expert in every functional programming language that is the current flavour of the month, but it means using the bleeding edge features in your field and having an good awareness of what is happening elsewhere that might influence things. In my field, Salesforce, this currently means building applications using Lightning Components instead of Visualforce, using SalesforceDX to managed the develop lifecycle, and second generation packaging to manage applications. You can stick with the older tech, but it makes it more difficult to change jobs and eventually you have to accept a professional life centred around legacy system maintenance rather than greenfield development.
My job isn’t just software development — as CTO of a Salesforce Platinum Partner I have a number of strategic responsibilities, and typically my involvement with customers is at an architecture level rather than turning out a few triggers. To be successful in this aspect of the job it’s vital that I’m intimately familiar with the latest developments on the lightning platform, and what is coming down the line. While I could settle for a theoretical view of things, there’s nothing like getting down and dirty with the code to understand the limitations, which tend not to be called out in the marketing. This is way easier now than when I started out thanks to the sheer amount of free resources out there, and the fact that I can do serious development outside of my job thanks to side projects. As I’ve written elsewhere, one of the coolest aspects of being a software developer is that if you can think of an application, you can create it.
So it is absolutely possible these days to have a successful career as a developer into your 50s and beyond, but you have to put the effort in to keep your skills up to date, and unless you are really lucky, your employer is unlikely to fund all of this learning. This doesn’t mean it’s only possible for those with domestic staff and time to burn — most days provide opportunities to learn, on the commute for example, or simply waiting around for something to start. In the modern connected world, a few minute spare and a mobile device is all it takes — just look how the Salesforce ohana use Trailhead to learn from anywhere. The likelihood is that you are going to be more expensive than someone straight out of college, so you need to make sure that your skills and experience make it clear that you are worth the extra investment.
As I said at the beginning of this post, I love writing code, and I plan to keep coding forever, one way or another. I’d never take a job without some aspect of coding. In all likelihood I’m closer to the end of my working life than the beginning, and as The Specials (by way of Guy Lombardo and Prince Buster) put it around the time I started my career:
Enjoy Yourself (It’s Later Than You Think)
I’m better known in the Salesforce community as Bob Buzzard — Umpteen Certifications, including Technical Architect, 6 x MVP and CTO of BrightGen, a Platinum Cloud Alliance Partner in the United Kingdom who are hiring.
Brightgen Careers | Brightgen
For 10 years organisations have relied on BrightGen to show them what Salesforce — and their business — is capable of…
You can find my (usually) more technical thoughts at the Bob Buzzard Blog