3 ms·
This describes a lot of my reasoning for why I left Rails for a more frontend/JavaScript focus. I don't think it's necessarily a problem specific to Rails. It
by ravenstine 4y ago
This describes a lot of my reasoning for why I left Rails for a more frontend/JavaScript focus.
I don't think it's necessarily a problem specific to Rails. It's an issue that the Ruby community that they may never see as a true problem. To their credit, having a system that sucks developers into making simple apps that grow into monstrocities seems to have created a ton of job security for Rails developers. In terms of developer happiness, I really beg to differ once any given Rails application is more than a year old.
Rubyists love object orientation and metaprogramming, which I personally see as massive mistakes outside of some niches. Ruby applications in 2023 still have long chains of inheritance, and still employ lots of metaprogramming, and still use tons of syntactic sugar, and still think along the lines of classes rather than methods/functions, and still allow for side-effects on mutable objects. I've found that at least 80% of issues typical to Rails codebases are related to those styles of software development. Most of those are unnecessary for writing most apps using Rails.
> So they hire "senior rails" devs and throw them at the problem (after all, the initial setup speed of Rauls allowed them to be successful and have money now).
That's the true black-pill of senior-level software engineering. Chances are, as a senior engineer, your job is to figure out the mess rather than make sure anything was done appropriately in the first place. In retrospect, I enjoyed my job as a junior and even mid-level engineer more than being a senior engineer because I often got to work on new and interesting problems while senior engineers had to toil over figuring out some incredibly complicated and boring shit created by the previous engineering regime, as well as by the junior engineers as a whole. Because the business will always be pushing for more features and more deadlines, this problem never gets fixed, hence being a senior engineer becomes little more than an exercise in Sisyphean futility. And the pay is just enough that you don't go fishing instead.
I'm just glad I only spent around 3 months as a senior Ruby engineer before switching to JavaScript, despite all of JavaScript's faults.