1. Smart people seek out difficult problems.
2. Difficult problems drive the creation of complex, niche tools, that bear cultural associations with the smart people who made and use them.
3. People who want to be smart seek out complex, niche tools.
1. Technical software problems are more fun than difficult product problems
2. Programmers would rather solve fun problems
3. Programmers end up creating technically elaborate machines to solve simple (buy annoying) product problems
I proposed to build it in Rails (which we already had, but was the "old monolith we're migrating away from") and I almost get crucified.
The more complex products are the only ones that typically have any documentation or up to date learning resources.
You want to learn how to build a thing and this is the only thing that really exists, is up to date, and works.
It may not be the right tool, but for someone new it's impossible to tell what the right tool is and people online are stereotypically obtuse and about anything tool related.
There are abundance of smart people. Wisdom, has and possibly always will be in short supply.
I'm 21 :-)
> I'm 21 :-)
No problem, you'll be young in a few years.
Low: simple good
Mid: optimized good
High: simple good
TL;DR Resume Driven Development
The way most of us would handle authorization in something like rails is a leaky abstraction, especially when we’re usually backing onto postgresql which has very mature roles and permissions.
We built a product in ~5 months with real-time collaboration, extensive interactivity, Oauth, Stripe and Gmail integrations with a standard Ruby on Rails stack.
It's rock-solid, performant, dead-simple and extremely productive to work with.
Why're we throwing away years of learning to build unstable, complex and inaccessible applications?