DEV Community

Discussion on: I’m Ben and I am a Rails developer

jdickey profile image
Jeff Dickey

Crowd: Hi, Ben!

(Sounds like a 12-step program — very different than a 12 Factor app.)

Seriously, though...we were gung-ho on Rails for about five years, up until 4.0 was new and shiny, and then we spent the next three years writing fun, readable, effective Rails-free Ruby with a ton less overtime and stress.

Why? As Nick Sutterer put it in his book Trailblazer: A New Architecture for Rails:

For every Rails project, there is exactly two outcomes. Either someone in the team’s an experienced architect and leads the software to an advanced design with service layer, view components, maybe forms, and so on. Or, and that’s the classic way, the project strictly follows the Rails Way and will end up as a code disaster.

Explaining why a conventional Rails architecture fails is simple: There is no architecture.

Fortunately, there are other choices. We now prefer Ruby development with the Hanami framework, which will be Very Helpful if you, as I was, had been looking in at the shops kicking butt with Clean Architecture and related concepts, then looked back at Rails' ActiveModel::Base class and its hundreds of methods, thinking "how on earth am I going to understand that?" The answer: you're not. Deal, and adapt, or continue to throw yourself up against the serrated reinforced-concrete wall that you're beating yourself against now.

Rails can be used to write great software; there are dozens of large-scale, successful apps that prove that point; several of which are produced by companies that I'd dearly love to work for. But, as Sutterer said in the quote above, it is possible. But do you really want to bet any money that you'd terribly mind losing on those odds?