
Ask HN: Is Rails really dying? - abdelhadikhiati
I am graduating this year fro university (still have 3 months) with computer science degree , and i was thinking that i should learn some web development framework rails really seems interesting but searching for it i saw that its job market is declining , so is it worth my time to learn for employment opportunity  , if no what is the hottest things right now in development job market ?
======
khaki54
Rails will be around for many years to come and thousands of new applications
will be built with it. I could guess at why you perceive the job market as
declining, but the fact remains that there are a lot of large, proven,
production applications that use Ruby on Rails such as Hulu, Groupon,
Bloomberg, Airbnb, Soundcloud, etc.

In my opinion though, you should focus on versatility and ALSO learn about
Python on Django, AngularJS, and Dart. Once you learn those conventions it
won't be much of a stretch to learn whatever your potential employer or client
wants to use. You'll also be able to explain to your colleagues why they
should choose on over the other.

~~~
automathematics
I'm curious why you recommend dart? I definitely wouldn't put that on my list,
but everything else seems pretty on point.

~~~
khaki54
Dart is kind of speculative -- but it has the backing to be a big thing in a
few years. And since it's the "anti-javascript" I think it adds more to a
developers versatility than learning 5 javascript frameworks.

Our dev teams that have adopted it like it, and it's been very successful for
them.

~~~
automathematics
Yeah but they just announced the removal of the VM from chrome and making it
compile into JS, right? Did that change your opinion at all?

~~~
spankalee
Dart's always had to compile to JavaScript - the VM was probably never going
into other browsers even if it went into Chrome. All of the developer
productivity benefits are still there.

------
happycry
I don't necessarily think that its dying. There was a certain hype around Ruby
on Rails for a while, and that hype seems to be on a decline. But by no means
does that mean that it isn't being used widely on the web.

As with any framework, once you get really familiar with how it works, you'll
enjoy the benefits. If you learn it well enough, you'll be able to take some
of the concepts/philosophy from Rails and apply them elsewhere.

------
gt565k
I believe the correct answer here is, don't be a framework fanboy

[http://www.slideshare.net/NeilGreen1/framework-
fanboys](http://www.slideshare.net/NeilGreen1/framework-fanboys)

Learn Rails, Django, and other frameworks. If you can make something using a
library instead of a framework, then do it. Use the tools that are right for
the job.

I recently graduated college, and had already worked with Rails and Django. My
first job out of college uses Spring MVC. I'm on my 3rd (back-end) web
framework.

Once you get pretty comfortable with 1 or 2 frameworks, it's that much easier
to pick up a new one. Each framework has pros and cons. Certain things
integrate better with certain frameworks.

Again, use the right tools to solve your problem and don't be a framework
fanboy!

------
tptacek
All of Facebook was built in PHP long after the bells had started tolling for
PHP's demise. People still vociferously defend its use. Predicting the death
of a programming environment is a sucker's game.

Avoid jobs that require you to be an expert at a particular framework in the
door.

------
noodle
> i saw that its job market is declining

Not really.

> is it worth my time to learn for employment opportunity

Yes, if you're interested.

> what is the hottest things right now in development job market

You really can't go wrong with JavaScript in general. Its a requirement for UI
development on web apps, and it can also be used for many other things.

------
gregors
No.

Server side web frameworks in general have been stagnating, but for the most
part they're still necessary. Rails is great. So is Django, .Net MVC,
Express.js, Yii etc. Also learn JavaScript and some front-end frameworks
Angular, react, etc.

There is also a lot of interesting work being done outside of the web e.g.
mobile, embedded systems, data analysis. Find something you think is
interesting and go for it!

------
the_watcher
Rails isn't dying, it's just a lot less difficult to hire Rails programmers,
as it's brought Ruby mainstream enough that nearly all software engineers have
either learned it or are more than capable of learning it. The "hottest"
programming languages right now seem to be the various JS frameworks. If you
are looking for highest paying, I doubt the old standards of C, C++, Java, C#,
etc. will lose their place as the most reliable ways to make money as a
software engineer.

Another change is that more and more startups are launching with just a mobile
app, meaning Swift, Obj-C, and Java will be in demand.

------
benrweiss
Does the decline of rails point to a larger trend of the rise of data-focused
applications which other frameworks might be preferable - python in
particular. You might to think about your language skills in a broader context
of what you will be doing with that skill.

------
userisuser
[http://harmful.cat-v.org/software/ruby/rails/is-a-
ghetto](http://harmful.cat-v.org/software/ruby/rails/is-a-ghetto)

~~~
claudiug
is this post quite old?

~~~
jordsmi
It says 2007-12-31

------
yellowapple
> i saw that its job market is declining

Where? Rails is still incredibly popular last I checked. It's not getting as
much press lately as, say, Node.js or whatever frameworks Go has, but the job
market for Rails developers is still pretty strong, if not one of the
strongest.

> what is the hottest things right now in development job market ?

COBOL.

I shit you not.

You would not _believe_ how many government agencies, financial institutions,
healthcare facilities, etc. still rely upon ancient COBOL codebases running on
ancient mainframes that are currently maintained by ancient programmers on the
verge of retirement. New COBOL programmers are in _very_ high demand, but the
supply is atrociously low (for good reason; COBOL makes PHP look as elegant as
Lisp in comparison). If you can list COBOL expertise on a CV/resume, you will
be hired; it's cheaper to hire you for hundreds of dollars an hour than to
hire a full development team for even more hundreds of dollars an hour to
migrate to a modern platform.

\---

If, on the other hand, you're _not_ in a masochistic mood, you're pretty well
served learning Rails (or any other "model-view-controller" or "MVC"
framework, like Django or Catalyst or what have you); once you're intimately
familiar with MVC concepts and how your models/views/controllers are
implemented and interact with one another, moving to another framework is just
a matter of learning new syntax.

If that's not enough, might I suggest Erlang/OTP (or perhaps its children,
like Elixir or LFE)? It's been getting some well-deserved praise lately for
being very well suited for networked software development (including web
development). If you're already familiar with Ruby/Rails, Elixir (along with
one of the web/MVC frameworks for it, like Phoenix or Sugar) would be a good
fit. Quite a few projects use Erlang extensively (Heroku, GitHub, and (if I
remember right) Chef use a lot of Erlang, usually to route requests to
subprograms written in other languages like Ruby). If nothing else, though,
it'll give you a good background in concurrent programming, knowledge of which
is increasingly sought after in modern web-facing application development (as
evidenced by the recent popularity of Go and Rust, both of which promise
better concurrency models than existing non-Erlang solutions).

While you're at it, being familiar with JSON and SQL is a good thing,
regardless of what other technology/ies you end up going with; even if you
don't ever work with those things directly, JSON and SQL (particularly in the
form of PostgreSQL) are increasingly-ubiquitous in modern web-facing software
(which is where most of the market is).

In reality, unless you're learning something fairly exotic (like Prolog or
PL/I) or absurdly new, you'll be fine job-wise. Even languages whose glory
days have faded - like PHP and Perl - have lots of job opportunities, whether
from existing codebases needing maintenance (Wordpress comes to mind) or
relatively-new codebases that still feel those languages are the best fit
(DuckDuckGo comes to mind). Java - like COBOL but not _quite_ like COBOL - is
another example of a language with a _lot_ of enterprise users in high demand
for those fluent in it to help maintain those codebases.

\---

In summary, yes, Rails is totally worth your time to learn for employment
opportunity. It still has a _very_ strong job market, and even if it someday
doesn't, the MVC concepts you'll learn by learning Rails will apply directly
to most other modern (and probably future) web frameworks, thus helping you
learn those new frameworks and continue to be employable.

That all said, learning a language or framework or somesuch solely because
it'll easily land you a job is a good way to make you hate programming
someday. Learn a language because you like that language, not _just_ because
you want a paycheck.

~~~
merrua
Yah plenty of people have COBOL though, the expertise is the problem. No new
projects to go from begininer to expert. I know a bunch of people trained in
it, only one person I know with expertise in COBOL and they are not junior.

------
paulhauggis
I've noticed that many of the Rails advocates moved to the next 'cool' thing,
which is Javascript frameworks like Ember and React.js.

In terms of employment, it's better to learn PHP and Python.

~~~
subsection1h
> _Rails advocates moved to the next 'cool' thing, which is Javascript
> frameworks_

Who are these "Rails advocates" who have moved from Rails, a server-side
framework, to client-side frameworks? Since they've moved on from Rails and
apparently no longer need a server-side framework, are their projects powered
by third-party APIs?

> _In terms of employment, it 's better to learn PHP and Python._

Which PHP or Python framework is more popular than Rails? Not Laravel or
Django.

[http://www.indeed.com/jobs?q=PHP+Laravel&l=San+Francisco%2C+...](http://www.indeed.com/jobs?q=PHP+Laravel&l=San+Francisco%2C+CA&radius=0)

[http://www.indeed.com/jobs?q=Python+Django&l=San+Francisco%2...](http://www.indeed.com/jobs?q=Python+Django&l=San+Francisco%2C+CA&radius=0)

[http://www.indeed.com/jobs?q=Rails+Ruby&l=San+Francisco%2C+C...](http://www.indeed.com/jobs?q=Rails+Ruby&l=San+Francisco%2C+CA&radius=0)

