.Net to open source: a short story of my experience.

Like many folks out there, I started my software development career under the .Net platform, which is funny because on my college days I used to hate all .Net related (and all non open source as well, you know, children…). The fact is: those days changed.

Unexpected things are happening…

I remember my firsts days on my first job: write a stored procedure on SQL server, create a new form with this webforms template and I was just thinking: who’s gonna save me now? (I was an HTML guy and sometimes I was having fun with the old JAVA). Then the normal process, the training, the practicing, the sleepless nights and all the “swag” you can expect from a newbie developer. With the time .Net and I started to have a very good relationship based on “how easy is to build a REST API here” and all that stuff. MVC was great (well, almost, if you know…) and I have to admit SQL server management studio is one of the greatest database engines I’ve ever worked with.

3 years later I changed my job, started with this new team of smart guys with MacBooks and javascript stickers (intimidating and believe me this is not a sarcasm) and I was noticed I was part of a front end team with a lot of redesign tasks and we’re moving to open source *broken glass sound here*. C’mon, the only thing I knew about front end was the old and effective JQuery and some bootstrap designing but well, challenges waiting here we go.

New friends coming

As .Net developer my first challenge was to change my version control overview, from Team Foundation Server to Github: no more clicks, no more pretty tools integrated with Visual Studio and a lot of commands and of course a handsome Github account. First days were terrible, I wasn’t able to understand the cherry-picking, the stashing, why a commit… (funny because you have shelve on TFS and it’s almost the same) and well a lot of stuff to learn. Git is great, TFS as well, versatility is the key.

Then let’s talk about the tech stack: oh my… From: hey Jhonny, I’m using MVC to build this great page to hey Jhonny, I’m using webpack, react, babel, EcmaScript6, Saas, preloaders, loader, add more stuff, add another plugin, node, add a new tool with a nice sticker here… and I was just WTF!. My first reaction to this was: well or maybe Microsoft is relegated or maybe the new approach is full of useless things, this is a debate with no end and it’s not the point of this post, you’ll have your own conclusions.

Working alongside these cool guys helped me a lot to understand the fundamentals of all this sort of things at least, and today we’re working on an interesting redesign project. Visual Studio is there somedays but most of the time we’re using Sublime and Atom for our tasks (I miss you IntelliSense).

Why I’ve written all this?

Remember when I said:

On my college days I used to hate all .Net related

And then:

With the time .Net and I started to have a very good relationship

And finally:

Versatility is the key

The most important thing I’ve learned of all this is you have to be versatile, you have to adapt to the situation and you have to practice a lot. Versatile sounds good, looks good on a CV but it’s a must on your daily if you don’t want to be relegated. You can see how my approaches have changed from end to end but the goal it’s the same: develop and deliver. I hope this short story could be a good guide to the newbies who are hating things I don’t like, there are better ways to waste the time: learning about them, because maybe in your new job you’ll have to use them, BUT… don’t misunderstand me, at the end of the day you have to master your skills to be successful.