A few years ago, my lead develop of the time, told me: “Beware of the coupling that you’re introducing in your models”. My answer was: “Hey, you don’t know what you’re talking about, this is ActiveRecord”.
I was an unexperienced developer fascinated by the innovation that Rails introduced. After all, my technology was able to get rid of all that configurations, and all that boring stuff from the past.
We all have been there. We were recovering from the consequences of the New Economy economy bubble burst. A new wave of technologies was raising: AJAX, Rails, and the Web 2.0. All was exciting, we felt like we’d learned from the past mistakes. We were creating a new way to sell software, we needed to be agile, fast and pragmatic.
All that thinking about the architecture looked like an unnecessary aftermath of the enterprise legacy.
Fast forwarding to today, after years spent on several projects, countless hours staring at a monitor, helping startups, banks, broadcasting and highway companies, non-profit organizations, large and small Open Source projects, I can confess one thing: I was wrong.
Rails has the undeniable credit to have changed the way we do web development. It has lowered the entry level so much, that even people without a background as programmers have been able to create a successful business. But this had a cost: technical debt.
I don’t blame Rails for this, as we shouldn’t blame TDD for writing damaged code. We write it, we generate legacy while writing it. We take merits when it’s good, we’re to blame when it isn’t.
But honestly, I don’t get one thing: why half of the Ruby community is so scared to talk about better code?
I have my own opinions about software, that now are diverging from Rails. I’m creating a web framework to introduce new ideas and rethink architectures. I hope to remove the pain points that have been a problem for my direct experience as a programmer.
And you know what? I might be wrong, but don’t be afraid to talk with me. Don’t you recognize this is diversity too? I don’t claim to be right like the leaders of this community think they are. I don’t think that the ideas that I had ten years ago are still valid, like they do.
The current leaders are behaving like those old politicians who say that global warming is a scam: they get defensive because their world is criticized. They keep saying to not worry about, that the problem doesn’t exist, but it does.
Rails is not dead. Debating about things such as the hexagonal architecture isn’t an assault to the framework, but a way to evolve as a community. If they feel under attack, we have a problem.
Please speak up.