I’m back for real.

I’ve been very busy the past three years with my latest job, and with my family life, and other things that eat time, so I’ve let this blog twist in the wind. I’ve decided to bring it back to life and to start writing pieces not about technology or programming but more about some of the experiences I’ve had in the past, specifically what’s going on with companies that I’ve used to be involved with, either as an employee or as a very involved party. Companies like IBM, NorTel, and Palm. I’ve been in this business for almost 33 years and I’ve had a lot of experiences, some good and some bad. I’ve also had time to look back and see what’s going on in the programming world in general, and there are lessons to be learned from some of the things I’ve witnessed.

And funny things happened, too. I hope to share some of those as well.

I do not plan to talk about anything relating to my current employer, Apple, so if you want any juicy tidbits about there, go somewhere else.

Why so few older developers?

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.