Working on side projects is probably the best way to realize that constraints are a great thing in shipping something.
For the past week, my time has pretty much gone from:
Build a web app in go… re-invent a lot of the core basics from rails.
Scrap the project, and give Phoenix a try.
Realize that Phoenix is fast and performant, but also a paradigm shift.
Come back to rails and realize how much of building a bootstrapping a web app is just plumbing.
It’s amazing after all these years, Rails is still such a performant framework for shipping real product.
Sticking with embracing the rails way really makes you go far. Sometimes I wish we’d embrace it more.
The worst thing is strictly doing engineering for engineering sake. No amount of clean code really will make your app better, if you never release it.
For me the best part of rails is the amount of pre-built libraries that make it easy to evolve and embrace change… db migrations + data backfills are blissful.