>Given a long enough time horizon, you'll deeply regret building on Serverless Functions
What is the regret about? I've been almost exclusively using AWS Lambda (not using the "Serverless" framework), since 1 month after AWS released Lambda in Nov 2014. I've built quite a lot on top of AWS Lambda, and I love it. It just works. It's not difficult to work with, and I don't really have to worry about scaling it. Is 10 years not enough of a "time horizon" to regret it?
These particularly stood out to me:
Frontend development is a nightmare world of Kafkaesque awfulness I no longer enjoy
ORMs are the devil in all languages and all implementations. Just write the damn SQL
Monoliths remain pretty good
It's very hard to beat decades of RDBMS research and improvements
Micro-services require justification (they've increasingly just become assumed)
Most projects (even inside of AWS!) don't need to "scale" and are damaged by pretending so
I did agree with the following as well:
Typed languages are essential on teams with mixed experience levels
Java is a great language because it's boring
REPLs are not useful design tools (though, they are useful exploratory tools)
Most programming should be done long before a single line of code is written
Given a long enough time horizon, you'll deeply regret building on Serverless Functions
Types are assertions we make about the world
Most won't care about the craft. Cherish the ones that do, meet the rest where they are
Code coverage has absolutely nothing to do with code quality (in many cases, it's inversely proportional)