Ruby is an open-source, general purpose, object-oriented programming language that emphasizes simplicity and productivity. Developers love it for its laconic syntax, powerful metaprogramming, and fast prototyping and development potential.

Ruby is most well known for its application as a server-side scripting language thanks to the immensely popular MVC (Model-View-Controller) framework Ruby on Rails. However as a general purpose programming language it is also often used for building domain specific languages (DSL), task management and build automation tools, GUI applications, and other software.

So how do you find a professional to help you bring your project to life? In this article we’ll walk you through the thought process of hiring a freelance Ruby developer.


Before you can even start the hiring process, you’ll need to define your project scope—what are you building, and how long is going to take? Are you looking for a developer to set up the Rails backend of a shiny new single page application (SPA)? Or do you require a full fledged Ruby programmer to build your own DSL for a desktop GUI? Asking questions like these can help you identify the skills and level of experience you’ll want to look for in a potential developer.

To help you get a better feel for what a Ruby developer can do, dive into resources like the Hiring Headquarters, where you can learn more about the Ruby, including an introduction to the Rails framework, comparison articles like “Python vs. Ruby: Comparing Two Top Scripting Languages,”and other content.

Identifying key project requirements will help you identify the type of Ruby developer you’re looking to hire. Putting it on paper in the form of a creative brief is even better, as it will feed directly into the next step in our hiring guide—actually writing the job post.


If you followed our advice in the last section and wrote that creative brief, good news—you’ve already completed the legwork for writing a detailed job post. Your job post is essentially an extension of your creative brief, but with details of the specific requirements you’re looking for in an applicant’s resume.

Your job post won’t have to be as detailed as the creative brief, but it should do a good job summarizing your scope of work:

  • Deliverables: What do you expect to receive at the end of the contract?
  • Timeline: The start and end dates of your project, if applicable.
  • Targets: Any submit-by goal dates, major development phases, or milestone payments.

Beyond scope, you’ll also need to cover job requirements:

  • Technology/Skills: We know you want a Ruby developer, but what other frameworks, libraries, build tools, and technologies do they need to know?
  • Experience: How many years of experience? Is a degree required?

Checkout “Writing a Job Description to Find an Excellent Freelance Ruby Developer” for a more in-depth guide. Once you’ve written a detailed job description, feel free to post it on Upwork.


Once you’ve posted your job description and proposals have started to flood your inbox, you’ll want to narrow down the applicant pool by creating a shortlist of the developers you want to interview. Here’s a brief list to help you shortlist those submissions:

  • Portfolio. Arguably the most important thing you’ll want to look for in a potential developer is their previous work if it’s available. Bonus points if their last project is exactly the type of work you’re looking for. A developer’s portfolio is the best way to gauge talent.
  • Experience. You would be hard pressed to find a Ruby programmer without Rails experience, but do they have the other tech/skills (i.e. Sinatra, GitHub, MySQL, etc.) you’re looking for?
  • Feedback. Never hurts to read the reviews of past clients—it can lead to insights like customer service, ability to communicate and solve problems.
  • Professionalism. Does the person behind the job submission sound like someone you’d like to work with? More importantly, did they tailor their proposal to the unique requirements of your job? You can checkout their Upwork profile to see how they present themselves to the public.


The interview is your chance to get to know the developer who will eventually be joining your team.

Prepare your interview questions in advance using your project requirements as a guide. We’ll eventually create a list of Ruby development interview questions, but until then, here are some basic interview questions to help you build your list:

  • “What do you think of our existing Ruby app?” This question is an opportunity for your prospective hire to show how they might add value to your business. Even if you don’t have an existing app, you can instead ask them to provide feedback on your concept or creative brief.
  • “Have you ever built X with Y before?” Substitute those variables with something unique to your project—for example you might ask if they’ve ever built a dynamic SPA with a Rails backend and a React frontend.
  • “How familiar are you with [Insert favorite software development methodology here]?” These days most developers are familiar with Agile, but if you have a preferred methodology under the Agile umbrella, like Scrum or Extreme Programming (XP), or due to the nature of your work environment require a more traditional Waterfall approach, the interview is a good place to ask.
  • “Tell me about your favorite Ruby project.” A simple question to get a programmer to show off and differentiate themselves from the other candidates. Another variation to this question you could ask: “tell me about a defining moment in your career as a Ruby developer?”
  • “What’s your production timeline?” It’s a good idea to ask logistics questions like these to get a feel for how quickly they work. Will they be able to meet your project’s milestones? What’s the best time to contact them, and how responsive will they be throughout the week? The interview is your final opportunity to gauge whether or not you can work with this developer.

The interview is the final weapon in your hiring arsenal—use it to find the Ruby developer who can bring your software project to life.