I have been working in the surveyancing industry writing software for ~8 years, the first startup started off as a SaaS however ended up being an enterprise software.
I wrote the first product in asp.net/mvc, coding did not seem to flow as well as I would have liked. I was fighting certain parts of the framework (testing), more than I should. Mocking the user context was never easy whilst using the built in asp.net authentication library. I was running into problems like — should tests hit the database? add a repository layer?
After hearing a lot about rails, at the time I was actively using GitHub, heard of shopify and basecamp. I thought let me try this framework out, how good can it be? Right from the start, something felt right… for me.
From migrations, to declaring models and testing. My productivity sped up. I did not feel overwhelmed, rails handles a lot of stuff for me and it just works. Some world class gems out there by amazing people and companies, I definitely got the impression this was an active community. A lot of people I talked to, said rails was good, but you get no support — kinda on your own. It does amazing stuff, you can be very productive but when something goes wrong, what do you do?
Well, I thought. I am a developer, so if anything does go wrong, I will fix it. To be honest, not many things have. Documentation has been a bit sparse in a few gems but armed with Stackoverflow, looking at the source code and unit tests, I have managed to get through and write something that I shipped successfully. Rails uses a lot of convention over configuration, so unit testing is not an after thought and most things just work, quite well I may add too.
Now that I have more than a years experience using rails, I still love ruby, the language is very easy to pick up and rails just keeps getting better and better. I have used javascript extensively and dabbed in node.js too, so that may be something I look into next.
I read a really interesting point a while back discussing what library/gem/tool to use and how to decide which is best for you.
Every framework has its pro’s and cons, some are faster, some are easier to use and some are just fun. To pick something for you, pick the one that makes you the most happiest.