Don't get me wrong, Ruby on Rails is a really impressive framework that serves a wide variety of purposes, especially due to all the set-up it provides right out of the box. However, one of the biggest hurdles I faced as a self-taught newbie was learning the "Rails Way" of doing things. I became overly critical of my code base feeling that I was somehow violating all the fundamental rules of Rails. The freedom that should come from using an opinionated framework was lost on me as someone newly arrived to the programming world.
Working within a MERN stack, however, was and is really exciting for me at this point. I'm constantly trying new things out, completely breaking my app, and then attempting to figure out what went wrong as I fix it. I know the solutions I reach are not perfect, but I feel that they are still acceptable.
I think about how my daughter colors in pictures. As a toddler, her goal is to get the crayon on the paper, with the expectation of casualties to the floor or table. The concept of staying within the opinionated lines on a page is lost on her.
Likewise, as a new coder, my goal most days is to get code into an editor and see something appear on the screen, with the occasional pretzel crumb casualty in the keyboard. Non-opinionated frameworks, like Express, help me to scratch this itch as I still learn what all the lines in good programming are. And, like most of us as we learned to color in pictures, we realized and appreciated the lines on the page for what they were and how those opinionated outlines could help us create some pretty cool art projects for the fridge.
So, both newbies and veterans alike, what has been your experience if you've worked with both opinionated and non-opinionated frameworks? What can new learners take away from each of these systems?