Why programmers need grownups to run things for them

The rather inflammatory title of this post is in response to a question I have been asked many times over the years and, indeed, I have asked it myself on many occasions. Why is it so often the case that companies that are either all about IT or heavily dependent on IT are not run by IT people?  Folk in the IT trenches see IT decisions being made or directed by suits who clearly have a limited understanding of IT issues. By many, many measures the suits are less intelligent that the IT workers. In many cases the suits have less industry experience than the IT workers. So what logical reason could there be for the business not being run by IT?

First, it’s worthwhile to note that not all IT workers have the same view of this question. There are some who do in fact want to run the company. I think the sensible majority have no significant interest in management roles. They didn’t start working in IT to become managers, they’d much prefer to stay in the area of work that interests them. But even this group tends to ask the question, “Why don’t I get to make all the decisions about my work?” Why do all these damn business analysts, designers, project managers and goddam USERS get in the way?

Let’s get one unpleasant fact out of the way: most IT people simply aren’t suited to make strategic decisions about the development of IT projects or applications. Good IT people are very good at executing IT applications or developing innovative and useful programs but these are very different skills to the strategic aspects of making a business work as a profitable venture. The fact that many IT people can’t see this is the central problem. How do you solve a problem if you can’t clearly see or articulate what the problem is?

I have lost count of the times that a programmer has coded something that executed perfectly but did not come close to serving the needs of the business. The programmer can’t see the problem because the application “works” and the business has yet another (unfair and inaccurate) story to tell about how useless the IT department is. A couple of anecdotes from my past to illustrate this concept:

One day, someone decided to organise an office pool for a high-value Lotto draw. A conversation developed around whether it was better value to get a lot of standard tickets or one expensive “systems” ticket. I analysed the problem with a typical business analyst approach: what is the problem and how do we measure success? It proved fairly easy to do a cost/benefit analysis – work out the relative probability of winning with each ticket type and compare that to the relative costs.

To win this particular Lotto variant you had to pick all 6 numbers that would be drawn out of 40 numbers in total. A standard ticket let you pick 6 numbers so you had to get all 6 right. The probability of this is 6/40 x 5/39 x 4/38 x 3/37 x 2/36 x 1/35 (if you’re not a maths nerd, this translates as close enough to no fucking chance at all.) The Systems 9 ticket lets you pick 9 numbers which gives a winning probability of 9/40 x 8/39 x 7/38 x 6/37 x 5/36 x 4/35. This is a much higher probability than a standard ticket but it still aint gonna happen. But on strict cost/benefit analysis the System 9 gave you more chances for your money.

This should have ended the discussions but one of the programmers who was a hardcore maths nerd and not very good with people skills got involved. He went into some really complex mathematics that was meant to prove I don’t know what. It was something along the lines of calculating the number of variations in numbers possible. His conclusion was that the standard tickets were better because you could select a wider variation of numbers. The thing is, I’m pretty certain his equation was absolutely right – it simply wasn’t answering the question being asked. And he really didn’t cope well with having this pointed out.

Me: That isn’t relevant to what we are talking about Kim.

Kim: But I just proved… (long technical explanation I didn’t understand at the time and don’t remember now.)

Me: That may well be true but it wasn’t what we were asking.

Kim: But I just proved… (same theorem but stated in a louder voice.)

Me: Kim, saying the exact same thing in a louder voice doesn’t make it suddenly right.

To which Kim responded by repeating the same points over again except this time (you guessed it) louder still.  Kim had maths skills at the post-graduate level and interpersonal skills at the kindergarten level.

Another, shorter anecdote:  On my first day in a new role I was sitting down with a project manager to discuss the project I would be working on.  This was a pure IT company, it even had bona fide Internet millionaires (a rarity in Australia).  This particular PM was a programmer in the early days of the company and a friend of the founder.  He had been promoted to management because he had been there longer than most, not because he had any management skills.  His first line to me was:

“No offence, but I’ve never seen the point of Business Analysts.”

Why is it that when someone starts a sentence with “no offence, but…” the sentence is always going to end with something really offensive?  You may not be surprised to learn that this company burned through many millions of dollars over the next year before being acquired by a service company that replaced the entire management team.  For my part, I worked with the development team over a period of 3 months to take an eCommerce application that had been lingering in limbo for 2 years to a working beta release including all system and user documentation.  That, my friend, is the point of Business Analysts.

So at the end of the day, companies are rarely run by IT people because very few IT people are suited to the job.  Most simply don’t want to do it and most of those who want to aren’t very good at it.  Fortunately, there are signs this is getting better.  The trend towards keeping IT companies small (known as Micro Independent Software Vendors – Micros ISVs) is keeping the development of both the company and the products in the hands of people with a real passion to get quality results.  This would be my ultimate advice to IT people who think they are the grown-ups and are the best ones to run the company.  Don’t waste your time trying to climb to the top of Megacorp.  Get out there and do it yourself – start your own company.

Prove the bastards wrong.

32 Comments

Filed under Work

32 responses to “Why programmers need grownups to run things for them

  1. Jonathan Allen

    I have worked at companies run by programmers and I have worked at companies run by non-programmers. They are both failing. The only difference I saw was how the incompetance was expressed. The owners of both companies had great ideas, and yet both were being run into the ground by senior managers that didn’t have any idea what they were doing.

    What makes some people so much better at running a company than other people? Is it really the training they get in business school, or is it some sort of inate talent?

  2. WebGirlie

    If you think this is bad, try working in the IT of a civil service!! I don’t know how many projects I’ve seen that got driven against the wall, mainly simply because so called “political” decisions are preferred over rational ones. Ever tried to parse a 4 GB XML file in reasonable time?

  3. Jonanthan: That’s an interesting point, an MBA sure as hell doesn’t guarantee anything.

    WebGirlie: I’ve worked on many a government project and seen many a wrong-headed destructive decision made solely because of internal politics – you are absolutely right.

  4. the answer is simple:
    left to our own devices, IT will work for a bit, get something roughly resembling what was asked of us, and then have an office quake deathmatch, or surf the web for the next interesting thing, or go out to lunch (because business people do lunch right?).
    also: we need an interface between us and the clients.
    i don’t care who it is, but i don’t want to talk to the clients.
    they don’t understand our side, and we think they’re too dim to have an expert system bequethed upon them.

  5. I agree with Jonathan. Are IT owners any better/worse than non IT owners? I know successful companies run by IT people. Microsoft for one. Maybe on some percentage scale more IT run companies are worse than non-IT run companies? Anyone have that info? Dilbert exists for a reason and I don’t think most of it is about companies run by IT people.

  6. Don

    The IT industry seems to have acquired a strange status worldwide. Those outside of it, and not directly in touch, are enthralled. It conjures up images of an ubermensch; an inner-circle of inconceivably brilliant individuals performing great magic with their incantations concerning “bits”, “bytes”, and “baud rates”; and of course, they all believe it’s the Royal Road to the acquisition of “big bucks”.

    Then we have those on the inside, the “demi-gods” as perceived by the plebians. Here, the self-image of 90% of them is of an “ubermensch; an inner-circle of inconceivably brilliant individuals performing great magic… blah, blah, blah”. All untrue of course.

    The business is awash with waffle, saturated with a middle-management who, unable cut the mustard at a lower technical level, move upward in an attempt to satisfy their need to constantly listen to their own voices, and to affirm their belief that being a ‘manager’ is an inherent quality, proof of their superiority.

    I’ve been in the sad fucking business for 11 years and I’ve never been impressed with anyone within it, although somse years ago now, the black girl with the humongous tits caught my eye and my heart… but that’s another story.

  7. Don you remind me so much of my oldest son, the Bastard….the big tits thing.

    I don’t believe the specific job matters. It has been my experience that there are incompetents in all walks of life. The smarter they THINK they are, the louder they have to prove that they are NOT.

  8. zenstar: nicely put

    gman: I think it depends on the person, an IT or non-IT background doesn’t by definition make you a success or a failure but big businesses definitely have a prejusice against IT people.

    Don : good points, although the humoungous tits caught me by surprise

    Sandra: I like that view, competence is directly inverse to loudness.

  9. So… should a ship builder actually sail a ship?

    To become a techi, a real techi – and not the hancks that occupy 95% of IT jobs – usually requires giving up parts of life. Hence, those who really have a hand on what’s required to run a business have long since missed the boat.

    There’s is one techi guy out there, though, that did a good job at running a company. His initials are BG.

    Nice article btw.

    -tgs-

  10. Don

    Mr Angry,

    Sorry about the ‘tit’s. It was gratuitous. But that’s me.

  11. worstwriter: you’re right on the mega scale – not many techie business leaders apart from BG. What about Hewlett and Packard – they were old school hackers weren’t they? I’ll have to look it up. And I’m glad you liked the article

    Don: gratuitous tits are my favourite kind.

  12. WOW! I agree and disagree with you. If you are in IT and want to move on to management, I think you should gain some management education. Having moved in to management from IT I have realized I depend more on my people skills and a lot less on my IT skills.

    One more thing, I absolutely believe that promoting the best techie in a company to a PM role is a loss for both the techie and the company. the company loses two people, the techie and the PM.

  13. Pingback: Technological Winter » Blog Archives » Why software developers don’t run companies?

  14. Starting your own company is the way to go if you want to work for yourself and succeed. Most IT workers make a lot more money this way and enjoy being their own boss.

  15. Peter Crabtree

    “He went into some really complex mathematics that was meant to prove I don’t know what. It was something along the lines of calculating the number of variations in numbers possible. His conclusion was that the standard tickets were better because you could select a wider variation of numbers. The thing is, I’m pretty certain his equation was absolutely right – it simply wasn’t answering the question being asked.”

    … it sounds to me like it was *your* interpersonal skills which were lacking there.

    And frankly, I think your basic point is stupid. Yes, it takes a certain something (skillset, talent, whatever) to be a competent manager. Being a programmer is not one of them. It’s orthogonal. It’s not that most programmers are bad managers, it’s that most people are bad managers, and being a programmer does not somehow catapult you into the sphere of “good manager”, and more than the opposite is true.

    Or perhaps that’s what you were saying?

  16. I’d have to agree with Peter, if someone PROVES you wrong, and you say “It doesn’t matter!”, that is stupid.

    You “proved” things one way, which you determined was pertinent to the discussion, but when a conflicting voice came up about the SAME topic, you downplayed it.

  17. Sampath: I was actually intending a follow up post to discuss the right way for an IT person to develop management skills. You put this quite well.

    Range: I agree – a person with the skills to run things is better off controlling their own destiny

    Peter: You think my interpersonal skills are lacking and follow it up by calling me stupid🙂 I think I see what’s happening here. I think you worked your way to the point I was trying to make in the end.

    com2kid: maybe I didn’t make the point clearly enough, he didn’t prove me wrong, he completely misapplied (probably) correct mathematics. His response was wrong because it had no relevance to the issue we were trying to discuss but he wouldn’t let it go – because his maths was *right* dammit!

  18. Great article Mr. Angry. I would also add that many IT folks are jaded with management because they have rarely seen it done right. Early in my career I was lucky enough to have some great managers and it totally changed my perspective on the subject since I came to see the variability in the field. When you are given the support you need and shielded from the politics of a workplace it can make you much more productive; it’s just a shame that more developers don’t have that.

  19. Cy

    The same stuff comes from astro-physicists and their maths. When the convention turns and big bang is no longer accepted by the majority, they will not say “we realised it was not consistant with actual observations or common sense” they will say “we got the maths slightly wrong”. They invented the maths to try and prove the pet theory. It always was irrelevant. I say again, if you have 8 apples and eat 2 then you can report this in maths as 8 – 2 = 6 but if you write 6 – 8 = (-2) you are neither reporting reality nor proving that minus-apples exist. You are doodling mentally to no good point. cyquick.wordpress.com

  20. Jerwyn

    good article.

  21. Hi Angry. I agree with you. I’ve seen some of the business end of the I.T. business. Some years ago I heard a programmer say, “We don’t need the executives. They just get in the way,” and, “This business would be run a lot better without them.” I disagreed with him. He thought the executives didn’t work hard and just got to their position by having the right connections. Yeah, it takes social skills to conduct business. What of it? It’s not a minor skill as many techies can attest, though they’ll downplay it often, except when it comes to their personal life… This isn’t to say that the executives were running the business well. Even if they were to disappear, things might run just fine for a while, but eventually the cracks would start showing. People would start realizing, “Uh, dude. We need more clients…”. I can just imagine the response, “Yeah. How do we get those?”

    I’ve heard plenty of techies on the net trumpet the virtues of being “standards based”, or using “open source”, because you get “choice”. It kinda sounded like that’s what you were running into as well. Someone touting “choice” when you were wondering about feasibility and chances for success with that platform. And you probably figured that it was highly unlikely that your business would use “option 22” (out of 40) in the proposed mix of systems, even though you had 5 choices for “option 22”, going with the “standard tickets”. Just a guess.

  22. Mike: thanks. I agree about the lack of quality management generally.

    Cy: good illustration of the point, thanks for that

    Jerwyn: glad you liked it

    PIB: I think you’re right, too many IT people don’t understand what is important to a business and it’s easy to see the bad facets of management (because there’s so much damn bad management). I’m intending on a follow up dealing with how interested IT people can develop management skills.

  23. IT Drop out

    I left “IT” almost a year ago and have not worked for 10 months.
    Meanwhile my computers got really old and slow, whatever needs to be accomplished drags.
    Right now, for me IT means “surfing and checking email” so I almost feel like a manager.
    It’s good to have a break once every three, four years. Letting the disks spin, stepping out of the circuits, dropping all calls for a while.
    Throwing away the key: no. And I will come back soon.
    But it aint freedom. Neither it is without.
    IT is the breath of current and future technology.
    Management is the crazy captains trying to free the nostrils of dirt. Like: on sale, uh.

  24. Good management does not just involve good social skills though. I have had managers w ho are very sociable, and who also had good technical skills, but who still were not good at managing people!

    The thing is, techies (*raises hand*) know that socializing is overhead that is rather annoying and takes time. When a programmer is in the zone (a mental state of intense concentration) their productivity goes up by hundreds of percentage points. If a programmer is in such state and needs some resources, and is then told “Oh I’m sorry, for political reasons we haven’t acquired said resources yet, but don’t worry in another few weeks the bootlicking should be done and said resources will have been acquired”, you are going to have one very pissed off and unproductive programmer.

    At which point you are now throwing away $40-$60 an hour. Congrats.

    The thing is, a good programmer, heck, a good employee, is not thinking “oh well I am getting paid anyway”, instead they are thinking “This is $40 an hour the company is throwing down the tube, I am not getting any work done, not helping the company, thus this social stupidity that is occurring is costing the company a good chunk of money.”

    The day your employees become apathetic to political blockages existing is the day your employees don’t care about if the company succeeds or not! So yes, damnit, we the technical bunch will CONTINUE to complain about the stupidity of meaningless social circle jerks, because we care about the money that gets thrown away to support such activities!

  25. Devilin,
    If your manager isstanding around gossiping about which senior exec is taking early afternoons to help their secretary with her golf swing, that is overhead.

    Talking about what was on TV last night is arguably still overhead, though most people would argue that a little bonding and searching for common ground is a useful lubricant for the process of talking to people.

    Talking to users about why they attended the same meetings as the programmer, both sides agreed the minutes from the meeting that were used to define a spec that was then cross checked by all parties before coding started, and yet the product that was developed based on this doesn’t meet their needs is absolutely not overhead.

    What you dismiss as “political reasons” can cover a lot of things which might be important or might not. For example, maybe the business has major cashflow issues which prevents them from making a capital expenditure at what would be the right time for you and your project. Is that ‘overhead’?

  26. dropout: I’m all for sabbaticals, taking work too seriously can damage your health

    Devlin: I get what you’re saying, not the point of my post but points worth making. You are absolutely right that it’s damaging to the company to waste programmer’s time.

    Robert: Good response, a bit of depth there I think Devlin hadn’t considered. Although it sounds like the poor bloke’s been stuck in places with far too much overhead.

  27. really nice post about something i have no idea: IT, but I completely understood that there are certain people made to lead and others to work and if the work is done in a good team everybody will finish their working day happy.

  28. Very nice, Mr. Angry Aussie. I totally agree. In fact, I knew you were gonna suggest leaving to form a company before I reached the last sentence. Instead of complaining, they should just get off their buttocks and do something!🙂

  29. If I were a man I would say that reading this totally gave me a “boner”. I am not, however a man but I love what you’ve written. SO FUCKING TRUE IT IS!

    Been there, done that. It’s all about CONTROL. Control over code, control over programs, too bad people cannot be coded right? In a perfect programming world, this would totally happen.

    It takes great talent in order to marry good IT folks to good leaders. Excellent topic.

  30. issis: you’re right, the goals translate no matter what the workplace

    Rico: yeah, I’m gonna do the whole “take control” thing soon

    piglet: thanks! I wasn’t intending to induce boners in anyone but I find myself strangely aroused by your analogy

  31. Moses Knowsgod

    Programming is monotonous in most instances. It may start fun, but you eventually see that you’re writing the same thing day in and day out. And then they want a change, and it’s not a simple (or interesting) change. Or they want a report that they won’t use. And they have to have it tomorrow, even though you have a giant stack of boring, tedious programming to do. Programmers are usually smart, creative people, and they are thrust into a monotonous, mind-number job. If you want to know why programmers are often introverted and angry, see above. I live in my brain all day long. When I see people, I avoid interacting with them because, 1) I’m not used to getting outside my IT cave/brain, and 2) They usually don’t have anything interesting to say, and they often just want to increase my work load. Why do I want to talk to someone that will make my monotonous day more monotonous? Actually, I have great people skills, and I’m very good at finance and business. BUT I live in the coal mine all day, and that tends to make you a cranky hermit. I make good money, and I don’t see my life being easier outside my job, but I am SERIOUSLY considering quitting just to get the H_ELL away from this job. Honestly, I can handle the programming. It’s the lack of respect and amoral suits that drive me away. They have no respect for a reasonable timeline, they make arbitrary changes, and they look at me as a means to an end. The only respect I get is because I have them by the b_alls, since I’m the only that knows how to write certain code. But they still manage to step on me repeatedly. I will get out of this coal mine soon. I don’t know if I can take any more of this BS.

  32. Pingback: Why software developers don’t run companies? | TechWinter

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s