So, two and half years ago I was happily working for a University here in my home town. I was maintaining their massive Wordpress based website and had a thriving side business as a Wordpress/PHP dev on the side. I built widgets and custom content types and life was peaceful and tranquil. I was a self taught PHP Developer.
Fast forward to today...
I no longer have time to do PHP side work. I miss it sometimes. I was hired by a company that was, unbeknownst to me about to transition to .NET shop using a CMS that is written in .NET. Over the past two years I have been forced into a world of compilation, nuget packages and website initialization. It has been a helluva ride but I will tell you, if you want something bad enough you can adapt to anything.
First Rule: Don't Panic
When the announcement came down that the transition was gonna happen I remember feeling a sense of overwhelming panic. The other developer who had been hired was in the same boat I was and was extremely upset. The company was gonna pay to allow us to retrain but we still were starting from 0 (at least that is what I thought).
After I sat down and allowed the shock to pass I began looking at learning supplies. Which brings me to rule 2.
Second Rule: Reach for what/who you know.
When I had worked at the university I had the pleasure of meeting a lot of talented individuals who were skilled in .NET development. I began reaching out to them with questions and started networking within the .NET community here. That lead me to more information and resources that I was able to use to get ahead. I also began looking at similarities between PHP and C#/.NET. On the surface they seem disparate. But if you look beneath the branding you start to see that most programming languages, beneath the mystique of community and touted benefits are basically the same set of statements with different ways of writing them. "if statements", "for loops", etc.. are all there.
Third Rule: Learn or Leave
After about a year of working I began to plateau. It seemed like my knowledge had peaked and I was struggling again to deal with the new hires who already had years of experience in the language. The other guy who was still hanging on from the start decided to leave. It was very messy and I hope he is happy where he is now. As for me I decided to dig in again. I ended up taking courses online, buying GOD KNOWS how many books and just simply putting in the hours. I ended up missing full seasons of my favorite shows, I did what was necessary to rise to what I needed to be. I was lucky that my work respected my efforts and was patient enough to allow me to learn and work at the same time.
tldr; Got hired as a PHP dev, was bamboozeled and handed .NET/C# instead. Rose to the challenge and made Senior Dev status after 2 years through realizing that programming languages are generally similar across the board and working my ass off to learn what few differences there were.