salman89
Joined 15 years ago
Joined 15 years ago
But yes - its about finding the right balance.
- Startups grow exponentially, if you're playing catchup as you're growing you are focusing on keeping the lights on and hanging on for the ride. Important for a growing company to focus on vision.
- Software that scales in traffic is easier to scale in engineering effort. For example, harder for a 100 engineers to work on a single monolith vs 10 services.
- Service infrastructure cost is high on the list of cash burn. Scalable systems are efficient, allow startups to live longer.
- If the product you are selling directly correlates to computing power, important to make sure you are selling something that can be done profitably. For example, if you are selling video processing as a service, you absolutely need to validate that you can do this at scale in a profitable manner.
I also don't agree with the premise that speed of development and scalable systems are always in contention. After a certain point, scalable systems go hand and hand with your ability to execute quickly.
No disagreements on multiple solutions - definitely a cool approach.
If I recall correctly, Twitter had this problem. The size of their apps + templates bloated to 2MB or so - making that initial page load pretty bad.
I currently do this too - I'll add that it is helpful to use a templating language that will work both server side and client side so you only write your templates once.
What does become a pain is doing routers/controllers both client side and server side - end up writing some code more than once and in different languages. Harder to maintain, especially when changes are made.
I think it is bad practice - users cannot type it out if needed