February 12, 2014

...Learn TDD with Codemanship

The Erosion Of The Status Of Software Developers As Professionals

This last week of Year Of Code shenanigans in social and traditional media has reminded of something that touches a nerve - call it an "old war wound".

In my 20 years writing software for a living, and teaching others to write software, I've witnessed a slow erosion of the stature and esteem in which people who write software are held.

In the early 1990's, it was widely understood that this was a highly specialised and complex technical discipline (and this is back when it was much simpler than it is today). It takes years to gain enough practical mastery of the whole busness - not just programming - of creating useful, valuable software.

As computing entered the mainstream during the 1990s (by 1999, most homes had at least one computer, and using a computer had become pretty much the norm in many lines of work), enter stage right a growing army of armchair experts.

This accelerated rapidly during the dotcom boom of the late 90's, as pretty much anyone who could claim to program at all was drafted in to help float a million and one really stupid business start-up ideas.

Soon, these people, armed with a teeny bit of VBScript and an unstoppable thirst for dotcom spondulicks, coupled with an almost total lack of ambition to become better programmers, started to climb their way up various greasy poles into senior non-technical roles in project management, business analysis, test management, product strategy, IT management and more than a few CTO vacancies.

If you're ambitious and good at office politics and self-promotion, it's entirely possible - maybe even easier - to pass from junior programmer to executive management without actually passing through a stage of technical competence. It's a sort of turbo-charged Peter Principle that operates in the software industry.

Meanwhile, around our industry has grown a whole society of professional commentators, self-proclaimed experts ("social media guru", anybody?) and general busy-bodies who, it transpires, wish to make busy with the bodies of the people who know how to make working software happen. Most visible of these are a new elite class of "non-technical tech entrepreneurs" who have risen to prominence in places like London. These are often well-educated people from comfortable, sometimes wealthy backgrounds who have the resources and the contacts to start technology businesses, but - thanks to a classical education that tends to look down on things like computer programming (I went to one of those schools, who currently don't offer computing at GCSE or A-Level, but have their own theatre - so I know the score here) - these people, who perhaps in another universe would be persuing careers in politics and PR like their peers did, rely on grease monkeys like me and you to make their ideas a reality.

Fast forward to 2014, and it's self-evident that, once you step outside of the bubble of the software development community, nobody else cares what we think about software development or things related to it. The Year Of Code debate has largely played out in the mainstream media without taking into account what software developers think. For the most part, everyone who's been asked to comment is not a software developer. Indeed, some journalists have actively denigrated the opinions of experienced software developers, dismissing them as "code snobbery". Why should anyone believe us when we say it's more complicated than that, or that learning to program is hard? What do we know?

And I don't doubt that this blog post - were it ever read by someone who isn't a software developer - would be as casually dismissed as the biased opinions of a bitter old hacker just looking out for his own future earnings. Anyone who knows me, however, will know I don't do "Mortgage-driven Development". My opinions are based on long, deep and wide experience, and I express them stridently and passionately because I genuinely care. If anything, given my current occupation as a trainer and coach of software developers, it must surely be in my financial interest to flood the market with incompetent developers. Graduate trainees are my biggest market.

This all mirrors the gradual erosion of other highly skilled professions, in particular teaching. Teachers are another group who are woefully underepresented in the debate.

In this whole matter, we have three distinct groups of people who lie at the heart of it all: programmers, teachers and children. There's no working solution that fails to address our concerns and any strategy will ultimately rely on us to gain any real traction, because this is where the rubber meets the road.

Posted 3 years, 11 months ago on February 12, 2014