Ask HN: Code Generation – Infinite Monkey Theorem or SWE of the Future?
The infinite monkey theorem suggests that a monkey typing randomly on a keyboard for an infinite amount of time will eventually type any given text, including the complete works of William Shakespeare. [1]

The argument is that a monkey’s keystrokes are random and independent, so, if a keyboard has 50 keys, the probability of typing any letter is 1/50. Multiply those probabilities together and you get a 1 in 15,625,000,000 chance of typing "banana.

That’s close to zero, but you’ll notice it’s not zero. So on an infinite time scale, a monkey should eventually come out the other end with any given text, including, say, Hamlet.

I’m the CTO of a startup with three non-technical co-founders, and when my co-founders first started trying to contribute with AI generated code, I have to confess that I was worried. Unlike the monkeys, we don’t have an infinite amount of time to find product-market fit.

But after two months of this AI-assisted approach, I've realized that there's a paradigm shift happening in software development being seriously underestimated.

Our first inclination after getting funding was to hire developers, but an advisor challenged us to try and just “become a technical team” given all the latest AI tools.

I think that single piece of advice changed the trajectory of our company. Our product is now further along than we’d planned, both in terms of features and in paying users, without spending anything on new hires. (Here’s a quick demo of what we’re building, basically a better Strava for athletes that do both strength and cardio: https://www.hybrd.app/)

I’m curious what other folks on HN think about this so I thought I’d share my observations here.

1/ Learning to code has never been more high leverage

Counterintuitively, I believe that the proliferation of AI code generation tools makes learning to code more important, not less. Our working model has basically been that I handle the architecture, design patterns, and the tough technical challenges. My co-founders focus on the simpler tickets. When they get stuck, I unblock them.

2/ Garbage in, garbage out

The foundations of your code base are critical and worth spending time on. If your code is poor, Cursor’s future output is likely to be poor. You can easily end up in a negative feedback loop of garbage in, garbage out.

You can combat this by adding in some light quality control mechanisms. For example, I require my co-founders to add screenshots and logs from their changes to their PRs. Also, Claude makes it easy to enforce a “reasonable” amount of unit tests, which have genuinely caught bugs.

3/ Quick thought experiment

What does this mean for the future? I think engineering teams will slim down. We’ve already postponed our first technical hire.

Instagram was famously sold to Facebook for $1 billion with only 13 employees. I hope we can all agree that the number of employees needed to get to that point today would be at least marginally lower with code generation.

If this trajectory continues, there should be a proliferation of 5-person, billion-dollar companies. And from there, why not a 1-person, trillion-dollar company, like Packy mentioned in Not Boring? [2]

By the way, just to settle the monkey business - researchers at the University of Plymouth did actually spend £2,000 [3] on setting up some “Sulawesi crested macaques” (a.k.a monkeys) with a computer. They ended the experiment after about a month, in which the monkeys typed about five pages of mostly the letter “s”. Unfortunately, the lead monkey eventually started smashing the keyboard with a rock, and other monkeys followed by urinating and defecating on the machine.

Here’s to hoping we do better. Curious what you think.

[1] https://en.wikipedia.org/wiki/Infinite_monkey_theorem
[2] https://www.notboring.co/p/power-to-the-person
[3] http://news.bbc.co.uk/2/hi/3013959.stm