|Photo by Matt Cornock (flickr)|
My professional code has been experienced by hundreds of millions of people from organising school transport for special needs children, overhauling part of the British rail infrastructure, supporting the programme management of a massive bank refurbishment in the UK to more recently supplying travellers around the word with tickets, information during disruption and the chance to feedback to their travel company. I have also written a content management system in one language that I didn't use professionally and some small open source utilities in another.
I don't list out these achievements to convince you of my ability as a programmer, far from it, at my best I was merely average. My code was never truly idiomatic in whichever language I was writing and I'm sure my style was idiosyncratic. I have felt a bit of a fraud for a number of years being described as "technical" and this year heard a term I can identify with ... "post-technical". I can't remember where I first heard this term but it may have been from someone related to ThoughtWorks, where it is apparently a bit of a disparaging term.
The reason I like the term is that to me it signals "Yes, I used to code. I can speak your language (to a point). I can understand the trade offs that you are making (to a point). No, you won't have to explain that cutting testing is a bad idea or that unit tests will save time in the long run."
Although it's not just a label of a state of being. For me it also describes a journey. When I first stopped writing code every day the rest of the team were still using the same tool chain and languages, so it was easy to get involved in pointless arguments essentially about personal preference. Next as the languages and tools changed, this moved to more abstract approaches but probably still framed in too a personal view of how I would have done it.
Given that I haven't written code for pleasure in about a decade, and professionally for around three to five years, I was surprised this month to have my interest piqued by Heroku and playing with Clojure, R or even Prolog! Perhaps I have just got happier with my expectations of the output of my efforts, maybe there is just some idea at the back my head that needs expressing via code.
Perhaps I should step away from the code editor, embrace being non-technical and do something that I'll be more useful at instead! With the stories and tweets about how everyone should (be able to) code it is easy to be guilty about not coding. So I say if you are also going post-technical rejoice in transfering your skills in being able to analyse a problem or how to work with technology, structure data or optimise processes.
I would love to hear from any fellow travellers from professional developers to the non-technical world ...