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.
Top comments (14)
Well i kinda had the same experiance, im a 4 years old PHP Developer now and i decided to learn Go because it does the job php does but better and faster, when i sent my CV i said i was applying for PHP Job but they seen the "Go" line and asked me to work in Go, i was like "but i've way better experiance with PHP" and didn't want to say that i was new to Go like i literally had only 1 program which was some accounts checker program (which was actually good, i even made a Gui and a proxy option haha), but at the end it was super easy to adapt, i ended up writing super professional go codes just after reading a book (the book is "the way to go" the best golang book in my opinion)
Going from one language to another is rather easy. Learning the new syntax is a matter of a few days and from then on you just need to adapt to the different mentality, which usually isn't that hard unless you're switching between completely OO and completely Functional code.
I might do the same..I love PHP, but most of the "serious" companies work with .NET, especially Banks, which offer amazing careers.
It's funny, I was just thinking about this today then I see your article! I am assuming it wouldn't be that much hard to transition to C# after PHP.
Also, I will count on you, Derrick, to help me out! :D
Anytime, but I will warn you that it's not easy by any stretch.. But I had so many people lend me a hand that giving back is definitely something I am willing to do.
You went from beginner to pro in two years, and I assume that was basically your second language, right? That's quite an achievement, and I don't think everybody moving to C# will be aiming for that at first.
I am doing PHP from the last 3+ Years and recently fall in love with c# .net stack. mainly as it will allow me to work on IOT and automation stuff along with web development all using a single platform.
Same reason why I love Lua: It gets me from IoT to browser in one language (well, two, to be precise, as I don't shy away from writing C extensions when necessary)
Thanks for sharing! Trying something similar with PHP -> Java. I've been heavily focusing on improving general OOP skills and techniques. Counting on it to help my own the way.
Well good luck, the main thing I found difficult was the need to create more formal code structures such as those in OOP and FP such as design pattern methodologies.. Take a look at the Gang of Four book to have your mind blown then look at the Daily Designs Pattern by Matthew P Jones, it really helped make it stick.
Thanks for the advice!
Hello Derrick, I'm glad I read your article and knowing that it's okay/normal to feel overwhelmed when you move to another programming language, you mention buying and reading some books, which ones do you recommend for getting into C#/Asp.net from beginners to experts? Thanks.
Well I ended up buying several books over the course of two years but the biggest ones for getting started were these two.
amazon.com/MCSD-Certification-Tool...
exceptionnotfound.net/downloads/da...
The first is actually the Wrox study guide for the MSCD exam.. But the book is laid out excellently and the examples are all top notch. The second one brings the Gang of Four design patterns into the C# realm and makes them easier to understand.
Thanks for sharing. I'm curious in this context what is a "Senior Dev status" can you elaborate?
Cheers
Yeah weird title eh? In my case I am referring to being the one with the most contextual knowledge in my subject.