4 ms·
The limit for your startup's success is more likely to be your ability to acquire and keep users. After that, it might be your engineer's velocity - their abili
by spenczar5 5y ago
The limit for your startup's success is more likely to be your ability to acquire and keep users. After that, it might be your engineer's velocity - their ability to keep up with the pace of change as you learn what your users _actually_ need.
The performance of your backend can be very low on your priority list.
My experience there comes from working at Twitch. The entire video platform's backend was in Python for a long, long time - at least 5 years before some components moved to Go, piece-by-piece. The Python stuck around for over a decade in some fashion.
There are exceptions depending on what your startup does - if your fundamental _product_ depends upon serving millions of concurrent requests quickly on a really frugal budget, you probably already know that.
- silentsea90 5y agoIt isn't just performance that you can throw more instances at perhaps. It is also about dev productivity, readability of code (in spite of writing clean code), not making silly errors that would be caught by static typing easily. Building in Python feels like playing Jenga - easy enough at first but every change after a while is made with a silent prayer and anxiety.
- spenczar5 5y agoRight, that is much more important than performance, as I said as well. But I think that whether your Python will age well or your Go depends more on the team and their level of experience with either tool. Use something reasonable, and pretty familiar, and stick to it. Don’t do dumb stuff like going crazy with metaprogramming, and avoid excessive abstraction - but those are just always the required conditions for keeping your group functioning well. Any language can be abused; abstraction is not really a property of a programming language choice.