Hacker News new | ask | show | jobs
Ask HN: Is Rails really dying?
22 points by abdelhadikhiati 4106 days ago
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 ?
11 comments

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.

I'm curious why you recommend dart? I definitely wouldn't put that on my list, but everything else seems pretty on point.
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.

I wouldn't call it "anti-JavaScript", but "sane JavaScript".

Dart's very similar to JavaScript in a lot of ways, especially most of the syntax. The main difference is that programs have a static shape, which makes tooling and reading a codebase much, much easier.

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?
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.
Thank you very valuable response from you , i will certainly apply what you said there inchallah .
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.

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

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!

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.

> 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.

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!

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.

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.
> His dumb little company VaporSet had this stupid setup where the people deploying Rails didn’t have root access.

Pardon, but how is this stupid? Given the descriptions of people he has provided, I - as a system administrator - would want absolutely nothing to do with such people having root access on my servers.

Hell, that's how it is at my current dayjob. Most of the devs do have root access because we know they're competent enough to be able to handle that level of responsibility (not to mention that we're a small team, and I'm the only dedicated sysadmin, so it's nice to have the devs be crosstrained for simple tasks like basic server provisioning while leaving me to more difficult tasks like stack design and low-level Unixy troubleshooting goodness), but our setup's engineered in a way that code deployment does not require superuser privileges.

is this post quite old?
It says 2007-12-31
> 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.

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.
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.

> 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=Python+Django&l=San+Francisco%2...

http://www.indeed.com/jobs?q=Rails+Ruby&l=San+Francisco%2C+C...