All Ruby/Rails developers write code, but I’ve been thinking about which industries people have specialized in and apply their Ruby knowledge, because nobody can actually know all of Ruby and use it effectively across several problem domains.
If you’re specialized, then you’d only need to learn the subset of Ruby and libraries that’s important for your industry.
For instance, when you specialize in building eCommerce applications, you’d master payment processing libraries like Stripe, PayPal and Braintree.
Do you think it doesn’t matter which industry you apply your Ruby knowledge because all programs are created equal?
I try not to specialise within Ruby. I’m a freelancer and the Ruby market is small enough as it is without me narrowing the margins any further. We all have our favourite applications and sub-domains of course, I -for instance- would love to work on machine learning projects with Ruby, but, having said that, I love coding in Ruby full-stop, so any work that involves my favourite language is welcome.
Besides, Ruby is such a flexible and simple language that you don’t really have to specialize. Once you understand the ROM, meta-programming and functional aspects of Ruby then you pretty much can deal with anything, specialisation is overkill. Java has 46 (forty-six) collection classes. Unless you have eidetic memory you can’t remember all of them,ergo you have to specialize. Ruby has 6. No need to specialise.
So the answer to your question is no, I try to keep my Ruby knowledge as broad as possible and apply it anywhere I can.
Yeah I kinda agree with Fred, Ruby is so flexible that it’s easy to do most things.
Having said that, we now have areas of Ruby such as RubyMotion (or general mobile development - such as Rails as an API) web app dev, embedded Ruby, etc - so there is loads of scope to specialise if you want to.
I’d love to do something with RubyMotion
I recently start coding Java since I need to fix some Minecraft plugin.
I can use some concept I learnt from being a Rails dev, but only part of it.
Most things are still language specific and need to be learnt from scratch (and when I was studying Java in University, there was only Java 6!)