Hey people. I'm a backend developer working primarily with PHP7.x and TypeScript, with some experience with Go, but in all honesty, I always had a thing for Ruby.
I've been thinking about learning Ruby and then Rails properly and trying to land a job that would allow me to use them. The only thing that pulls me back is a question of whether or not new stuff is actually created with Ruby/Rails or its mostly legacy code at this point. I'm honestly tired of PHP (mostly community, the language is just fine) and TypeScript doesn't bring to much joy to work with (although it is a great language).
To sum up my question, are there new Rails apps coming out and, with 5-6 years of experience would I have to look for a junior position, given that I've got experience with other languages and know a fair bit of system design, best practices and design patterns?
Yes. Do it .
New stuff is still being built with rails. Last shop I worked with has been steadily moving towards Phoenix for greenfield projects, but there are clients who still request rails.
So yeah, don’t worry about rails being dead. It’s not.
// Would I have to look for a junior position, given that I’ve got experience with other languages and know a fair bit of system design, best practices and design patterns? //
No. We have onboarded mid and senior level engineers who have little to no previous experience with the framework.
Welcome! ๐
As a junior developer myself, I can not answer your questions but I’m sure someone will be able to do so because this community is great. By the way, what’s wrong with the PHP community?
The startup I work for has two new (< 1 year old) rails apps. It's a great, mature platform, with a nice community around it, and many high quality gems available for use ๐
In short: If you really want to work with Rails, do it.
Slightly longer answer:
There’s a lot of new businesses being built on top of Rails nowadays still (I’m actually working at one of those), so there will be quite some demand for the foreseeable future. Rails is still the best tool for getting started fast and that will always attract especially new businesses.
As for the question whether or not you should apply for junior positions, I wouldn’t do so. You have a lot of transferable skills and you’re able to write code. Learning how to do it the “rails way” will of course take a bit of time, but that would not drop you back to a junior level. Easiest way to convince companies is by actually building something to showcase you can do it in Ruby as well.
If you ever want to get some feedback on your rails code, feel free to drop me a pm and I can have a look.
Good luck with it!
I moved from PHP to rails 10 years back, and even with PHP 7, I am not going back. Ruby on Rails is awesome.
The basecamp people just started https://hey.com/ and it’s a rails app. ๐
We’re building new applications on Rails 6, in a semi-clean setup. I’d count the libraries and boilerplate we use as legacy. But we do actually do new projects twice a year currently. (It’s been a bit slow)
Almost all our existing legacy is running 5.2 or has been updated to 6 already.
>with 5-6 years of experience would I have to look for a junior position, given that I’ve got experience with other languages and know a fair bit of system design, best practices and design patterns?
You should be able to roll into a medior position. With your years and the mentioned experience you’d only need to pick up the Rails specific stuff. Which shouldn’t be a problem.
I would go w Rails. Itโs the best. Rails 6 integrates nicely w JavaScript
To add one data point, the Rails app I work on at work is a relatively new app. It was created in 2018.
Also, we just hired a junior developer to work on this Rails app and my expectation is that we’ll be hiring many more.
I am no expert yet. As much as I love Rails, I recommend going for node.js ecosystem.
It is easier to find jobs especially as junior.
Yes. New apps are being created with Rails.
Hey email just launched an is built with rails. And here in the UK the ministry of justice is overhauling their whole (I think) digital platform with rails so there are new things being created just not as many.
Out of curiosity what donโt you like about the PHP community?
I work as freelancer, developing custom custom web-apps (with or without API) and all my work is based on Rails.
In the past, around version 3.x, I remember having a hard time with it but now Rails is really solid and mature. I enjoy working with it, the community around it and the general push toward good quality programming.
If you do the move, take some time to study just Ruby. I wish I did that at the beginning.
For what it’s worth I just started a 6-figure Rails project. I chose Rails over JAMstack because Rails development is much faster and the stack is very mature. There are plenty of reasons to choose Rails over other stacks in 2020 and 2021.
Get a solid understanding of Ruby before learning Rails. The “magic” will be overwhelming otherwise. Rails is so opinionated the opinions are not always obvious: after 15 years I am still learning new things.
Regardless of your experience in a particular stack, your overall development experience puts you past “junior” status. Don’t sell yourself short.
There are plenty of new rails apps, and if youโve been a dev for a while than you can probably get a senior position straight off the bat.
I would find typescript/react/rails companies and talk to them about your typescript experience, then learn rails on the job.
http://www.renthopper.co.uk guys chosen Rails for the backend. One of their favorite tools starting from Rails 5.2 is ActiveStorage to talk about new superb things in Rails. Another thing from my experience I saw the guy who secured junior-mid remote Ruby on Rails developer role by having first project finished and demonstrated during interview. He went into coding and spent around one year on the project which helped to secure a role. I thought maybe in some ways this story could be useful in your learning decisions.
I’ve had the misfortune to have to change jobs 3x in the last year but I can confirm there is still a lot of Rails work out there and I think it’s worth learning.
Some things to be aware of:
– get ready for writing lots of tests, and learning to love it!
– rails is a much more opinionated framework than what you might be used to with PHP (saying this as someone who also started in PHP), there is a “Rails way” to do stuff, and staying “on road” as much as possible typically results in an app that can be more easily maintained
– be patient with yourself; expect it to take even maybe a year before you start to feel comfortable with it. It’s a lot to learn!
– make a lot of silly projects, locally, to get used to doing different kinds of things. The more practice you have the better you’ll understand how to apply different high level concepts (eg. sometimes STI is the right solution, sometimes it’s not)
– whenever possible, find and use a rubygem instead of rolling your own code (again, saying this as a former PHP dev ;))
– be prepared to have to relearn / learn new stuff every year or two. It’s still very actively developed and sometimes the new features can result in big changes
– rails guides will be your BFF, and API dock too
– Hartl’s guide is worth doing. If you want to learn more about the internals, “Rebuilding Rails” is excellent, and if you want a good free online bootcamps, i recommend the Odin Project’s Rails track
I work at a 13-year-old company, with a hybrid monolith/microservices backend (because decomposition takes forever), and we create new stuff with ruby or rails all the time because the entire ruby ecosystem is well-known to us. My small team alone has created two brand-new services with rails just in the last six months. We actively contribute to community gems as well as creating our own internally. Ruby is absolutely alive and well and being used to create lots of new stuff.
For a taste of the Rails community, take a look at
https://discuss.rubyonrails.org/
They did a call for Rails WTFs in May, inviting actionable and constructive criticism.
https://discuss.rubyonrails.org/c/a-may-of-wtfs/8
Ultimately, Rails was created to make building web apps pleasant, convenient and efficient, in alignment with the guiding principles of Ruby.
One drawback of learning Ruby is that PHP will feel verbose and painful in comparison ๐
I had almost just Android development work experience (3 years) and a few months ago I landed a new job working with Rails.
I was skeptical; I thought that a shift from mobile to web was going to reset my seniority. You would be suprised how CS/IT/Programming skills can be transfered between languages, frameworks and methodolgies
Do it. There is a lot of rails work floating around, and it is a solid framework. I spend a majority of my time as a freelancer in php(raw php without a big framework…), but have built a few smaller rails apps for clients when given the chance to do something new.
My advice, as an engineer with 20+years of development experience.
Get a job where you like the company, and what they are doing. Don’t worry about the language. As a developer you should be able to pick up any language. Pick the company and the mission first.
I’ve worked with rails for almost 4 years. Started at it in 2016.
I know work with Java/Scala and boy I do sometimes miss it.
The ruby language has a bit of a steep learning curve, depending on how much you know of poo and functional programming but when you start getting how things work, oh its such a pleasure to use it.
The language does have some pretty important limitations regarding parallelism but I see great things in its future.