How I transitioned from .NET to Node and what’s worked for me
I left my job as a full-stack .NET developer and bought a MacBook Pro. I started a new job using NodeJS, ES6, React and Redux.
Let me take a few steps back and explain why I did this
During a job interview, I was asked about React. At the time I had only read about it, but never used it.
The team I was joining used React in a project and they were looking at using it across more of their projects down the line.
It was a library which only did one thing and it did it well — it rendered views.
Jack of all trades, master of none — my dad
Unfortunately, I didn’t get to use React much at work. I was still working on ASP.NET MVC and our potential React projects were much further down the line.
I learned a tremendous amount of front-end skills at this position and I was loving it regardless of not being able to use React.
After using Node for more than just simple tutorials or some “Hello world” app, I realized it’s what I wanted to shift my career towards.
I started using ES6 and that just opened up a whole new can of worms.
Fast forward to a few months ago
I resigned as a .NET developer and had taken up a position as front-end developer at a start-up where I’d be using NodeJS, ES6, React and Redux.
Shit, I was frightened and I knew I was going to be completely outside of my comfort zone.
I was ready for this challenge, I wanted to do it.
My first few days were horrible.
I felt lost — it felt like I didn’t know what I was doing.
I missed Visual Studio.
Where was my intellisense and code hints?
Where was my debugger?
I was pointed in the direction of Atom, a simple text editor. I installed ESLint and learned to use the Google Chrome dev tools extensively for my client side code.
I felt at home, yet something, just didn’t feel right.
For a few weeks I’d be switching between Sublime Text and Atom to see which one worked better for me yet, I never thought of looking at what Microsoft had to offer.
For the first time I used VSCode properly and I lost my mind.
It was faster than Atom, had a great interface, a Node debugger and some really great Git tools.
Intellisense? Yeah, and it worked really well too.
I was so excited.
My preferred way of doing things
I really don’t see myself building views in any other way again.
Angular 2 is a great contender here, sure, but React just does it for me. It’s straight forward, the syntax is easy to learn and I’m happy to be on the bandwagon.
ES6 and Babel
Where would I be without these two?
Yeah, I have to compile everything using Babel so it can run in Node or in the browser but it seems like a small trade-off to save hours of dev time.
It’s definitely worth it.
Damn. If only I started working with this earlier.
It’s a great runtime and I think most people often forget that it can be used for more than just server-side code. Almost anything you can do in .NET or Python for example, can be done in Node.
Shots fired. I’m that guy.
I prefer using Grunt over Gulp for possibly, the worst reason — it has the coolest mascot.
Honestly, I prefer setting up Grunt tasks. It’s not just the mascot.
Syntax highlighting and code completion.
I couldn’t be happier with my transition from .NET to Node.
If you ever feel the need to try a new tech stack I would definitely recommend it.
If it’s shit, it’s shit and try something else.
If you enjoy it and find yourself preferring it, well then, I’ll leave it to this guy.