How software companies die

Original author: Orson Scott Card
  • Transfer

The conditions that feed creative programmers kill managers and marketers - and vice versa. Programming is a Great Game. It absorbs the player completely, including both soul and body. If you are caught, then you are caught, and nothing else matters. The next time you crawl out of your lair, an extra ten kilograms, a beard to the knees, and so many empty pizza boxes around you may well come around that spring has probably come? But for you all this is not important. Because your program works, and the code is fast and elegant. You won.

You realize that some people consider you a nerd. So what? They are not Players. They never fought with Windows and never built a relationship with Linux. For them, that "C ++", that "b--" sound the same gibberish. Yes, they hardly exist at all. As a soldier or scientist, you do not really expect a fair assessment of your work from the townsfolk. You are building something intricate and beautiful. They will never understand.

Beekeeping


Here is the secret on which any successful software company is based: you need to treat your programmers as beekeepers treat their bees. You should not talk to them, trying to explain something in your language and get an answer in it. But you can only give them the opportunity to create their own hive in your company and do what they love. And when they don’t look, you can collect some honey from their work.

You keep these bees from stinging everyone with money. More money than they can spend. In fact, it may not be as big as it seems. All these programmers hear the voices of their parents or wives repeating something like “And when will you stop staring at this box for days and nights and start doing something worthwhile?” So, all you have to do is pay them enough so that they can answer these people: “Hey, wait a second! I get more than you - what other questions? ” On average, this amount is not so great.

And you can make them stay in your hive, providing the opportunity to equip it according to their wishes and find yourself with whom to swarm. The only one whose opinion matters is another programmer. The opinion of a good programmer rises to the rank of canon. And if you want to have a good swarm - there must be at least one brilliant programmer in it. It does not matter what he will work on and how he will look, but he should be, his eyes should burn, his keyboard red-hot to hiss hiss, and his charisma should overwhelm everyone around.

He is a player, young programmers think. He will look at my code. It's enough. If the company builds such a hive in itself, the coders will stop sleeping, eat and generally get out into reality, while the company will collect honey a couple of times a season.

No control


And here is the problem that continues to kill company after company. All successful companies have a Technical Leader who inspires programmers. But not one of them can keep such a Leader forever. He will either be lured, or drawn into an unstoppable bureaucracy, or he will become a manager, or the leadership will require "better process control" or something else will happen. One way or another, the Technical Leader will lose, and the Manager will come to power instead.

But ... to power over what? Instead of working and ready to release a product, this same Manager will find in his subordination a bunch of extremely unpredictable, asocial, naughty people who violently resist all attempts to lead them. And where did the former close-knit team that produced such a wonderful product go? Give them a tight schedule, a dress code and a warden with a stick - and now you got a group of people who sabotage the project. They hate you, they laugh at you and you know that.

Ruin


For a programmer from such a team, the shock is even greater. He suddenly discovers that his life is controlled by some alien creatures with strange names: Meeting, Report, Time Tracking. And now someone is demanding that he plan all his work in advance and stick to this plan. No branches, tweaks, ideas. Just a clockwork on the wall. And never touch someone else's code. The work that once inspired becomes a collar around the neck.

The hive is crumbling. The most freedom-loving and talented bees fly away somewhere to build their own new one. Managers and marketers, surrounded by mediocrity and toadies, get a sense of control that accompanies them all the next few years - while their product loses users, is filled with bugs and finally dies (to which, of course, they find some seemingly weighty explanation in the spirit “It was a foregone conclusion by the market”).

That's how software companies die.

Also popular now: