Bad Management Kills Your Favourite Tech Company or How Software Companies Die
Reflections on building great software and what happens when geeks and suits collide in a battle for innovation?
Get ready to blast back to 1995!
While today's world is dominated by cutting-edge AI and other advanced technologies, I thought it would be fascinating to revisit a nearly 30-year-old article by Orson Scott Card – “How Software Companies Die”. Originally published in Windows Sources Magazine, his essay raised multiple topics that remain surprisingly relevant even today.
Sure, it's not groundbreaking news, but these concepts continue to spark conversations in the tech world. Let's take a trip down memory lane and see how this piece from the past might still inform our understanding of technology today.
Reflections on Building Great Software Company
Now, even if you've never worked at a tech company, you've probably heard tales of the legendary clashes between coders and the business side of things. This article delves right into that friction. The below post by Orson Scott Card, titled "How Software Companies Die," has ignited many conversations over the internet that, in my opinion, continue to be relevant today (at least to some extent).
It paints a picture where passionate programmers thrive in a sort of chaotic creative hive. But, inevitably, the day comes when those focused on marketing and management swoop in, and in his view, that's where things start to fall apart. The thing is, I've seen this tension play out firsthand, and so have many others can confirm that it is a common reality for many.
When a software company loses its innovative edge or fails to keep up with market demands – it’s the symptom, not the disease. Leadership changes are often a desperate attempt to steer the ship in a new direction, albeit sometimes too late.
As companies scale, there's an inevitable shift in culture. The entrepreneurial spirit of the garage start-up days often gives way to corporate governance, where profit margins and shareholder interests can overshadow product innovation and user satisfaction.
It's easy to roll our eyes at the stereotypes of the basement-dwelling coder vs. the slick suit-wearing sales guy. Yet, there's a fundamental truth: to make great software that not only works but also connects with users, these different worlds have to find common ground.
So how do we build a great software development company? Here's what got me thinking:
The fundamental conflict lies between the creative, typically introverted mindset of programmers and the structured, extroverted approach of business – companies that thrive are the ones that find a way to bridge this gap.
While deep-seated passion motivates the best programmers, companies should realise that offering highly competitive salaries is not just about recognising market value. It's about eliminating financial worries as distractions, allowing developers to completely immerse themselves in their creative tasks.
You can take Apple or any other big company that managed to survive through structural changes as an example. Steve Jobs, for all his complexities, possessed a rare ability to understand and motivate technical minds while also having a relentless vision for products that people wanted. This can be a good example of a role model.
There's an assumption that programmers are the ones who need to learn social skills. But what about the folks on the business side? Understanding the complexities of coding, and the mindset of those who do it well, is equally crucial.
A rigid, overly bureaucratic environment is poison to the kind of free-thinking innovation that software thrives on. How do larger companies could maintain that passionate "startup" energy even as they grow?
Management frequently overlooks the fact that brilliant programmers are not simply clocking in and out; they are deeply invested. If you suppress that enthusiasm, they will either become detached or depart, taking the heart of the company with them.
Yet, we don't have all the answers, but it's a conversation worth having. What I can say is that building amazing software isn't just about code, it's about collaboration. It's about understanding what motivates those passionate, talented folks writing the code, and helping them create something that truly resonates with the wider world.
With this understanding in mind, let's take a look below at the original article by Orson Scott Card from 1995, which sheds light on these very themes. Here's an opportunity to see directly how these ideas, initially presented 30 years ago, could hold their relevance in our current tech landscape.
How Software Companies Die
The environment that nurtures creative programmers kills management and marketing types - and vice versa.
Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight.
You won.
You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.
Beekeeping
Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey.
You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their fathers' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Jeez, Dad, I'm making more than you." On average, this is cheap.
And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it.
He's a Player, thinks the junior programmer. He looked at my code. That is enough.
If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.
Out of Control
Here's the problem that ends up killing company after company. All successful software companies had, as their dominant personality, a leader who nurtured programmers. But no company can keep such a leader forever. Either he cashes out, or he brings in management types who end up driving him out, or he changes and becomes a management type himself. One way or another, marketers get control.
But...control of what? Instead of finding assembly lines of productive workers, they quickly discover that their product is produced by utterly unpredictable, uncooperative, disobedient, and worst of all, unattractive people who resist all attempts at management. Put them on a time clock, dress them in suits, and they become sullen and start sabotaging the product. Worst of all, you can sense that they are making fun of you with every word they say.
Smoked Out
The shock is greater for the coder, though. He suddenly finds that alien creatures control his life. Meetings, Schedules, Reports. And now someone demands that he PLAN all his programming and then stick to the plan, never improving, never tweaking, and never, never touching some other team's code. The lousy young programmer who once worshiped him is now his tyrannical boss, a position he got because he played golf with some sphincter in a suit.
The hive has been ruined. The best coders leave. And the marketers, comfortable now because they're surrounded by power neckties and they have things under control, are baffled that each new iteration of their software loses market share as the code bloats and the bugs proliferate. Got to get some better packaging. Yeah, that's it.
Originally from Windows Sources: The Magazine for Windows Experts, March 1995
In conclusion, while Card's essay might frame the conversation in a way that seems simplistic today, the underlying themes continue to be highly relevant:
the tension between innovation and management;
and the importance of maintaining a company culture that supports software development;
The key lesson for leadership in the tech industry is to maintain the innovative drive that founded the company while managing growth effectively, ensuring it does not reach a critical point and become another example of "How Software Companies Die."