It only occurred to me just now that in August I passed the milestone marking 20 years as a professional software developer. I suppose it’s not surprising that the anniversary came and went without me realising, since the large cake and case of fine wine that any reasonable person would expect didn’t materialise. Perhaps they’re being saved for the 25 year milestone.
On one hand, I’m inclined to say that no cake and no fine wine means no speech, but on the other, I say you’re not getting out of it that easily, so listen up while I pontificate uninsightfully and at great length.
You would think, in 20 years, that things must have changed immensely, but the more I think about it the more surprised I am at how much they’ve remained the same. Superficially, yes, things are a bit different – look, we’ve got t’internet, gigahertz this and terabytes that. A couple of other random things that have changed:
- Where once I threw a 5.25″ disk across the room, I now share code changes instantly with someone on the other side of the planet
- The computer on my desk is ridiculously faster now than it was back then, yet it seems to do most things more slowly.
Bearing all this in mind, how can I say software development is still the same? For one thing, I would argue that the same basic principles still apply, and developing a piece of software is still exactly the same job as it always was, from start to finish. Looking back, I didn’t really expect things to change much. I recall a colleague in the late ’80s declaring that we (programmers) would all be out of jobs in the future, because computers would do the programming. Nonsense, I said.
Still, it does seem a little odd that with all this computing power, we’re still sitting here giving it instructions in the same old way, in excruciating detail, and all the while pondering on strategies and methodologies to try and ensure our instructions actually mean what we think they mean.
Odder still if you take into account the fact that a significant proportion of the effort that has gone into software development over the years has actually been focussed on taking the programming out of programming. As well as tools for developers, I can think of countless projects I’ve worked on where the aim has been to take the coding out of coding in various ways, including a current one. Other examples might be Coghead or RSSBus. Even spreadsheets fit the bill, as does the IT department’s nightmare, MS Access.
Regardless of that, there are more coders in the world than ever, although I’m not entirely convinced the number of good ones has increased much. Much of the effort tool-wise, I would argue, has been expended in lowering the bar such that more people can actually develop working software, which is handy because we definitely need them.
But, returning to my colleague’s proposition, I find myself inclined to switch sides, or at least sit on the fence, when it comes to the question of whether we’ll still be coding in 20 years time as we are today. It’s pretty clear that I’d still like to be, since I do it all day and then squeeze in more for fun in my spare time, but I’m no longer inclined to dismiss as nonsense the idea that we might have programmed ourselves out of existence by then.

No comments
Comments feed for this article
Trackback link: http://ciarang.com/posts/20-years-of-software-development/trackback