Are you looking for an opportunity to get more experience as a Ruby on Rails developer? Make meaningful connections with the community? Learn the best practices on how to maintain a large codebase?

“I’ve always wanted to contribute to the biggest code base I know: Ruby on Rails. It’s also the one who pays for my food. But I had been struggling with how to get started until Hexdevs started sharing different ways to do it. I felt like I wasn’t the only one struggling with contributing to Rails. Now, I try different ways to get involved with the rails core development process. My favorite one is to keep seeing the issues and trying to solve the ones with reproduction steps.” Juan Vásquez

What if you could get that experience by contributing to an open source project like Ruby on Rails?

If that sounds scary, don’t worry! We can help you!

By the end of this post, you’ll learn 5 ways to become a new Rails contributor, even if you are a beginner in Ruby. Plus, you will find answers to the some questions you probably have.

Are you ready? Let’s go!

5 ways to contribute to Ruby on Rails as a beginner

1 - Find issues labeled as “good first issue”

These are labeled as Good First Issue. There’s not a lot of them and they can get closed pretty fast! They might not be simple for beginners in Rails. Note that you can always ask for help in the issue comments or in the Rails forum.

2 - Pick an issue labeled as “With reproduction steps”

Issues labeled as With reproduction steps candidates because you have a way to check that the bug really exists. You can fix the bug and use the reproduction steps to check your work.

By following this method, we were able to get our second PR merged. It works!

What if the issue cannot be reproduced?

Sometimes, the issue cannot be reproduced by other people. If you’re able to confirm it, explain why and let the maintainers know. That’s another great way to contribute to the project, as it may show that it’s not a bug on the Ruby on Rails codebase, but something unrelated.

To give you an example, one of our readers (Aish) found out that this issue could not be reproduced, created a video, and shared this information as a comment on the issue. This contribution helped the maintainers close it.

3 - Fix the bugs you find yourself (“your bug”)

When you’re working on a Ruby on Rails app, you might run into a framework bug. That’s good, now you can fix the bug yourself! This can happen when you’re using the latest version of the framework, or using one of its newer features.

4 - Add reproduction steps to new issues

You can pick an issue that does not have reproduction steps. Try to understand what’s going on, and then add the reproduction steps yourself. This way, you can help the Rails core team by checking if a new issue is valid. Great way to build your debugging skills!

5 - I’m ready to contribute to Ruby on Rails!

You can always pick any open issue (that no one else is working on) and try to figure things out as you go. That’s cool too! Just pick one and get to work. Have fun!

Get the PDF with all the steps 👈

5 ways to contribute to Ruby on Rails as a beginner

Highlights from the Open Source Thursdays Session with Rafael França

Rafael França is a Rails Core team member and he shared some tips for people that want to contribute to Ruby on Rails.

Do you want to know how Rafael became a Ruby on Rails expert and one of the top Rails contributors? You can learn all about his strategies on Get to Senior. You will also get exercises to practice your skills!

Below, you can find his answers to some of the questions asked by the community during the live stream.

Would love to get started contributing to the Rails project but don’t know where to start?

Question: [at 8:13] Would love to get started contributing to the Rails project but I don’t know how. How should I do it?

Don’t know how to suggest a new feature? Open an issue in the Rails repository or post a topic on the Rails forum?

Question: [at 19:23] If I want to suggest a feature, should I open an issue in the Rails repository or post a topic on the Rails forum?

How can we get feedback on ongoing issues and Pull Requests more quickly?

Question: [at 54:58] Often getting a response for a contribution takes weeks. How can we effectively get feedback on ongoing issues or Pull Requests?

Rails is maintained by volunteers and most of them work on it during their free time. So it might take some time. Ask or comment on the issue or PR to get an answer.

If it’s a Pull Request, you can post the link on Rails Forum to bring attention.

Before you ask for feedback or code reviews, it’s a good idea to make sure that:

  • tests are passing
  • documentation is updated
  • if it’s an bug/issue, can you try to fix it yourself?
  • if you don’t know how to fix the code, can you write a Reproduction Script or create Reproduction Steps?
  • make it easier for people to accept your PR: give them the code, Reproduction Steps, that the code consists of a small number of code changes
  • explain and add details so reviewers can understand the impact of your changes: does it affect all Rails applications or only some of them?

The whole point is to make it easier for reviewers to accept your changes.

Issues and PRs that follow these guidelines grab more attention than the ones that don’t have a lot of feedback, no comments, tests are broken, and the Rails team doesn’t know if the concept is good or not.

Which part of the Ruby on Rails project is the best for a beginner to get started with? Changing the Rails Guides or Documentation, Active Record, or something else?

Question: [at 59:15] Which part of the project should I work on first: Rails Guides & Documentation, Active Record, Action Mailer, or something else?

What if there is someone else already working on the issue?

Question: [at 1:04:36] How can I know if there is someone else already working on the issue, and what should I do if that happens?

How do you know if you should run all tests or just some of them?

Question: [at 1:07:39] How do I know if I need to run all Rails tests or just some of them?

If you feel overwhelmed or paralyzed when you get to the Ruby on Rails GitHub repo, you’re not alone. That’s why we created Open Source Thursdays in the first place: to guide you on your developer journey!

Bookmark this post and use it as a reference! Share it with someone who wants to get started with Open Source!

When you get results with your adventure, let us know and we can add them to this post. We love to see people getting results from it and helping the community!

Send us a DM on Twitter when you get started and let us know if we can support you.

We will have more sessions with experts in the future. Sign up for our mailing list to get the invitations: 👇

Did you like this article? You're gonna love these other ones: