Back in 2016 I quit my job as a QA tester to pivot back into my intended career as a software developer. (I had studied CS but got roped into QA as my first job out of school). I sat down and tried to build multiple rails sites as practice. I kept seeing all these Rails positions in the NYC area. I learned a few hard lessons after spending almost two years unemployed and running out my savings:

1. Yes there are lots of Rails jobs but they wanted senior or at least mid level people who learned the deep nitty gritty of Rails at other companies. Few companies were willing to hire you as entry level to work on the job. The few entry level jobs had an ocean of candidates from the bootcamps.

2. I hated looking at Ruby code. Coming from a Java/C# background in college, it just make no sense to me and was ugly. I learned that while there are a billion guides on how to build basic Rails apps, there is very little on doing more complex things. A lot of that knowledge is just spending the time in a job learning a lot of things you can't learn in a book.

Now that I have internalized MVC architecture much better now I have considered going back to Rails to learn what I couldn't comprehend back then but every time I think about it I think about all the horrible nights I was sitting in my basement depressed that I was forcing myself to learn this crap and getting nowhere.

3. I should have dropped it much sooner. Instead I dragged myself in misery day in and day out and entered a deep depression trying to get some position....anything in Ruby/Rails.

4. I even resorted to unsavory tactics such as super fuzzing my resume just to get my foot in the door and ultimately bomb final interviews when asked about the inner working of libraries such as ActiveSupport among others. (Like seriously? Did I have to read all the C source of Ruby to get some basic job?). This fuzzed resume got me in a position where I was getting a 90%+ callback rate and the majority of them led to the final technical interview where I would end up not knowing some Rubyism or having difficulty solving a Ruby question in their existing codebase. Many rejections were due to the fact that while I solved the problem, I didn't solve it in the "Ruby" way. I guess Java/C#/C ruined my brain. I am not worthy of Matz's greatness.

Eventually through sheer dumb luck I managed to get a Angular2+/Flask position at a super large oldschool company only due to my nice manager knowing nothing about the tech stack so he took a chance on me. I thank god for this opportunity as I was maxing out my credit cards trying to survive. This low stress position allowed me to fall in love with Angular and Python and I have never looked back on the horror that is Ruby/Rails.

Thinking about my experience now(and this is subjecting to my experience interviewing at dozens of NYC companies), I noticed Rails being used at all these silly hipster startups that mostly produce garbage anyway. I remember interviewing for this "art studio" that was producing a revolutionary camera system in partnership with an Italian company. The company was just one giant room with round tables where Rails people would be making the web backend that connected with their camera system. They produced the product and got rid of their Rails people a year later. That seems to be the nature of the ecosystem. I saw so much of that in the Rails community.

6. This experience taught me that the community of the language will evidently affect your day to day life and overall career prospects. The niche nature of Rails allowed people who got in super early to make massive mounts of money (hence all the Senior Rails job ads promoting 200K in NYC) but you are mostly stuck working for these "cutting edge" hipster companies and if you don't or want to fit that scene then you are SOL. Likewise Angular and Python attracted some startups as well as enterprise companies due to Microsoft's backing and its excellent library ecosystem for enterprise applications. The community is quite nice and has opened my eyes to what it is capable of. You can find startups using it or relax in an enterprise shop. Was a world of difference from Ruby/Rails.

Sometimes I shed a tear for losing almost two years of my life to this. But the reality is that I made many poor decisions from my college days up until I got this Angular job.