The infinite monkey theorem states (more or less) that enough monkeys at enough typewriters will eventually write Shakespeare. Ridiculous, right?

Believe it or not, a lot of technology business owners fall into this same trap when it comes to hiring. Just throw money at a problem, right? If you have a complex problem to solve with technology, just hire a bunch of people to do it cheaply. Or so the thinking goes. Perhaps there was a time when this was a somewhat suitable strategy for staying in front of your competition and delivering value to our customers. But it won't work anymore.

We've been encouraged to found companies on the idea that a certain new tech will be 'cool' or 'amazing', without thoroughly thinking through what problem we're solving or what value we offer to people. What ends up happening is that we scramble to design an over complicated product, based on what we think it should do, without actually asking anyone. Why? Because we know what it should do and what it should look like and how it should work!

So we hire code monkeys. We hire as many as we can for as cheaply as possible, assuming that we can tell them exactly what to build, and how to build it.

This fails, almost every time, because we just throw them a slew of specific features and designs that they MUST build by a certain date. We don't focus on a single problem that we're trying to solve simply, we instead try to capture all of it at once, and don't think about what happens if people don't want it.

You need to think of a simple problem and solve it quickly, but in order to do that, you need developers, not code monkeys.

The modern developer is part architect, part artist, part engineer, and part product manager. You have to trust your team to make decisions about how to build things. Hire the best developers you can find, keep the team small with a mix of senior and junior developer, and trust them to do a good job, because they will.

Give them a problem to solve, and watch as they self organize and organically bubble up a product in small iterative steps, getting your business to where it needs to be in a month, rather than a year.

Respect their decisions and trust that they know what they are doing. These people will have good taste, and know how to build things so they can scale, change, be added to, or updated quickly. Members of the team who aren't delivering will stick out early on, knowledge gaps will fill in quickly, code will be clean and mostly defect-free, and most importantly, your customers will be happy.

Sounds too good to be true? Try it. I learned the hard way how not to run a company. Once I embraced the agile methodology, and learned to explicitly trust the development team, I was able to run an almost infinitely better organization with a great deal more success.







