CIOs need many skills but coding is not one of them

closeup of code on screenHarvard Business Review (HBR) recently published an article with the title “Leading a digital transformation? Learn to code”, in which it was argued that leaders needed to have first-hand knowledge of the tasks, skills and activities within their functions in order to have risen to the top position. It also made the point that when something new or disruptive (and hence something of which they had little or no experience) arrived then those leaders were by definition at a disadvantage and were likely to be slow to react and could make serious mistakes.

According to HBR the answer to this alleged problem can be found in the example of a CIO that had learnt to code in order to better understand the potential of smartphones, apps and digital business. It is worth pointing out that this is not a CIO of a small business with limited resources and who therefore may be required to be more ‘hands-on’ than technology leaders at larger organisations. This is a vice president of technology at a leading Asian bank that has more than $300 billion of assets and a market capitalisation of $35 billion.

Explaining his decision to learn to code, the CIO in question said “I was struggling to understand at a deep level what was happening inside the phone, which made it hard to function as a leader of technology.” And by learning to code this CIO says that he is now “better able to provide guidance for the digital bank at a very technical level because I really understand what is going on.”

The view that executives cannot be effective unless they have first hand experience of every area they lead and the rationale given by the CIO to support this theory is simply wrong. The days of the CIO being the most knowledgeable technologist in their organisation with time served working their way up through the IT department building up detailed technical knowledge are long gone. It is not the CIO’s role to provide guidance “at a very technical level.” And CIOs – or any member of the C-suite for that matter – do not need to know how to code in order to understand the potential of technology in the digital age.

The inference that technology leaders cannot perform their job properly in a digital business without a deep understanding of how, for example, a smartphone works is flawed. It is a throwback to a different era when the role of IT was very different. Today’s CIO needs to be a business leader that understands what technology is available and how it can be used to create value for the organisation; they need to know what it can do, not how.

Do we expect the same detailed level of understanding from other members of the C-suite? Should the CFO have detailed knowledge of every accounting standard and policy, tax allowances, etc. and be able to use this knowledge to produce a set of accounts by hand from a pile of invoices and receipts? Does a CMO need to have to be able to perform every aspect of a marketing campaign before they can add value to the process? Do we expect operations directors to know how to design and build an office, shop, service centre or distribution network, etc. from first principles before we can trust them to know how to maximise the value from such an asset? The answer of course is no. So why set a different benchmark for the CIO?

Front cover advertThis double standard is damaging to the CIO role; it perpetuates the view that the IT leader is a techie and therefore not someone that can contribute to the wider business issues. Digital is a real opportunity for CIOs to reposition themselves as business leaders within their organisation. In many businesses this will involve changing the perception that the CIO is a highly technical person who cannot add value beyond the day-to-day running of the organisation’s systems. Changing these perceptions will be challenging enough without other CIOs and organisations such as HBR actively promoting the out-of-date view that deep technical knowledge is a prerequisite for the job.

CIOs are busy people with many demands on their time. For those that are fortunate enough to be able to free-up time (whether at work or at home) to learn a new skill then I can think of plenty of other areas that would be far more useful than learning how to code. Managing a P&L, winning and retaining customers, sales and marketing, communication, networking, influencing, collaboration, innovation and many more, would all come above coding on the list of new skills CIOs should learn if they want to be an affective leader in a digital business.

And a word of advice for any CIO that is interested in the technical detail of how smartphones, apps, etc work: this knowledge is not required for your role in the digital age. It is a personal interest only and should not cloud or influence how you perform your job or how you communicate with the rest of the business. It is possible to be a CIO in the digital age and be a techie at heart but only if that technical detail is left at home as would any other pastime or hobby. You are a business leader that needs be focused on knowing what technology is available, what it can do and, more importantly, how it can be used to create value for the organisation.

If you are a CIO that wants to reposition your role or if you want to create an IT function that can meet the needs of a digital business then please contact me or visit my website,


  1. Shame on HBR for espousing such a silly notion! I’ve been a CIO for 30 years and learned to code (in Assembler on an IBM mainframe running MFT) whilst in high school. Assembler coding teaches one the details of a particular hardware design, which is handy. But what really helped me understand the design and uses of information technology–in the abstract, across all generations and architectures–was the degree I earned in Computer Science. Not ‘business technology,’ not ‘programming’–the algorithms, the abstract architectures, the language theory and formal logic and queuing theory and turing machines and encryption math and graphics math, etc.
    I remember “goto statement considered harmful,” and “formal languages and their relation to automata,” and Denning on “locality of reference,” and Knuth on algorithms. I wrote a lot of code to earn my degree, but except for a ‘survey of languages’ class was never taught the ‘mere technical skill’ of coding.

    30 years later I am immersed in cloud computing, casually-connected mobile devices, Bitcoin blockchains, Hadoop data lakes, hyperconverged architectures and Devops, ‘augmented intelligence,’ and many other disruptive technologies. You know what? My education in the fundamentals helps me make sense of them so much better than a class in FORTRAN IV coding would have.

    You asked whether other functional executives should be versed in the minutae of their teams’ day-to-day work. Not any longer, but yes they should have once upon a time had the education and experience to be able to reason about issues in their domain. Here’s the difference between IT and, say, finance: very few CFOs lack deep accounting/finance experience, but it’s seen as OK to hire a lawyer or accountant or marketing exec as CIO. The argument is such an exec can ‘run IT like a business.’ The real answer is to recognize that a CIO needs the same level of technical experience as the CFO and GC, combined with general business education and experience.

    IT is too important today to be left to mere ‘techies,’ but it’s moving too fast to be left to technicaal novices either.

  2. Shame to HBR to be so shortsighted.

  3. A CIO that can’t (or doesn’t want to) code it like a CFO who can’t add, subtract, and multiply. Shame on HBR for being so shortsighted.


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

You are commenting using your 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: