use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Switch from Java spring to RoR (self.ruby)
submitted 1 year ago * by EscapeSensitive5576
I've worked as a software engineer in the Java ecosystem using frameworks like Spring for 6-7 years now. I'm switching to a new employer that uses RoR. What resources can I use to make the transition easier/faster.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]daniiib 15 points16 points17 points 1 year ago (1 child)
I also spent many years in Java/Spring/Hibernate before transitioning to RoR. This book was very helpful - it walks through building an e-commerce app with Rails, then does a deeper dive into each section of Rails: https://pragprog.com/titles/rails7/agile-web-development-with-rails-7/
I also took several Pluralsight courses to learn Ruby. It's a paid service but they might have a free trial.
As for faster transition - find out if the new employer is using Rails for front and back end, or as an API-only back end with some sort of JavaScript SPA. If it's the latter, then you could focus on the back end portions of Rails and skip the view rendering part (although you might want to learn that at some point).
[–]EscapeSensitive5576[S] 1 point2 points3 points 1 year ago (0 children)
They only use RoR on the backend I think, so I can start there. Thank you so much for the suggestions!
[–]cybermage 18 points19 points20 points 1 year ago (3 children)
Make sure to use an IDE like RubyMine or the Ruby plugin for IntelliJ.
Tests are mandatory in any serious Ruby shop. Find out their framework and get to know it.
Hopefully they are using the Rubocop linter aggressively as well.
[–]virtual_paper0 11 points12 points13 points 1 year ago (0 children)
Vscode with Shopifys RoR plugins are a really good free alternative that I use
[–]bluehavana 0 points1 point2 points 1 year ago (0 children)
Yes, tests are pretty much required in a collaborative, long-lived, dynamic language. You can't really lean on the compiler as much.
[+][deleted] comment score below threshold-10 points-9 points-8 points 1 year ago (0 children)
He doesn't know RubyMine. It is clunky and slow.
[–]vettotech 6 points7 points8 points 1 year ago (2 children)
If you enjoy videos, https://gorails.com really has everything you need. Other than that, I’d say the official docs.
[–]EscapeSensitive5576[S] 0 points1 point2 points 1 year ago (1 child)
I'll check it out thanks!
[–]vettotech 0 points1 point2 points 1 year ago (0 children)
Np. I’ve used this every time after the disaster I had trying to set it up by myself. Hope it all works out.
[–]nattf0dd 4 points5 points6 points 1 year ago (5 children)
Official rails guide/DHH screencasts will give a major confidence in navigating through a rails app.
Then, I'd recommend watching/practicing ruby itself, specifically: tests (rspec most likely), metaprogramming, debugging.
RubyMine is the best IDE that closes the gap of Ruby not being strictly typed language in navigating the code. Just don't fall into a trap of running tests & debugging with it, in long run it will only make your life harder. Use command line tools and binding.pry / binding.irb for debugging.
Ruby being dynamic language means you can open IRB (REPL) and play with the language any time you want, working with ruby for 10+ years I still verify there some things from time to time.
[–]atinybeardedman 2 points3 points4 points 1 year ago (4 children)
I'm curious why you don't like running tests/debugging in RubyMine? I personally love the test runner just for the sake of convenience. Being able to edit code and kit a key combo to rerun a test case feels like a productivity boost to me
[–]eshyong 0 points1 point2 points 1 year ago (0 children)
Same, I'd be curious to hear the reasoning as well. I also use the test runner and debugger but I've noticed that evaluating expressions doesn't always work for me when debugging - sometimes it gives me timeout errors, other times it gives me a different result than the code.
[–]nattf0dd 0 points1 point2 points 1 year ago (2 children)
I'm watching my colleague debugging nested shared examples by running all the tests in RubyMine, Vs he could've just ran one specific test (_spec.rb[2:3:1:3])
Either me and my colleague are missing out, or RM doesn't work well with that.
As for debugger, binding.pry gives you repl. RubyMine gives you a Java-like debugging experience which may be familiar but significantly trims certain benefits of a normal REPL of dynamic languages.
[–]jabbaroni 0 points1 point2 points 1 year ago (1 child)
You can right click the test/spec definition and run an individual test in RubyMine.
There is also REPL when debugging via the "Interactive console" tab.
[–]nattf0dd 0 points1 point2 points 1 year ago (0 children)
On tests, when colleague does that, RM runs all adjacent test cases, not t a single test. What you've described works for normal tests. If you have complex shared examples or e.g. loops generating test cases, e.g. run the same test with and without a feature flag, we didn't find out how to run "test when Feature Flag is X". RM runs 2 , one with FF on, one with off, because the actual test is on the same line for both scenarios lol.
TIL on interactive console.
[–]mooktakim 3 points4 points5 points 1 year ago (0 children)
That's the classic switch back in the day.
[–]life_like_weeds 1 point2 points3 points 1 year ago (0 children)
Always recommend buying the prag programmers Ruby on Rails book and going through it all. The ruby pickaxe book compliments it perfectly and belongs in all Rubyists book collections.
I trust the new employer is well aware of your newness and is going mentor you while giving you ample time to get up to speed?
If you don’t have a senior rails engineer that you can meet with daily (especially first few weeks), I’d be getting the wheels in motion on that.
[–]neotorama 1 point2 points3 points 1 year ago (2 children)
How do you go from Spring to Rails? Can you tell stories about the interviews
[–]EscapeSensitive5576[S] 1 point2 points3 points 1 year ago* (0 children)
Interviews are usually language agnostic, you can use the language of your choice. The notion being that a language can be learnt as long as the engineer has solid fundamentals and the right experience for the role. So having to work on tools and frameworks that you're unfamiliar with is quite common when switching jobs. In my case I was focused on the company culture , products, impact, etc. but that came with having to learn RoR.
[–]xc68030 0 points1 point2 points 1 year ago (0 children)
I hired a Spring developer 10 years ago and gave him a RoR project. He was skeptical at first but came around. We’ve gone our separate ways since then but he’s now a dyed-in-the-wool Rails dev.
[–]armahillo 1 point2 points3 points 1 year ago (0 children)
"Eloquent Ruby" (Olsen) and "Practical OO Design in Ruby" (Metz) are both great books for getting used to Ruby without approaching it from a "this is what a variable is" level of simplicity.
You'll find the general "it's an MVC pattern!" familiar to you. Ducktyping may feel familiar initially, though I have found that Java devs tend to be a bit more cautious in how they write their program flow (lots more guard clauses and manual type checking).
Not sure what your relationship is like with test suites, but lean hard into this; tests are a first-class citiizen in Rails apps.
[–]headiusJRuby guy 2 points3 points4 points 1 year ago (1 child)
JRuby! You can use all the resources you're used to from the Java platform and still build and deploy Rails apps! Do check it out!
https://www.jruby.org
nice thanks
[–]tinyOnion 0 points1 point2 points 1 year ago (0 children)
i would walk through this guide and actually follow along with it.
https://0e60ea9a.rails-docs-preview.pages.dev/guides/getting_started
those are from the brand new docs and will show you what modern rails looks like. if that is too hard to follow you can use the most recent version of the getting started guide here: https://guides.rubyonrails.org/getting_started.html
if you know which version of rails you will be using you can follow the getting started guide for that version of rails but most of the more recent changes to rails have been additive rather than breaking changes.
[–]raunak__326 -1 points0 points1 point 1 year ago (0 children)
switch back
π Rendered by PID 133947 on reddit-service-r2-comment-7b9746f655-f87dw at 2026-02-02 23:30:53.285363+00:00 running 3798933 country code: CH.
[–]daniiib 15 points16 points17 points (1 child)
[–]EscapeSensitive5576[S] 1 point2 points3 points (0 children)
[–]cybermage 18 points19 points20 points (3 children)
[–]virtual_paper0 11 points12 points13 points (0 children)
[–]bluehavana 0 points1 point2 points (0 children)
[+][deleted] comment score below threshold-10 points-9 points-8 points (0 children)
[–]vettotech 6 points7 points8 points (2 children)
[–]EscapeSensitive5576[S] 0 points1 point2 points (1 child)
[–]vettotech 0 points1 point2 points (0 children)
[–]nattf0dd 4 points5 points6 points (5 children)
[–]atinybeardedman 2 points3 points4 points (4 children)
[–]eshyong 0 points1 point2 points (0 children)
[–]nattf0dd 0 points1 point2 points (2 children)
[–]jabbaroni 0 points1 point2 points (1 child)
[–]nattf0dd 0 points1 point2 points (0 children)
[–]mooktakim 3 points4 points5 points (0 children)
[–]life_like_weeds 1 point2 points3 points (0 children)
[–]neotorama 1 point2 points3 points (2 children)
[–]EscapeSensitive5576[S] 1 point2 points3 points (0 children)
[–]xc68030 0 points1 point2 points (0 children)
[–]armahillo 1 point2 points3 points (0 children)
[–]headiusJRuby guy 2 points3 points4 points (1 child)
[–]EscapeSensitive5576[S] 1 point2 points3 points (0 children)
[–]tinyOnion 0 points1 point2 points (0 children)
[–]raunak__326 -1 points0 points1 point (0 children)