I write software…to solve problems

Well, it’s a while since I wrote a blog post so why not kick off with a slight bit of professional heresy.  I write software for a living; have done for over 30 years, starting with SCMP microprocessors in my teens (yes, I was THAT sort of teenager…) and working through everything in between until now when I spend my time split between .NET, JavaScript and PHP.

Now, why do I write code?  Well, occasionally I do it for fun, but mostly I do it for profit – my clients pay me to do it.  Actually, that’s not right.  My clients pay me to solve their problems for them using software. 

I’ve never been one of the great ‘geeks / hackers’ in life; I’m a radio amateur and electronics whizz, and the closest I ever came was in my teens and early twenties when I was fiddling with low level stuff like analogue to digital converters and the like; but pure software geekery has never been me.  I used to say to people that I was a reasonable programmer but an excellent developer; now I’m more likely to say I’m an excellent problem solver.

Don’t get me wrong; I have an active interest in my profession, from the perspective of how I can deliver better service to my clients in delivering what they want from me.  And I like to think that I write sound, efficient and effective code.  I create data structures, create objects to model those structures and business processes, create code to implement these abstracts and put something on my client’s desktop or web server that allows them, bottom line, to make more money or save more money.  I also write code that is easy to follow and maintain, that has sensible variable names, that I document and leave a pile of useful information with my client.  And I’m there for them when needed.  I love it when I get a call from a client who tells me ‘We needed to add a new feature, so we took a look at the code and documentation and we think we’ve done it right, but next time you’re in, could you give it a quick look?’ – the ultimate accolade for me – I’ve delivered code that others can pick up and run with.

I’m methodical, but don’t have what you could call a methodology; I was recently asked whether I was agile; I almost replied that I used to be but since I tore my knee cartilage a few years back I’m not as nimble as I once was.  Do I practice Extreme programming; not really, I’m more Church of England, middle of the road, myself….

I’ve started to notice that there are two broad categories of software developers; those who work for software houses or in large development teams where words like Agile, Extreme, kanzen, dojos, user stories, sensei are the common parlance, and those who work very close with business and organisational problems, where the usual words that define a day at the coalface are fix, solution, feature, document, debug, budget, timescale.

I like to talk to my clients in their language; I’m afraid I still work in a world where businesses have processes, not user stories; where they don’t particularly care what technique I use behind the scenes as long as I deliver working, maintainable and efficient code, to budget and on time.  I’m sure that the software house methodologies work effectively but do they provide yet another layer of obfuscation, bureaucracy and abstraction between what we do and what our clients and customers want us to do – solve their problems?

No matter how much we dress things up with Japanese words (and I speak with some knowledge and experience of Japanese culture and management) we must not lose track of what we do and why we do it; we solve problems by developing effective software systems delivered on time and to budget.  That is all our clients care about; we’re not ninjas or ronin; we’re professional programmers and problem solvers.

I guess what I’m saying to developers is don’t fetishise what you do to the point where the process becomes more important than the product.  It’s rare I have much good to say about Steve Jobs and the slavering behemnoth that is Apple, but he did once say ‘Great artists deliver’.  And that’s what it’s all about.

The world’s messy – get used to it

One of the great things about Twitter is that it brings articles to my attention that I wouldn’t otherwise have read. This blog post originated in one of those articles. It’s here – in it, the writer notes that managers and creatives tend to work on different chunks of time for getting things done – for managers hour diary slots are usually adequate, but for creatives an hour barely gives you time to get going. So far so good – I’ve written a Joe’s Jottings piece in which I mention that my own to-do list doesn’t deal in units of time much under half a day.

The writer then goes on to comment on how his organisation – a venture capital outfit – runs it’s diary slots on the ‘maker’ basis rather than the ‘manager’ basis. And turns the whole thing in to a selling point for their services. OK – at one level this is a good example of catering your working practices to your client base, but it started me thinking again about the increasing tendency I’ve witnessed in the last year or so amongst start up companies and those catering for them towards over-complicating what are really quite straight forward and, in some cases, old fashioned, good personal and business management skills and techniques.

I’m just getting a little tired of seeing things that are just this side of bleedin’ obvious being touted as if they were the bastard intellectual offspring of an orgy between Wittgenstein, Einstein, Leonardo da Vinci and Drucker.

I wear a number of hats in my day to day life; I’m a husband, cat-wrangler, consultant, software developer, charity Trustee, line manager, householder, social entrepreneur…you get the picture. Each of these activities requires me to operate in different ways – sometimes I’m working to someone else’s priorities, sometimes to my own. Oddly enough these things all get recorded in the same diary, with prioritisation and time-slots allocated to the job in hand. If there’s a day on which I want to do development work, I block it out in my diary – the things that will shift me from that are family or major line management issues. If I have a board meeting, I block out the morning or afternoon. It’s called time-management, prioritisation and flexibility. It’s an essential component of what is needed to get stuff done in a world that is messy.

It’s important for startups to get used to the idea that sooner or later they’re going to have to get used to dealing with the world the way it is, not the way they’d like it to be. Pandering from VC companies doesn’t help this; people in startups learning the basics of time and diary management and prioritisation will.

Tweeting in meetings….

I came across this rather interesting article from the personal blog of a Pastor in the US recently in which he suggests that Tweeting in Church might be a good idea.  Now, I have to admit that I was something of a late adopter with Twitter (and Facebook…and for that matter with SMS texting….yeah, OK, I’m a bit of a Luddite in some respects!) but I have to say that this suggestion surprised me.  I’m afraid that when I’m in Church I’m focusing on my own engagement with God, via my participation in the collective experience of the congregation in the church.  Which sounds more like an academic treatise than a celebration of faith, but that’s me!

the idea was that by tweeting ‘commentary’ on the sermon and other aspects of the service it could be regarded as a means of evangelising to the outside world and so bringing the Word to others – perhaps, but I think it’s one tweet too far for me.  Which then led me on to business meeting tweets, conference tweets, etc.

Perhaps it’s a generational thing but despite having a Blackberry, a Netbook and enough technology at home to sink a small boat, I still go to meetings armed with a pen and paper for note taking.  As far as I’m concerned, it’s reliable, no batteries to run out, makes no weird noises, doesn’t force me to think ‘How do I do that?’, will take text, drawings and doodles and isn’t ostentatious.  Pen and paper is what I like to call ‘humble technology’ – it does what it says on the tin, no muss, no fuss.  I’ve been in meetings recently where iPads have been deployed, tweets have been made (as I found out after leaving the meeting and looking at twitter) with no apparent damage to the business of the meeting…but…looking at my own notes taken in the meetings concerned, I’m wondering whether the meetings were actually needed / useful as my notes are pretty skimpy, and I take good notes.

We then have the recent debacle in the UK where some aspects of an industrial relations negotiation between British Airways and Trades Union representatives was tweeted to the outside world, resulting in a ‘pitch invasion’ of the building where the negotiations were taking place.  I’m sorry…negotiations are supposed to be delicate affairs between the parties involved and any mediators.  If someone feels they can’t negotiate without doing the equivalent of bellowing from the window, perhaps they need to be in different jobs.

As you can probably tell by now, I’m not a fan.  My own rules of Twitter are pretty straight forward:

  • If I’m in a meeting, focus on the meeting. 
  • If I’m at Church, focus on that.
  • If I’m at an event and want to tweet, I’ll wait until a ‘natural break’ and do it then.

I recently read a good tip about the etiquette of Texting and Tweeting.  Basically, imagine pulling out a crossword puzzle and doing it.  If you wouldn’t do that in the situation, then you really should think hard about whether you should tweet / text (emergencies excepted, naturally!!)  I was at a social event the other evening and I found that tweeting is sort of like smoking used to be (never smoked so maybe on tenuous ground here…) – it gives you something to do with your hands whilst you’re nervous!

In most meetings, unless you’re there as an observer or reporter tasked with providing a running commentary, I can’t imagine a need to Tweet that can’t wait an hour or so.  So just focus on making the meeting effective.

Arrogance 2.0

Maybe I’m just old, or maybe I just don’t get some aspects of modern business – or are some people online purporting to be business experts just arrogant and opinionated folks with insufficient experience and a habit of stating the bleedin’ obvious as if they’d just discovered a Unified Field Theory?

And what triggered this off?  As frequently happens these days, I came across something on Twitter that just bugged the Hell out of me.  And it was the following:

“Book publishers. Stop talking about cannibalisation. Create and invest in businesses and services which destroy today’s model.”

I guess the reason why this statement annoyed me is that I’ve had books and magazine articles published, starting in the early 1980s, and I suppose I have an emotional attachment to the whole paper based ‘traditional’ publishing business.  One of the aspects of that business I like even now is that there was an element of quality control involved that the current ‘anything goes’ online world lacks.  Those nasty gatekeepers called ‘editors’ used to brass all of us off, but they at least ensured that what was published fitted the style of the magazine, was reasonably well written and was believed to be good enough for other people to spend money on.

Because the traditional publishing business did something that most modern online publishing isn’t managing to do – make money based on quality, focused product.  Why buy content when the Internet is full of it?  Getting people to buy text content is increasingly difficult and I’ve seen more than one magazine that I used to buy regularly go to the wall because of the free availability of published material on the Internet.  So what’s the problem?  The problem is that whilst there might be items of high standard on the Net (I hope I produce a few myself) what is lacking is the focus and selection that went in to a magazine – in one pace you had a series of relevant articles, of high quality.  Over the years we’ve kept getting the promise of ‘The Daily You’ online – a one stop web site which you will be able to configure in such a way as to get material that interests you.  That promise has never delivered.  Whilst there are a number of issues that I have with the concept in general (not going to go in to them here – that’s for another day) the basic problem is that whatever ways have been used to try and put something together that gives us relevant and quality content, like RSS feeds, it’s never quite worked.

To be told by someone ‘go and destroy today’s models’ sounds like iconoclasm of the worst sort.  Destruction of what doesn’t work is one thing;  destruction of a market place and set of products that does work is quite sad, especially when the new products and services coming to replace what is going has elements of ‘The Emporers New Clothes’ about them.  And a lot of ‘new media’ stuff does start with cannibalisation – when you aren’t paying for content, you start by linking to it, re-hashing it, etc.  Whilst there are markets for new, paid for content on the Internet it’s frequently poorly paid and provides little stimulus for authors to spend time in developing engaging content when they’re going to see very little recompense for it.

The freetard mentality is again coming through with so many of these Business 2.0 zealots – I have news for you.  Free doesn’t survive hard times.  It’s not enough to say ‘the content is out there, just find it’.  People like to pay for organised and focused material because it saves them time.  Destroying today’s models before there is anything to replace them is simply the business plan of the would-be market dictator – those who would come to lead a mediocre market with mediocre products because the good stuff has already gone to the wall.

The next, next, next thing!

Hands up whoever has heard of the Red Queen’s Race?  That was the athletic event in Wonderland where the participants had to run very hard to stay exactly where they were.  I’m becoming convinced that we’re entering in to that sort of event in the online marketing and PR world – and probably beyond as well.  And it worries me.

The article that sparked this off is here – nothing major, really, but it did get me thinking.  Does anyone ever give any online or software technique any realistic time to show whether it can deliver the goods anymore?  Or is it all a case of ‘MTV Attention Span’?  Does everything have to prove itself within a 30 second elevator pitch?  If something does the job, does it effectively and meets whatever targets are set for it, why do so many people jump ship as soon as the ‘next, next thing’ comes along? 

There seems to be no scope today for a technique or technology to get time to prove itself.  Of course, there are going to be some advances that are just so awesomely great that it’s obvious even to a relative techo-Luddite like me that they’re worth using immediately, but for other things, how can you know whether you can get more out of an upgrade when you probably haven’t even measured the value of your current process?  If you’re using online tools like Facebook, Twitter, Search Engine Optimisation to market your business, then do you actually know how much business comes to your site via these various channels?  Because if you don’t then simply changing techniques to fit with the current ‘fad’ is likely to be a waste of time; you simply don’t know whether the new tool is worse or better than the old one!

Impatience with results from all online marketing methods has always been an issue; people still seem to think that making quick money is posisble on the Internet; I’m afraid the only way to do that is probably to sell people on the Internet ‘Get Rich Quick’ schemes!  But flicking from one technique to another and then to another without giving time for them to work or even knowing whether they ARE working is pointless.

So…my advice?

Well, bearing in mind that I am certainly NOT a marketing expert and not a millionaire, all I can say is apply good, sound, marketing techniques, such as:

  1. Measure your traffic to your site or business before you start, using a metric that matters – whether that’s page impressions, money earned, downloads made, whatever suits your business.
  2. Introduce new marketing channels in such a way that business from them is identifiable.
  3. If your business is cyclical in any way, let new techniques run for at least a fair part of that cycle.
  4. When you have your baseline, make changes to the channels one at a time and measure any effects based on those changes.

Just remember the old adage that you cannot manage what you can’t measure; just because the technology changes doesn’t mean that common sense approaches to marketing should change as well.

Innovative is not the same as useful

heathrobinsonI recently found this on my Twitterfeed: @jakebrewer: Yes! Note from newly devised Hippocratic oath for Gov 2.0 apps: “Don’t confuse novelty with usefulness.”  It is so true – and that comes from someone who spent part of his MBA working on the management of creativity and innovation.  There is a science fiction story by Arthur C Clarke in which two planetary empires are fighting a war.  The story’s called ‘Superiority’ for anyone who wants to read it.  In this tale, one side decides to win the war by making of use of it’s technological know-how, which is in advance of the opposing side.  Unfortunately, each innovation has some unforeseen side effect which eventually, cumulatively, ends up with the technologically advanced empire innovating itself in to defeat.

First of all, a definition.  For the purposes of this post, innovation is not the small improvements we all do to streamline and ‘finesse’ a process or product.  That’s just maintenance and responding to feedback.  Innovation is the equivalent of trading in the bike for a car.  It’s a big shift.

Innovation is an important aspect of our personal and business lives; through it we have a vital tool for adaptation and survival, but it’s important to not get hooked on the idea that innovation is always a Good Thing, and fetishise it as being an all powerful tool for all problems.  In fact:

  1. Innovation is not always useful.
  2. Innovation is not always indicative of progress.
  3. Innovation does not always benefit all the stakeholders.
  4. Failure to innovate can be expensive and risky; innovating for no reason can also be expensive and risky.
  5. Innovating is not the same as being effective.
  6. Innovation can deliver false confidence.


Innovation is not always useful

This usually equates to ‘if it ain’t broke, don’t fix it’.  If you have part of your life or business process that is chugging along well and is meeting the targets you set for it, then don’t bother innovating it yet.  There is no purpose or use to massive change that meets no need.  Such innovation is useless.

Innovation is not always indicative of progress

‘Progress’ is one of those words that falls in to the category of ‘hard to define but we all know what it is’.   You may think that you have to innovate to stay cutting edge; but do you?  Sure, we have to be aware of where our market is going, and risks to our future revenue streams.  But innovating to stay on the bleeding edge of technical and social change is likely to expose you to risk.  Progress for your business or life does not always reflect social or technological ‘progress’.  Innovating purely to keep up with trends is ‘running the Red Queen’s Race’ – you will never finish.

Innovation does not always benefit all stakeholders

Innovation may be great for you, but not great for people whose incomes are affected, whose role is removed and whose job in the organisation is no longer needed.  When you innovate, bear this in mind and don’t automatically expect everyone to be pleased they belong to an innovative organisation.

Failure to innovate can be expensive…as can innovating!

Innovation always costs time and perhaps money, especially if done properly.  There is no such thing as free innovation, even if the cost is in terms of the time taken to make sure your innovation won’t break what’s already happening.  It’s easier to keep existing customers than to create new ones.  An innovative approach may scare existing customers away, and not get new replacements.  Be prepared. 

Innovating is not the same as being effective

I see a lot of people in software engineering spending inordinate amounts of time on new processes, new languages and techniques who don’t seem to always be hitting the market with product.  Don’t mistake skilling up with the latest languages and software design techniques as being effective.  It’s only effective if you put the techniques to use.  I have several clients who make a good living, thank you very much, on maintaining and providing applications that are based on 10 year old technology.

Innovation can deliver false confidence

The German Enigma code machine in World War 2 was a highly advanced and innovative piece of kit for the time.  If used correctly it would have been unbreakable.  However, the operators tended to use slightly dodgy procedures in operating it and that gave the British code-breakers at Bletchley Park an ‘in’ to the machine that they were able to exploit and hence read German secret messages.  Even when the Germans did suspect that someone had broken ‘Enigma’ they were so confident in their technologically advanced machine that they thought it impossible.

Enough said.

I’m not saying don’t innovate; that would be ridiculous.  Just think about your innovations and don’t automatically follow the ‘innovate or die’ mantra.  Take time out and read ‘Superiority’ and learn from it.