My dirty little secret: code in the raw

This is a unashamed geek post. 

I was asked this week why I gave up being a programmer and moved into software quality and project management.

At the time I thought it was because I was ambitious and wanted to move my career forward.

I had also been convinced that my productivity as a programmer wasn’t great: my proportion of rework / bug fix time was low but my time to first submission to QA was longer than average (I now understand that might be the less costly way round but then all the programmers were racing to get things over the wall) and I looked slow.

Then there were the day-to-day irritations of what a code shop had become:

  • I was a little too interested in clean code and spending time on elegant structured solutions when quick and dirty would have been acceptable
  • I was getting irritated with the messy code the code generators and tools produced
  • I wanted the source code to be laid out so programmers could read it to maintain it but was told it didn’t matter because the tools would do that for you. It would be the same once compiled anyway because the structured layout was stripped away
  • I didn’t like that the world was becoming enamoured with non-procedural data management (things like SQL), which was actually less efficient and required bigger machines than the business really needed
  • I thought programmers had stopped caring about efficient use of machine resources and compatibility – machines were getting bigger all the time and the marketing teams told the buyers of software they would just have to upgrade in a throw away fashion marketplace
  • the web meant there were new tools that allowed people to call themselves programmers because they dragged and dropped icons rather than because they understood sequence, iteration and selection; that lack of understanding was getting odd data results and software was not tested adequately
  • the web meant that the focus on the presentation layer meant that data management, error handling and security had little attention and less funding. Good looking, badly structured and buggy software products were being lauded.

In saying these things, I was running against the tide. If you can’t stand the heat you get out of the kitchen. So I went across the hall and got an office.

With hindsight I realised that I was not a lone coder who wanted to produce clean code and who struggled with the mess the tools made. There are two underground movements in software development NoSQL (not only SQL) and NoVS (not only Visual Studio) who have also recognised this craftsman’s desire to do a good job extends to programming too.  They are bucking the domination of the tools they have been presented with.

Like free-climbers, it is a light touch, awareness of the terraine and a tidy approach that means craftsman programmers reach seemingly impossible solutions with meaningful, easy to maintain and readable code.  In an age when artisan bread is valued over mass-produced bakery products, there are some who share my dirty little secret: code cut in the raw can be the most efficient and elegant solution. There will be a place for the low skill mass-produced code from patterns but I salute those who are proud of their programming craft and have the skill to write code by hand.

I’m not going back to coding  – management can be fun too – but I now feel able to stand proud and say, “I am Carol and I got my hands dirty to cut code by hand”

About 3triangles
Helping organisations make change happen in 3 key areas: strategic change, deliver tactical impacts, efficient and effective processes. All blog content (c) 2009 - 2012 Carol Long and Three Triangles Performance Ltd

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: