2,049 members of the Rails community from 92 countries kindly contributed their thoughts on tools, frameworks, and workflows in their day to day development lives. From these responses we hope to get an understanding of where Rails stands as a framework in 2020.

Some of these questions have been asked since our original survey over a decade ago, and show how the community has evolved over the last twelve years. Others are first-time questions included to capture the current state of Rails.

Demographics

Who are the developers that took the 2020 Ruby on Rails Community Survey? Here's where they live, how long they've been working in Rails, and more about the survey's participants.

Result

Total Participants

Over 2,000 Rails developers participated in this year's Ruby on Rails Community Survey.

Result

Participant Location

Rails developers participated in this survey from all over the world! We had developers from 92 countries across 6 continents participate (unfortunately, no Rails developers from Antarctica were involved).

Other countries:

ArgentinaAustriaAzerbaijanBangladeshBelarusBelgiumBhutanBosnia and HerzegovinaBulgariaCambodiaChileChinaColombiaCroatiaCyprusCzech RepublicDenmarkDominican RepublicEcuadorEgyptEl SalvadorEstoniaEuropeFinlandGeorgiaGhanaGreeceGuatemalaHong KongHungaryIcelandIndonesiaIraqIrelandIsraelItalyJapanKazakhstanKenyaKyrgyzstanLatviaLithuaniaMalaysiaMauritiusMexicoMoldovaMoroccoNepalNew ZealandNigeriaNorth MacedoniaNorwayPakistanPanamaPeruPhilippinesPlurinational State of BoliviaPolandPortugalRepublic of KoreaRepublic of South AfricaRomaniaRussian FederationSaudi ArabiaSenegalSerbiaSingaporeSlovakiaSloveniaSpainSri LankaSwedenSwiss ConfederationTaiwanThailandTurkeyUkraineUnited Arab EmiratesUruguayVenezuelaVietnamYemenZimbabwe
Result

Which one of the following applies to you?

Result

How many years have you been developing with Rails?

Result

How did you learn to code?

Other responses:

A combination of theseCommunity-taught :-)Some college/university

Teams & Responsibilties

Developers from all different working backgrounds completed this survey. Here's more information about the development teams, responsibilities, and types of applications that Rails developers are building.

Result

What are your responsibilities in the stack?

Result

How many Rails applications is your team currently responsible for?

Result

How big is the development team for your primary Rails applications?

Result

Do you and/or your team typically work remotely?

Result

Who uses your application/s?

Ruby & Rails Version Updates

How up to date is your app? Are you running the latest version of Ruby? Rails? What strategy do you use for upgrades? Is your boss on board with spending time on upgrades? See the answers to all of your Ruby on Rails version-related questions in this section.

Result

Of the Rails applications you work on, how many are updated to the most recent (Rails/Ruby) releases?

Result

If not all, why not?

Other responses:

It's in progressNot necessary¯\_(ツ)_/¯We stay one version behindToo difficultWaiting for Ruby 2.7
Result

How long has your Ruby on Rails application been in development?

Community Insight

On June 23rd, 2013, Rails Version 4.0 was released, which was a milestone in Rails's stability. As startups chose a framework to rapidly prototype their MVPs, Rails became an easy choice. No surprise that 5 - 8 years later, those MVPs have graduated into booming businesses that have proven that Rails can scale.

Brittany Martin

Brittany Martin is the the host of the Ruby on Rails Podcast on the 5by5 Network. Under her alter ego, Norma Skates, she is the president of the Little Steel Derby Girls. She tweets at @brittjmartin and blogs at https://brittanymartin.dev.

Result

Is your team using a dual-boot strategy for upgrades?

If not -- what are some barriers for you?

This is a new conceptI didn't know that was possibleLack of timeLow test coverageNo needNo community standard¯\_(ツ)_/¯Lack of CILack of buy-in

Community Insight

The dual-booting upgrade strategy entered community conversations in 2018, around the time the last survey was released. A dual-boot strategy adds a second Gemfile to a Rails application during an upgrade, one pointing to the current gem versions, one pointing to the upgrade gem versions. This allows all upgrade and non-upgrade related changes to coexist in the main branch during an upgrade, instead of the traditional approach of relegating upgrades to a feature branch.

I'm curious to see how this value changes between this survey and the next. It also led me to wonder how many of the respondents have worked on an upgrade since 2018? If they worked on an upgrade, was it for a minor or major version? Are most of the folks who used the dual-boot working on large apps or small apps?

Kayla Reopelle

Kayla Reopelle is a Developer at Planet Argon who spends a lot of her time working on Rails applications. Her favorite parts about web development are refactoring legacy code to make it more maintainable and making coding concepts accessible to non-developers. Outside of work, you might bump into her on a long bike ride on one of Portland’s trails.

Result

Which Ruby version manager are you using?

Other responses:

DockerNixUru
Result

What versions of Rails are you using in your applications?

Result

What versions of Ruby are you using in your applications?

Other responses:

TruffleRuby

Configuration

Though microservices are a hot topic of conversation in the community, statistically, monoliths continue to be the most common type of Rails application being built. In the configuration realm, Sidekiq continues to grow as the most common Active Job adapter. In this section, you'll also find stats about third-party email service integrations with Rails.

Result

Which Active Job adapters do you use to process background jobs?

Other responses:

ShoryukenProprietary/Custom Solution

Community Insight

Sidekiq's growth in the Ruby market has been a literal dream come true for me. The success of the Sidekiq business has given me an edge that most open source projects don't have: sustainability. Eight years later I'm still working on Sidekiq, answering support emails, and improving it daily. I hope that developers see quality when they read the wiki or the code.

Mike Perham

Mike Perham is the creator of Sidekiq, and Founder/CEO of Contributed Systems. He lives in Portland, OR.

Result

What third-party email services do your Rails integrate with?

Other responses:

MailjetSendinblueSparkpost
Result

You are primarily building (monoliths or microservices)

Legacy vs. Greenfield

As Rails continues to exist as a 16 year old framework, there are many legacy applications that have been worked on for years. But as new companies choose a framework for their web applications, a healthy amount of greenfield apps continue to be built with Rails.

The data shows more than half of Rails developers have deployed a greenfield Rails app in the last two years, and more than half are working on mostly new instead of legacy applications.

Result

How many of your apps are legacy apps, or code inherited from other developers?

Result

How many greenfield Rails apps have you deployed since 2018?

Learning

Here's how Rails developers continue to learn – where they consume content about Ruby on Rails and connect with their community.

We're delighted to see almost half of Rails developers participate in online user groups about Ruby/Rails. We're also sharing some of the most popular technical podcasts and blogs amongst our community.

Result

Have you been to a conference (regional or bigger) for Ruby and/or Rails in the last year?

Gems & Open Source

The open source world – and the delightful Rails community – are key components of the long-term success of the framework. Here's how the community is involved in open source, along with insight into the gems Rails developers love and hate. These are always fan favorite questions every year.

The data shows opportunity for more developers to contribute back to open source, but prioritizing that when also juggling product or client work is a big challenge for many developers.

Result

Have you authored at least one gem?

Community Insight

Authoring a gem is important for people in the community for a few different reasons, in my opinion:

  1. It increases the total accessible solutions in the field. Each gem is a reusable component that someone can build upon. Thus, the more gems are in existence, the more combinations of potential solutions that can be built using them.

  2. Authoring a gem is a great way for people to learn to contribute to the community. It improves people’s code-style, testing, and communication skills.

  3. Ruby, as opposed to some other programming language communities, is open to many different ways of doing the same thing. As the number of authored gems increases, the number of different approaches to the same solution also increase (think of the number of different gems you can use for making web requests), which enriches the community and the products they build.

Looking at this graph, gem authorship as a percentage seems to be on the decline for the last 4 years. This could be attributed to newcomers joining the community who are less likely to start contributing by authoring gems, or the number of tenured people who have authored gems leaving the community to go on to do other things. In the long run, this is an expected trend with people changing fields and interests. It is still amazing that over half of the people in the community have shared their work for others to use.

Ufuk Kayserilioglu

Ufuk is a Physics PhD turned polyglot software developer. He is currently leading the Ruby Infrastructure team at Shopify. He has over 20 years of experience working with statically and dynamically typed languages and he brings that to Shopify for the adoption of better Ruby tooling and practices. He currently works remotely from Cyprus where he lives with his beloved wife and wonderful daughter. In his free time, he teaches IB Computer Science to high-school students. You can connect with Ufuk on Twitter or Github.

Result

How often do you contribute back to open source projects?

Community Insight

It's awesome to see so many people in the community contribute to open source a few times a year or more. I think that says a lot for how welcoming the community is to newcomers who would like to contribute to Ruby or Rails projects. Of course, I'd love to see more open source contributors. If you're not sure where to start, ask a maintainer or start by improving docs & error messages or add a small improvement to something you find frustrating or error prone. You'd be surprised how easy and rewarding it is!

Chris Oliver

Chris Oliver is the founder of GoRails, host of the Remote Ruby podcast, and creator of Jumpstart and Hatchbox.io. He loves building tools to make developers' lives easier and helping people learn to code.

Result

Which Ruby gems do you love?

When you look at the gems on this list and the following list of gems that are the most frustrating, you'll see some significant overlap. Devise, nokogiri, rspec, and rails are some of the most helpful gems for developers, but aren't without their respective challenges as well.

Top 10

Other mentions:

JavaScript + Rails

Rails continues to be more deeply intertwined with JavaScript – a frequent topic of discussion in the community. In this section, we got a few colorful replies that didn't hide their true feelings about JavaScript. Nonetheless, it's undeniable that JavaScript + Rails are being used together more than ever.

Here is some insight into what JavaScript libraries and testing frameworks are being used in tandem with Rails.

Result

What JavaScript libraries are you using alongside Rails?

Other responses:

Alpine.jsSvelteKnockout

Community Insight

These results suggest that Rails developers seem to be tending towards lightweight solutions when it comes to adding JavaScript into their apps. It's not all that surprising to see that most Rails engineers would choose jQuery over a larger framework when possible; jQuery is smaller in size, and to some extent, faster to implement as compared to learning a new framework. When a more barebones library doesn't do the trick, React appears to be the clear framework frontrunner, with Vue and Stimulus closely behind.

Notably, while all three of these frameworks come with their own learning curve, it would seem that Rails developers have accepted the new mental model of these frameworks with the main benefit being their smaller bundle sizes.

Vaidehi Joshi

Vaidehi Joshi is a senior engineer at DEV, where she builds community and helps improve the software careers of millions. She enjoys building and breaking code, but loves creating empathetic engineering teams a whole lot more. She is the creator of basecs and baseds, two writing series exploring the fundamentals of computer science and distributed systems. She also co-hosts the Base.cs Podcast, and is a producer of the BaseCS and Byte Sized video series.

Result

For greenfield Rails projects, what are you using to manage JavaScript libraries?

Other responses:

BothNoneNone; Rails is used as an APIWTF is greenfield Rails?
Result

What JavaScript testing frameworks are you using to write tests?

Other responses:

CypressNoneQUnit

Testing & Code Quality

Code quality and testing is always a lively source of conversation in the Rails community. The results here from these questions are historically widely varied, enlightening, and subject to discussion. Here are the favorite code quality tools, testing frameworks, and testing goals from our survey participants.

Result

What code quality tools do you use?

Result

What Rails testing frameworks are you using to write tests?

Result

What code to test/spec ratio does your team aim for?

Other responses:

We don’t aim for a given targetNot measured
Result

What code quality tools do you use?

Result

Which Error tracking tools do you use in production?

Other responses:

DataDogCustom toolSentry
Result

Which performance monitoring tools do you use in production?

Other responses:

DatadogPrometheusHoneycombKibana
Result

Which uptime monitoring tools do you use in production?

Other responses:

DatadogFreshping.ioPrometheusUpdown.io
Result

Are you using an automated security tool like bundler-audit?

Community Insight

"I am both surprised and alarmed at these results, especially considering over 700 malicious gems were discovered on RubyGems in April. Rails has a reputation of being pretty secure out-of-the-box, and my theory is that this causes security to become a secondary concern for many teams. I am also curious if providing more examples of automated security tools, like GitHub security alerts and Snyk, would have affected the results. Security should always be a priority and automated security tools will ensure that you can find and fix issues before attackers find you. My challenge to the community is to make sure that next year the results indicate that security is a first-class citizen in our applications."

Andrew Mason

Andrew Mason is a full-stack Ruby on Rails developer. He enjoys talking about Ruby on podcasts, blogging, and open source. When he is not at the keyboard, you can find him surfing at Wrightsville Beach in North Carolina.

Deployment & DevOps

How often do you deploy? What tools do you use to automate the process? 2020 showed an uptick in very frequent deployments (daily or multiple times per day) and, in tandem, an increase in developers utilizing continuous deployment via CI.

Github continued to dominate as the most common source code host amongst Rails developers. A win for Rails: More developers stated Ruby/Rails was easier than other languages and frameworks to deploy than the last four years.

Here's the full data about deployments and DevOps in Rails.

Result

How often do you deploy releases of your Rails applications to production?

Other responses:

Multiple times per dayContinuous deployment
Result

Which automated deployment tools do you use?

Result

Where is your source code hosted?

Result

What CDN(s) do you use?

Other responses:

NetlifyGoogle CloudNone
Result

If you have deployed applications using other languages/frameworks, would you say that it has been easier or harder to deploy Rails applications?

Community Insight

As a consultant working on many past and present Rails projects, the deployment options I've encountered each had their own advantages and pain points. It's heartening to see that easy to deploy Rails apps are the steadily increasing norm, especially since the majority of Rails developers have little DevOps experience.

Whether it's a gem, your hosting platform, integrated into a CLI or any combination of the above, there are options that can make the process easier for you and interruption-free to your end users.

Shannon Jackson

Shannon is a developer at Planet Argon, and over her career has worked on applications written in PHP, Python, Grails, React, Wordpress, etc., but Rails remains her favorite.

Databases

We've tracked database data (how meta) since the earliest iteration of the Rails survey back in 2009. Here's the full scope of which databases Rails developers are using – and which they would prefer to use.

Result

Which databases do you typically use in production?

Result

Which database would you prefer to use in production?

Result

Which nosql databases do you use?

Other responses:

DynamoDB

OS, Editors & Servers

We're talking servers, operating system preference, editors, and more. In 2020, we're seeing Mac OS dominate amongst Rails developers, Visual Studio Code leads the pack in editor preference, and more Continuous Integration options than ever before.

Result

Which operating system do you primarily develop your applications on?

Result

What is your preferred editor?

Result

What are you using for containerization?

Other responses:

LXCHerokuECS
Result

Which web servers do you use in production?

Result

Which Rails Servers are you using in production?

Result

Which Continuous Integration (CI) servers do you use?

Other responses:

GitHub ActionsHerokuBuildkite

The Future of Rails

Rails is quickly approaching its 16th birthday, and it continues to mature and evolve as a framework. We asked developers for their thoughts on the future of Rails – where the framework is headed, if they still recommend it, and more.

Result

I feel the Rails core team is shepherding the project in the right direction.

Result

Rails is still relevant in 2020

Result

I feel confident security vulnerabilities are being addressed in new Rails releases

Result

Is Rails your server-side framework of choice?

Result

Would you recommend new developers learn and build Rails applications in 2020?

Community Insight

While I don't deny there is likely an inherent bias within the community of those who participated in the survey, seeing that 93% recommend that new developers learn and build Rails apps vs other frameworks is really encouraging. I can't help but attribute this to a healthy (and stable) third-party library community, a lot of valuable educational material, and ability for junior developers to be able to quickly learn how to contribute.

Robby Russell

Robby (on Rails) is the creator of Oh My Zsh, host of the Maintainable Software Podcast, and CEO of Planet Argon, a software consultancy that improves existing Ruby on Rails applications and makes them more maintainable.

Result

What are a few things you'd like to see happen in the Ruby on Rails community?

Performance

Performance. Performance. Performance. Make Ruby more performant.

Continue to improve performance and work to keep the framework up-to-date with modern tech (e.g., it seems that we held onto Sprockets for quite long)

Deployments

A more focused/standardized container-based approach for deploying Rails applications.

More support for non-conventional Rails deployments

Documentation

More comprehensive documentation for experienced developers.

More newbie friendly documentation and tutorials.

Conferences & Events

More conferences, more local events.

More remote conferences

In Conclusion

While Rails is no longer the new kid on the block, it's proven to be a reliable framework that can scale up with large companies (Shopify, Basecamp) while still being agile and reliable enough to be chosen by startups in 2020.

We’re encouraged that the majority of developers who are using the framework still recommend building applications with it and feel that the core team is still leading Rails in the right direction.

Our team here at Planet Argon has been passionate about Rails for years and continues to be excited about the future of the framework and community. We appreciate every single Rails developer that took the time to complete our survey – we hope to see you next time for a recap of the next two years of working with Rails.