Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I consider myself a moderately skilled (definitely not stupid) .Net developer. Over the past 5 years I've been working with ASP.Net, ASP.Net MVC, SharePoint, WPF, Silverlight, RDBMS (SQL Server and Oracle). I maintain/contribute a couple of .Net OSS. I've also picked up F# and Haskell over the previous year.

I am currently employed at one of the better (best) software firms out there and would surely love to continue working here. However over the past 6 months opportunities in .Net have mostly dried up and all new work is headed towards ROR (and whatever is left towards Java).

I have never been apprehensive about learning a new stack/language for fun and have previously picked up Haskell and Python in my free time. I am however apprehensive as to what impact moving to a new entirely different stack would have on my career.

What would you do:

  • Change jobs if you don't find anything on .Net soon.
  • Try out the ROR stack for some time. If you find that its not your cup of tea, move back. (How would this impact my career and job opportunities in the longer run?)

Also it would be very helpful if there are any ASP.Net MVC folks who have switched over to ROR professionally who can share their experiences.

Edit: I have not done any development on a *nix box before. I've however used Ubuntu for fun and games.

Sorry if this sounds subjective.


migration rejected from Aug 17 '13 at 11:13

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by ozz, GlenH7, MichaelT, Dan Pichelman, Bart van Ingen Schenau Aug 17 '13 at 11:13

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – ozz, GlenH7, Community, Dan Pichelman, Bart van Ingen Schenau
If this question can be reworded to fit the rules in the help center, please edit the question.

Errr.. I meant to flag as off topic. Should be moved to – jfar Jan 13 '11 at 16:26
Will move, thanks. – SharePoint Newbie Jan 13 '11 at 16:27
career advice is off topic for Programmers too. 2011 though, wonder how he got on? – ozz Aug 16 '13 at 9:22
up vote 11 down vote accepted

I have been making my living off of .NET/C# exclusively since 2002, and I am an unapologetic fan of Microsoft's development tools, frameworks and OS's. I have also delved deeply into RoR, having used it to build a substantial (though under-marketed and under-used) web application (

I learned RoR not with the objective of getting away from .NET but rather to expand my horizons. I fell in love with Rails and even put together a Rails-centric resume, but I have never found such a position that paid the same rates as .NET/C#-centric jobs. I would have had to take a huge salary cut to work in Rails full-time.

That's not a possibility for me, so I continue to do work with it as a hobby. I still love .NET/C#, too, and I'm finding that ASP.NET MVC gives me a lot of the same buzz that Rails did.

Great answer. I myself was almost exclusively working in .NET from 2001 till 2008, and moved to Ruby (not just Rails), although I guess I would now have bigger salary if I stayed with .NET. But the salary difference wasn't as big as the difference in joy of programming. :) However, I see .NET is moving in good direction recently, both with C# improvements, and things as .NET MVC. I also consider F# a nice way to improve .NET career. – Mladen Jablanović Jan 13 '11 at 20:24
You'll find the thrill of moving to Rails is not so great for .NET developers already very happy with ASP.NET MVC. – Ed Andersen Aug 24 '12 at 4:44
@EdAndersen Amen. I tried.. and just couldn't.. – Simon Whitehead Aug 16 '13 at 10:13

I'll just pop in with my 2 cents (no experience with RoR).

If you are leaning towards getting out of .NET, and worried that jobs are drying up, then you should definitely expand your repertoire. If you think that you are edging into RoR territory, then start learning some sample programs and get a feel for the language.

If its something you enjoy, stick with it. You can probably pick up a lot of the nicer points on the job as well, should you find one that suits your needs.

That being many corporations out there are developing internal tools? I can't personally see that .NET jobs are drying up...possible that that is the case in your area...but I always see a ton of businesses interested in .NET developers near me.

I suppose that is must be a regional thing, as like you, I find that there are just as many .NET jobs as ever. Even more, perhaps. – Adam Crossland Jan 13 '11 at 17:32

I've been working on the microsoft stack for about 10 years. Started with classic asp, moved to webforms and eventually to MVC. My last few years of working was mostly with webforms but I launched a semi-successful website on MVC 1.0 a few years ago that I sold for a tiny bit of money (it wasn't big...the point is that it was a fully functional site that worked well enough to get purchased).

I recently found some freetime and was without work (by choice) so I decided to learn Ruby on Rails. It took me awhile to learn the whole *nix way of doing things, the command line, finding a good editor (vim :), learning the testing tools, learning BDD, etc. It was a STEEP learning curve for me personally but all along the way I have been loving it.

Now, I haven't looked for a rails job but at this point, just 7 months into it, I'm willing to drop my 10 years of experience on the Microsoft stack (and the salary that comes with it) to work fulltime in rails. For me, it's just THAT MUCH better than MVC. Now, I haven't used MVC 2 or even 3, but all I see is Microsoft trying to play catchup with rails. Take their new NuGet plugin system as an example, it is a straight up copy of the ruby plugin system. Take the dynamic feature of c# that's coming...isn't that a copy of ruby which is a dynamic language? I hear great things about their razor view engine but rails has had HAML for years (not sure if this is a good comparison as I'm not too familiar with razor. but notice it took MS until mvc 3 to introduce a competent view engine). I don't know if Microsoft is using something to compliment css like sass but if not they should.

I don't know, when I compare rails to mvc I can't help but feel like rails does everything better. Rails is easy to do TDD/BDD with, it uses git, the devs live in the *nix command line, their deployment methods are so simple, they are passionate about open source and giving back. Microsoft was so hard to do TDD/BDD last time I checked, people still used VSS or Subversion at best, deployment was usually FTP, there was so little community involvement compared to rails/ruby.

Anyway, I didn't mean for this to become a Microsoft bashing post but I guess my true feelings are coming out :) Anyway, the coolest thing about ruby/rails is the community. Take a look at the awesome open source projects in rails on github and you'll see what I mean. Go compare and codeplex. Take a look at these things, please investigate it yourself, I mean really give it a chance like I did.

For me, it's really about how much enjoyment I've been getting out of rails/ruby. If you are someone who cares most about your craft as a programmer I say go for rails. If it's more of just a day job I say stick with Microsoft and MVC.

Sorry if I offend anyone, these are just my personal views.


The premise of this question is wrong.

It makes no sense for a veteran .NET programmer to move to RoR, nor vice-versa. That's like asking if a carpenter should move from hammer to screwdriver.

They are different technologies, good for different reasons, each adept at solving different problems.

I'm only about 7-8 years into my career, but have completed projects in PHP, Ruby, Python, Java, C# and I'm sure some other scripting languages I don't remember at the moment.

You should pick up RoR, but add it to your skillset instead of thinking of it as a replacement for .NET. Your .NET should improve by learning RoR, and vice-versa. Your overall ability to solve problems (and therefore your marketability) will improve as a result.

Are u sure Java and C# are scripting languages ? :) – artjom Aug 16 '13 at 7:40
@artjom: agree, C# is compiled to native in Mono iPhone and also in MS cloud for WP8. – Den Aug 16 '13 at 8:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.