I just read through The Developer’s Dystopian Future (along with both Marco Arment’s and Matt Gemmell’s commentaries on this). I have been a developer for quite a long time (over 32 years professionally, add a few years for my college and pre-college days), and I’ve seen this phenomenon happen over and over. Very few of my peers from when I started are still developers.
I think about this a lot. Technology has changed so much over this time period, so much that things that happened well after I started working are now grist for historically-inspired dramas (Halt and Catch Fire anyone?) (and it pains me to think of anything that has happened in my lifetime as historical just because that’s what makes you feel old). I’ve seen a lot of technologies come and go, and have mastered more than my share of them. I’ve worked at companies that I thought would stand the test of time only to watch them disappear due to incompetence, market changes, or both (DEC, NorTel). The world is a fluid place, change is the only thing I’ve come to count on happening in my life.
One thing that used to scare me was the future of software development as a job (call it software engineering, programming, whatever). There is an intense desire to make it something that can be done by just about anyone (and is done by everyone). When’s the last time you saw someone who didn’t know how to program in Star Trek? And there were no characters who identified as programmers there. I remember reading one of the early Java books that claimed the language would finally be the one that broke through and enabled everyone to program (and put me out of a job). And there are technologies such as programming by example or diagrammatic programming that promised to take the programmer out of programming. The best counterpoint to this is writing a story. Anybody can write, and a lot try to make a living by writing. Few are able to sell their stories, and fewer are able to make enough from their writing to live.
Getting back to these articles, I know the fear that they speak about. I think they get one thing wrong. They look fondly at the past few years, with the indie developer gold rush, and how it’s changed, but I think they draw the wrong conclusion. I think we just lived through the indie developer bubble, and the bubble’s burst. It’s not that it’s now harder than ever to succeed as an indie developer – it’s that there was a very short time where it was easier than normal to succeed as an indie developer, but now it’s over. I think it’s just as easy to be an indie developer as it was in the 1980’s – in fact, it might be easier than then. Distribution is so much better, it’s never been easier to get your software onto a potential customer’s device, and there are a lot more customers.
I also know the fatigue they talk about. I’ve had to keep learning new technologies and techniques over my decades in development. It’s a lot of work, and it’s also a bit of a gamble, and sometimes you guess wrong. For example, a few years ago I started to learn Flex development. Flex is a set of API’s that work with the Adobe Flash Player that were designed to enable users to build web apps with a lot more interactivity than was possible. I drank the kool-aid on this, to the point of actually defending it (against Microsoft Silverlight and HTML5) at a conference at IBM (to show you how it went, the audience ended up siding with the Silverlight guy because, you know, Microsoft always wins, but everyone wanted HTML5 to win – including me – but I was “pragmatic”). Well, we know how that went. Thankfully, I was at a place where I could transition on to other things with little risk, but I spent a lot of time and effort learning Flex (including going to the 360|Flex conferences, which was a very worth-it thing to do as it led me to find the 360|iDev conference).
After Flex I focused on Python-based development and MySQL at work and iOS development on the side at home. I was going in two technological directions at the same time. This was also during the Great Recession, so my main fear was being able to keep employed. I was able to ride it out
I’m always thinking about what is the next thing I want to do. What keeps me in programming after all this time is that I still do enjoy it. I like where I’m working, I like the people I work with (and I’ve had times where these were not true). I know that what I’ll be doing 5-10 years from now might bear little resemblance to what I’m doing now. I’m fine with that.