How to hire a great Ruby on Rails developer is the primary concern for those who want to build applications in this popular framework. From mastering hard skills such as writing clean code or object-oriented programming to knowing the most popular tools such as Git, RSpec and their text editor of choice inside out.
The list doesn’t end here. When thinking about taking on new team members, you still need to consider their soft skills and attitude. The real experts invest as much time in developing their soft skills as in being up to date with the relevant new tech trends. Check their communication and problem-solving techniques and observe how they behave in the meantime: are they open-minded, creative, and curious or rather shy away from being exposed to new experiences?
Becoming a great Ruby on Rails developer is not easy, but finding a good one to work with is even harder. That’s why we asked our most experienced programmers to define the top skills, qualities, and tools of the experts, as well as the traits of the poor ones. Based on this information, we’ve put together a guide for you whether you want to hire a RoR developer or seek to advance in your career, we’ve got the answer.
All of our interviewees agreed that the hard skills of good programmers are as important as the soft ones. Long gone are the days when IT was the dreary department hidden in the basement of a corporate building. Today, computer code is the heart of every modern business, and the domain experts need to adapt to their growing role.
The hard skill number one is easy to guess. Every Ruby on Rails developer should know how to write clean and easy-to-understand code. The two most important best practices suggested by our team include knowing how to split code into small not-coupled modules and using SOLID principles. SOLID stands for five design rules that make it easier to understand and maintain software. Besides that, which is quite obvious, a good coder needs to know the framework inside out. Starting with the philosophy, implementing the right patterns at the right time to, finally, understanding its shortcomings. Last, but not least, comes object-oriented programming, a paradigm that helps to manage complex software systems and avoid errors when changes to the code are made.
Pop culture paints coders as lone hackers who need nothing more than a computer and an Internet connection to change the world. And nothing could be further from the truth. Software developers often work in teams. This is why their communication skills are very important. The good ones should be open to code review and willing to discuss their work, accept suggestions, share their knowledge and ask for help when they need it. Next on the list are problem-solving skills such as research and analytical thinking. Problem solving is closely related to the last of the top three skills: quick learning. Our Ruby on Rails developers suggested that it’s also advisable for a developer to understand the business environment their solution will work in.
We’ll risk involuntarily promoting the infamous motivational coaches by saying that when it comes to defining the best Ruby on Rails developers, attitude is everything. Open-minded, creative, and curious – these are the traits that most of our team defined as crucial.
Writing software is a team effort. And when the project requires scaling the number of developers involved, it’s important that they know how to find themselves in a new situation.
Scaling is a valued quality of one of our clients, Ruairí Doyle, Head of Product at Apps for Good: “Generally, we worked with two to three developers. However, the effort could be scaled up on demand. That's another key benefit of working with Netguru: their scaling model. They move their spare capacity from project to project, and junior developers were brought into our project to speed things up. This is very important for a project with a limited budget.”
What are the three tools that every good RoR developer should know?
It seems that learning has recently become the new procrastination method of choice in the professional environment. One can spend your entire life studying new tools and domains but will it make them a better expert? Not likely. If their education list is longer than their experience, unless they’re barely out of college, you know they’re doing it wrong.
It’s hard to pick just three tools, but here are the top ones that our most experienced programmers couldn’t live without:
Text editor: that’s rather self-explanatory, right?
Git: which is used to control the changes in files and coordinate work between team members.
RSpec: a testing tool for Ruby code.
Of course, that’s not all, and some of the other recommended tools for Ruby on Rails developers include: Pry (a developer console), RubyGems such as Devise (an authentication solution) or Sidekiq (background processing for Ruby). They should also know how to program in SQL and feel comfortable using a database engine such as Postgres.
All that glitters is not gold, and we’d all spot the difference rather sooner than later. Fear not, when it comes to spotting the worst practices, we’ve got it covered. And it’s all about the three Cs: poor code quality, poor communication, and poor commitment. The first one can be easily spotted. Take a look at code formatting (not compact enough, too complicated) or check whether they write tests for their code. It’s a bit harder with communication, as problems may arise from a wide variety of issues – from being unable to talk about problems or ask for help to losing one's temper or taking any critique personally. However, the worst anti-skill is lack of commitment. The first two can be quite well masked in the beginning and not discovered until the project is well under way. So if you feel that something is not right, better trust your gut. Or hire a successful Ruby on Rails development agency.
When you decide to invest in building a new software product, you want to be sure that you’re delegating work to real experts. That’s why we also wrote a cheat sheet for you with all the relevant information on Ruby on Rails developers’ skills, qualities, and the tools they use.