Becoming a tech company
The manager of the IT-department of a large bank is in a meeting with a technology startup. The bank releases updates to their IT systems three times a year, the startup releases code multiple times a day. The IT-manager asks “How can you keep your system secure when you release new code all the time?”. To which the startup responds “How can you keep it secure if you don’t?”
This story illustrates a fundamental difference in mindset between what I call “being a tech company” and a company which simply deploys technology.
Though “tech company” is in fact a bit of a misnomer. All companies solve a business problem, the technology is never a goal in itself. Uber is in the business of providing transportation. AirBnB is in the business of providing accommodation. Yet both are darlings of the tech industry. What is it about these companies that define them alone as “tech companies”, even though traditional taxi and hotel businesses surely also deploy a lot of technology in their operations?
In the digital world, the material you work with has very different properties than in the physical world:
Software is malleable
Software is, to a point, malleable. Think of it as paint on a canvas. You can constantly shape and improve the painting by adding new colors and layers. Small mistakes are easily corrected. Building with software is a process of constant iteration rather than upfront specification.
Delivered over the internet, software is instantly updateable
With a service delivered over the internet, the customer downloads the latest version of the product every single time she uses it. Changes are immediate and practically free to deploy.
Contrast this with a large construction project, where the cost of mistakes can be astronomical. An organization running such a project will have strong processes in place to minimize the likelihood of mistakes occurring. But a tech company is built around the premise that the cost of a mistake is potentially zero.
Everything about how a tech company works is oriented towards:
1) Minimizing the cost of mistakes
To an outside observer, the tech attitude to making mistakes can seem flippant. Facebook’s mantra is “Move fast and break things”. However, that same tech company might also seem irrationally obsessed with the time it takes to deploy new code. And these two observations are connected. If the time to discover and correct a mistake is short, the consequences are small.
The aim is not to make mistakes, but to discard with all the work required to avoid them.
In many companies, a significant amount of manager time is focused on making sure employees do not make mistakes. And even more time is spent by employees in preparing and waiting for manager approval. An organization which can eliminate the need for all that work will move much faster than one which can not.
2) Maximizing the learning from mistakes
Innovation is a process of iteration. In a world of physical products, each iteration may take months to develop and more months to make it into the hands of customers. Product cycles are measured in years.
In a digital world, because software is malleable and instantly updateable, iterations can be measured in hours or days. In fact, most tech companies will have multiple versions of the service in production at the same time, in order to test as many hypothesis as possible.
The aim is not to make mistakes, but to learn.
This whirlwind feedback loop enables iteration and innovation at a pace impossible in the physical world. A tech company is a learning machine.
“Software is eating the world”, stated Marc Andreessen (of a16z and Netscape fame) back in 2011. This stands even more true today. Connected smartphones are making their way into all the pockets of the world, enabling new businesses like Uber, AirBnB and many others.
The most powerful aspect of software technology is the product development process it enables. Consequently, if you deploy the technology without changing your development processes, you are missing out on most of the benefit.
Industry by industry, established companies are experiencing competition from tech companies which leverage the full benefit to their advantage.
If you manage a business going through digital transformation, it is easy to understand that you have to attract and hire more software developers. Less obvious is the fact that you have to change everything about how you work. All you know about how work “should” be done could now be wrong.
Start by looking at your project-management processes. What purpose do they fulfill in a world where the cost of a mistake is near zero?
Look at your decision-making processes. In a world where learning happens so fast that keeping track of it all is impossible for any team larger than a dozen or so people, which of your processes result only in taking decisions away from the employees who know best and moving them to managers who don’t?
Every management advice you ever heard about empowering employees counts triple in a tech company. And as a consequence, tech companies are often great places to be an employee.
If you manage a business going through digital transformation, focus on becoming a tech company, and the technologists will come to you.