For digital transformation, learn to care about code (and people)
For my 12th birthday my parents bought me an Acorn Atom microcomputer (yes, I am that old). This meant that I learnt to code at a young age, and acquired a love for computing which has stayed with me throughout my career.
As the world changes, and more and more companies attempt digital transformation, I am ever more grateful to my parents for the gift of my first computer, not just because it led me to a rewarding career, but because it gave me an understanding of the technology that runs more and more of the world. Modern computers are many times more powerful than that first little machine, and I doubt that anybody codes in Atom BASIC any more. Coding projects start with frameworks and libraries rather than a program printed in a magazine, and CI/CD pipelines involve rather more than typing RUN. And yet, code is still code.
When we talk about digital transformation, we sometimes say that it is about people and culture and that it’s not all about technology. That’s true (articles on people and culture coming later) but whisper it is about the technology too. If it wasn’t about the technology, it wouldn’t be digital transformation. And if you commit to transforming your enterprise digitally, you commit to building at least part of it out of code.
If your enterprise is built out of code, you had better learn to care about that code. It is not something that you throw together to get the job done - it is a core differentiating asset, and it is something that you and your customers depend on every day.
Unfortunately, despite spending millions or billions on their code, most enterprises do not behave in a way which shows that they care about their code. If you are a leader and you want to digitally transform your enterprise, I think that you should ask yourself one of two sets of hard questions, depending on your role.
Business leaders: do you know enough about code to care about it?
It is still possible to be a successful business leader without understanding anything about code. For most of history, there was no code to care about. But, if you are going to build part of your enterprise (and often, the part of the enterprise which your customers touch most frequently) out of code, is it really okay for you not to understand anything about how that code works? How will you make good investment choices? How do you know what is possible? Or what is hard and what is easy? Do you feel trapped by your existing systems? What was your role in creating that trap? Could you have avoided that trap if you knew more about how your systems worked?
I don’t believe that all business leaders must become expert developers. But I do believe that it is wise to seek an understanding of the substance their companies are built from. There are many great courses now which provide an introduction to coding for people who have not pursued technical careers before. If you don’t know anything about coding it might be a good idea to take one - and you might enjoy it.
Technology leaders: do you treat your code as if you care about it?
If you work in technology and you started your career in coding, you may have read those last couple of paragraphs with a smile, but I think that you (and me - I count myself amongst this group too) should ask a different set of tough questions.
If you have coded for a living, you know how hard it can be, how easy it can be to go wrong, and how quickly code can become scary, unfamiliar and hard to manage. Have you created an environment in which your developers have the time and space to create good code? Or to refactor their code and make the changes that they know they should make? Have you emphasised quality and readability? You have processes and checks in your code pipeline, but do they optimise for the ability to adapt and maintain code over time, or simply for immediate risk? Do you treated your code like a long-lasting asset? Or do you treat it as a by-product of hitting a deadline?
I think that we know the good answers to these questions and the bad answers to these questions. I certainly know that, if I am honest with myself, I have had several stages in my career where I would have given the bad answers.
I hope that if business leaders acquire a better understanding of code, they will help technology leaders create an environment in which their teams can create code worth caring about. I also believe that, to create an environment where we care about code, we also have to create an environment where we care about people - and possibly even an environment where we can stop talking about business leaders and technology leaders as different groups.