Not every web app project is big enough or has a large enough budget to work with a web development agency. We’re sometimes approached by people with a new idea for an app they want built with Rails on a small budget, or an existing Rails app needing just a few changes. In these situations, we often advise these companies to work with a freelance Ruby on Rails developer to accomplish their goals.
But if you’re a non-technical person who has never hired a developer before, how do you make sure you hire a freelance developer you can trust? We’ve put together a list of questions to ask any freelance Rails developer that you interview for your project. These structured questions will help you compare any developers you interact with, and find out more about what each person is really about.
What version control software do you use?
In most cases, a developer will answer that they use Git. If you haven’t heard of Git or version control, it’s a tool that allows a developer to track changes and previous versions of their software project. It helps the developer make changes to software without fear of breaking things or forgetting what changes they made. With version control, it’s easier to roll back changes or revert to a previous version if necessary, too.
If they answer with anything other than Git, ask why they chose that version control software. It could be that there’s a completely logical reason behind the decision, but it’s unusual to find developers using other tools.
How often do you release new features for your Rails projects?
Whether you’re a new project starting from scratch or an existing product looking to improve quickly, the frequency of software releases is important to see change. As software development leans more toward an agile approach, it’s more common to see features being released every two weeks (or at the end of a sprint). Even when a project isn’t following scrum guidelines, more frequent releases have become the norm.
Ideally, your freelance Rails developer tells you something in the realm of every one to two weeks. If they release less frequently than that, ask some follow up questions to figure out why.
What versions of Rails are the last 5 projects you worked on?
You’re likely not only looking for someone to build your project, but someone to maintain it in the future as well. Unless you plan on hiring a team of developers in the near future, someone has to stay on the project to perform updates and keep your Rails app secure. Rails sees major releases every couple of years, and its last major release was version 5 in December of 2015. Since then, incremental releases have been launched – the latest version is Rails 5.2.
Ideally, at least some of this freelance developer’s recent Ruby on Rails work is in version 5. You want someone who is familiar with the newest version of Rails and knows how to keep applications up to date. But as a freelancer, their ability to update an older app they inherited might be beyond their control. Often, stakeholders don’t want to invest in the time it takes to update an old application, even though it’s beneficial in the long run. If they rattle off projects in versions 3 or lower, you might want to ask why.
Do you use exception notification? If so, which one?
Even the most meticulously written application experiences a bug or crash from time to time. There are lots of exception notification tools that integrate with Ruby on Rails – like bugsnag, which we use in all of our Rails applications, that keep an eye on things and flag when something goes wrong. We’ve even set up a Slack integration that sends a notification to certain channels when bugsnag detects an error.
These exception notification tools log and report each time an error occurs in your app, so they’re really valuable for knowing where, when, and how an error occurred and helping debug any issues quickly. If your freelance developer uses an exception notification tool, that’s a good sign.
Do you write automated tests for your projects?
- What % coverage do you have on current projects? There isn’t a right or wrong answer to this question....unless the number is very, very low. Varying opinions in the industry will argue that 60, 80 or even 100% test coverage is ideal. Essentially, with this question, you’re trying to figure out their knowledge of and feelings about automated tests. If testing is important to you, it should be important to the developer you partner with as well.
- Why don’t you use automated tests? While automated tests will never be 100% perfect 100% of the time, they're helpful for speeding up the testing process for web applications. If you talk with a freelance Rails developer who doesn't routinely use automated testing, ask why.
Do you use a continuous integration tool? If so, which one?
There are dozens of continuous integration tools out there that help your project integrate seamlessly as it grows. They’ve essentially become a necessity in most modern web applications of any significant size. Some popular continuous integration tools include Jenkins, Codeship, and Solano (our CI tool of choice).
If a freelance Rails developer isn’t using a CI tool, they might be wasting time on tedious integration tasks that could be automated.
What is the first thing you would do when starting this project?
We can’t tell you the right or wrong answer to this question, as it’s personal to your project. But after hearing the current state of your project and technical details, along with your goals, a talented freelance developer should have an idea of where to begin your project. This might be patching a security issue or integrating a tool that will save you time or money. This question may help you understand how different freelance developers approach and solve problems.
Can I speak with a few past partners for reference?
It’s always helpful to speak with a developer’s past or previous partners for a first-hand account of how they work and communicate. Ideally, they’ll have a few people to direct you to without doing too much digging. If they have trouble identifying someone that they have worked with that will recommend them, you might have uncovered a red flag.
What is your ideal communication level and style?
Some people prefer high-touch communication – needing their partners to be readily available through Slack or email during working hours to approve or give feedback on progress. Others prefer getting an update every few days or weekly. It’s important to know your communication style and be upfront with your freelance developer about your expectations.
It will save you a lot of headache time in the long run by having these conversations prior to beginning a partnership.
Have you ever hired a freelance Ruby on Rails developer for a project? What was your evaluation process like, and what questions did you ask in the process?
Leave a comment below to let us know.