“Nothing should be more important than the happiness of the programmer”: this is the fundamental heresy on which the extraordinary rise of Ruby on Rails is based. At a visual and functional level, this principle can be experienced as a series of technical achievements and a display of aesthetically pleasant features. But it’s intended to be much more than that at its core. It’s meant to be a counterculture, a 180-degree turn in how programming is conceived.
Let’s clarify first what exactly we mean when we say “Ruby on Rails”. While “Ruby” names the programming language in which Ruby on Rails is written, Rails is an open-source web application framework that allows the development of web apps with less code and a minimal configuration, as compared to other frameworks.
Its creator, Danish programmer David Heinemeier Hansson, has explained in a detailed manifesto the doctrine that fueled Ruby on Rails, and how he aimed at creating an effective, motivating, and friendly framework that could at the same time enhance productivity and boost programmers’ enthusiasm and creativity.
The importance Ruby on Rails has come to gain for the dev’s culture is easy to grasp when you simply see the list of popular apps that are based on it: from Airbnb to Twitch, from Hulu to Couchsurfing. It wouldn’t be an exaggeration to say that we are surrounded by Ruby on Rails in our everyday life.
But what is it exactly that has given Ruby on Rails such a prominent position in the programming community? Let’s take a look at only some of the benefits for startups that arise from a doctrine whose central aim was to completely reshape the experience of coding.
Any startup willing to compete in the most attractive and profitable markets needs to face many challenges. But when it comes to developing, increasing programmer’s productivity and reducing costs are the two goals that no one can overlook. The principles of RoR are designed precisely to offer friendly solutions to these types of challenges.
One of the concepts that enable Ruby on Rails to boost productivity is named “convention over configuration”, and it essentially allows for cutting the need to execute routine and repetitive actions. Ready-made modules, along with the simplicity of a concise code, facilitate and speed up devs’ work, with the relieving time-saving and cost-reduction consequences this has. This characteristic is very appealing to innovative web products that must go through a validation process before scaling.
Rather than making things more mechanical and boring for developers, all this is intended to free space for them to involve their own subjectivity in their work. In the doctrine manifesto cited above, Heinemeier Hanson explains that unlike, for example, Python -which tends to promote a single solution to a problem-, Ruby favors a more nuanced approach. It encourages programmers to seek alternatives, and provides them with the appropriate tools to do this. In this sense, he also offers an interesting comparison with Java, which, according to his words, “forcefully protects programmers from themselves”. This idea is based on what he calls the “programming is just a tool” paradigm.
Ruby, on the contrary, is conceived as a cluster of paradigms. From this diversity, Ruby extracts the flexibility necessary to tackle a wide set of different challenges and problems.
Another reason why we consider RoR so helpful for startups is the way it facilitates the creation of great MVPs. When, with limited time and budget, you need to launch a prototype that will allow you to test your product and receive useful feedback from users and potential users, Ruby on Rails offers you a simple, fast, and cost-friendly solution. Its concise, almost self-explanatory code makes it easier for a team of software developers to work collaboratively together while sharing the same codebase.
All these features have granted Ruby on Rails wide respect and even affection within programmers across the world. And as a result, teams working with RoR will find plenty of support from an engaged community along the way. Shared experience from the members of the community allows them to help each other more effectively.
Every day, new integrations and features are made available through libraries called Gems, facilitating the work and contributing with valuable tools for other members.
In a world where companies and people need not only to achieve high levels of competitiveness but to do it as fast and efficiently as possible, Ruby on Rails elegantly integrates the two main elements that allow companies to overcome this challenge: human talent and effective tools. Its emphasis on “optimizing for happiness” to increase programmers’ motivation and satisfaction, renders the experience of programming more intellectually and even aesthetically satisfactory. And with this goal as a cornerstone of the Ruby on Rails doctrine, the results achieved through it are likely to be much more exciting.
Furthermore, Ruby on Rails is a synonym for efficiency and results for software developers looking for optimizing programming processes, startups with adjusted time and budget, and investors seeking to get results as soon as possible. At Eagerworks, we feel closely aligned with Ruby on Rails philosophy. Our working modality is mainly based on the founding principles of this technology, which has established much more than coding frameworks. We invite you to learn more about this by getting to know our values, our working approach, and our story here.
If you feel you are lined up with our working philosophy, don't hesitate to contact us and schedule a discovery call!