Development Velocity
A common issue I think all tech companies have is developer velocity. Hundreds of startups have found themselves wondering why they aren't moving as fast now with 10x more developers as they did when it was just one or two.
You see this in hackathons, incubators like YC etc. Companies seem to go from nothing to product in little more than a weekend, but now it takes 2 weeks to add a button to the homepage.
This is when we try a bunch of things: more management / PMs / sprints / scrum / micro-services etc. are we’re always trying to chase that initial high, but never attaining it.
There are 2 questions I have for myself here:
Why does this happen? Shipping velocity seems to slow down even as we add more engineers.
Can we even get back to those early days fast shipping velocity?
When I ask people this, they always jump to the obvious(but not satisfying to me) answer that there is extra complexity: things break more often, we have code reviews, documentation, tests take longer, bugs creep up, and code has to be written with scalability in mind. Zuckerberg created facebook over a weekend in his dorm, but now there's a whole team of 10 (probably) working on just optimizing email delivery or something.
Is it possible to have a large company and at the same time ship large meaningful features over a weekend? I don't think this has ever been done. The amazon 2 pizza-team concept seems like the closest thing to it so far, and seems to have worked really well for them. Bunch of microservices, but it also works really well with their product - AWS (it's a bunch of unrelated services they sell under one banner. The S3 team can be independent to the RDS team and never talk to each other)
Maybe startup success depends on how long you can keep up the product velocity before inevitably falling down this path. I’m especially interested in the Twitter + Elon experiment right now to see if he can actually make this work - cut 90% of engineers and ship faster. Some of twitter seems excited about this and doesn’t think this is a crazy idea (which I think means that a lot of software devs / entrepreneurs share my intuition that this is not inevitable)