Today we have met Rafael França, production engineer at Shopify. He is sharing his experience with us about what his current job looks like and how he embraced ruby and contributed to make it better over the past 10 years.

Who are you?

I am a ruby developer and open source contributor from Brazil. I am also a Rails core team member and I am the release manager of Rails.

When did you start writing ruby?

It was 2010, I was working with php at this time doing web development, and at the same time there was a lot of people talking about ruby in Brazil. It gained a lot of traction there so I tried it and then got my first full time job with ruby.

Ruby is 25 years old, do you think we can say the language is mature enough?

For sure! Yeah like the community is huge, a lot of people and big companies like (Github, Shopify, Airbnb…) help ruby which was not the case 10 years ago. This pushes forward the maturity of the language because big companies expect things to work for years!

What are the weaknesses/strengths about ruby?

Weakness: lot of limitation when you need to deal with concurrency and performance.

Strengths: Optimize for programmer’s happiness, you could be very expressive with it. You could create DSL easily and using it inside your application. Open class and meta programming are also some really good points. They are the reasons why the language is so expressive.

Is it still valuable to learn ruby today?

Yea I think so! There are a lot of jobs in ruby. A lot of companies are still trusting the language and it’s a fun language to learn. It’s not the hype anymore but it’s still being used and a lot and people are still working with it.

What advice will give you to people starting with ruby?

It’s been so many years that I’m writing ruby that I don’t know anymore 🤭. Maybe that there is no magic in computer and event if Rails seems magic sometimes, everything is code. So try to understand what is happening and try to read the code. Take a look at how methods/classes are implemented. What’s the best method I should use, this is something you should aim for. I know how to use language and I know how it works.

How to get involved with the community and make ruby better?

Share: First write about ruby, giving that you are learning, express your difficulties, your thoughts and try to share them with the rest of the community. People can learn from your mistakes and the stuff you did right.

Participate in open source project: writing code is not the only way! you can answer questions, write issues when you identify a bug, write new features…

Organize event: Go to meetups in your city, go to conferences to meet the community.

How your daily job looks like?

Spending a lot of time replying other people questions and try to fix other people problems.

I really like helping the community by teaching people. I write code that everybody can read and it’s giving knowledge to other people as well.

I’m also helping Rails to scale for the Shopify needs.

What is the most exciting challenge you faced in your career?

Joining the rails core team member was actually one of the best moment in my carrier, I’ve worked a lot of hours. I had to understand how Rails work and also helping other people to understand how it works at the same time.

What future do you see for ruby?

I don’t think we will see any big major change, it’s still growing, more stable, performance and concurrency will get better over time. I think the community will get stable and maybe get new features?