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.

Another point on “The Church of Market Share”

If you haven’t read Gruber’s post titled The Church of Market Share you should now before I continue.

There.  Finished? Good.

I agree with everything that Gruber wrote in this piece.  In fact, I’d like to dig a little into history to reinforce what he said.

Consider mobile app development in the early 2000’s.  The leading platform in terms of market share was Symbian (Nokia mostly, although some Ericsson and later Sony/Ericsson).  They were selling like hotcakes. In fact, the only competition that they had were a brick-sized and shaped phone from Qualcomm running Palm OS, another Palm OS phone from Samsung, the phone add-in from Handspring (again, Palm OS), and maybe the earliest Windows Mobile phones from a couple of vendors. Again, none of these could hold a candle to Symbian in terms of market share. In fact, the only competition really was between Symbian phones and non-phone Personal Digital Assistants (PDA’s), such as the Palm V, Handspring Visor and the Compaq iPaq, but even there, the device sales numbers were roundoff error compared to Symbian phones.  (Blackberry was just starting to take off so they don’t factor into this.)

So where did the developers migrate to?  Palm OS.  Pocket PC.  We weren’t against Symbian development, but the few hardy souls that ventured into those waters were very disappointed with respect to the number of sales.

Now realize that this was a pre-App Store environment.  Developers would either try to distribute their apps themselves, but, more often, we would use Electronic Sales Distributors (ESD’s) like PalmGear and Handango.  Users would have to know about these sites so that they could go and buy apps.  Buying apps was also a painful process, with an email going to the developer from the ESD and the developer sending the customer an activation code that they would have to enter by hand onto the screen.  Sometimes the email from the ESD to the developer got lost; sometimes the email from the developer to the customer; sometimes the customer had trouble getting the code in (if they could find the registration screen in the first place).

Getting back on point, most developers were building for Palm (especially for consumer-oriented apps) and Pocket PC/Windows CE (mostly for enterprise).  Some were making good money, but most were just scratching out a living.  Periodically, some new developer would ask one of us if it was worth developing for Symbian, but it never was a long discussion.

(I’m sure there were a few developers who had successful Symbian applications, but it wasn’t anywhere near the numbers that Palm and Pocket PC/Windows CE developers were seeing.)

Food for thought when people start talking about market share.

Stuffed

Whenever I see an article like this it makes my blood boil:

Android steals 20% of tablet market from iPad over past year (Boy Genius Report)

This is what ABI Research (the source of the information in that article) actually said:

Worldwide annual media tablet shipments are expected to top 120 million units in 2015. While not quite as strong as traditional PC or smartphone annual sales, media tablets are emerging from the shadow of non-handset mobile devices and rapidly coming into their own. Android media tablets have collectively taken 20% market share away from the iPad in the last 12 months.

Why am I upset? Is it that I’m a Apple fanboy (How dare they say anything bad about my beloved iPad)?

No – what’s at issue is that there is a difference between shipments and sales, and how that’s being presented to the public in a confusing way by the tech press. Vendors are cranking out Android Tablets at a fast and furious pace and are filling their sales channels with these devices. What is not being reported is how many are consumers or enterprises actually buying. The term that’s used to describe this is channel stuffing.

Here’s what I see is the problem. I’ve used a Motorola Xoom, a Samsung Galaxy Tab, a RIM Playbook, and an HP Touchpad. What they all have in common is that they feel like incomplete products, like they were rushed to the market. They all see the success of the iPad and think they have to put a tablet device out there NOW.

Unfortunately, they have rushed out these devices and need to get good press. So the easiest way is to put a lot of devices into the channel so that they can report high shipment numbers. This works for something new, but unless the device starts selling the channel fills (at best) or starts flowing backward (the result of returns from stores). Not a good situation.

I wish that the vendors had instead taken their time, made sure they had a solid product on their hands that stood out from the crowd, and then put it on the market. Instead, they all play up the same features – play Flash (a bad tablet experience), multi-tasking (which can make all tablets feel slow and laggy – including the iPad), and linkage to some-or-other app store. In short, nothing spectacular that makes me want to buy them. Some vendors also play up the number of devices (we have several in both the 10 inch and 7 inch formats). To me, this just increases the market confusion.

And consumers are buying few of these devices. And for those who buy, an unacceptable number are being returned.

It’s a shame. I think they are blowing a great opportunity here by rushing, and they are ceding market share to the iPad. The iPad is a great device, but I would like to see a creditable competitor shake things up here.