1. Is react making ASP.NET MVC obsolete
  2. Should I start using JS in my .NET projects
  3. Backend / Frontend and career options

1. Is react making ASP.NET MVC obsolete ?

There is a huge hype around react, same with Angular2 and also Aurelia. This might create a feeling that maybe ASP.NET MVC is obsolete but it is not. ASP.NET MVC is an apple when react is an orange.

Same thing happened some time ago when RoR launched. There was a huge hype and I was also afraid that maybe RoR will make my WebForms knowledge obsolete. What RoR did, is it caused WebForms evolution to ASP.NET MVC. Instead of killing technology, it has helped the other one. Same thing is happening right now with ASP.NET Core.

The answer is no it won’t make it obsolete but in my opinion ASP.NET MVC will be loosing adoption. We still have to wait for new ASP.NET Core to see where it goes and how good it is. I predict a separation of front-end and back-end, soon. Then you will still have ASP.NET in some form on back-end providing API with react on client-side.

Learning react will be beneficial to your career if you want to specialize in web development. With react-native there is also a chance that this knowledge could be useful in mobile world. There is Angular2 with Typescript, this mix would be more friendly to start with as TS is kind of static typed. Feels like C# oriented world.

2. Should i start using JS in my .NET projects ?

Assuming that we are talking here about hobby projects then yes. Even if you want to be backend dev it is good to know a bit about frontend. Bear in mind that react, angular etc. are not a perfect place to start. For WEB try to apply some less complicated ‘frameworks’, like knockout.

In learning JS try Pluralsight, Code Academy, Codewars. Read classic books like “JS The good Parts”. After some practice and learning more advanced topics can be found here You Don’t Know JS.

Javascript is eating the world. There is enormous hype. A lot of innovation happens on the client side and with node it invades back-end too. It would be a mistake to ignore this piece of IT world for a web dev. To be more involved I recently moved to Mac machine and write react code in VIM. A huge step for .NET back-end developer like me.

Javascript might feel a bit weird, clunky and sometimes not polished. ES6 changes this and shows a sign of a mature interesting language. The felling that Javascript is about some hacked scripts is ending. JS community embraces proper Software practices and approaches. This is a necessity as web apps are more complicated.

3. I do notice mostly front-end developers job offers. Should i focus on .NET to find nice interesting projects / companies ? .NET still feels more corporate I don’t want to end up in corporation ?

IT market is Huge. The job offers you see are the ones that you want to see. Some specialties, frameworks, languages might be more popular but there is still a huge demand for programmers of all kinds. It also depends how wide is your search range. IT is different in each country, city, region. In Silicon Valley a lot of Reliability Engineers ads, in Poland there are a plenty of Front-end jobs. It doesn’t mean that there are no other jobs available. Widen your search range, find new ‘channels’ of job opportunities.

Maybe you live in an area with small IT market, it might be time to move on. Remote working becomes more and more popular, maybe that is an option.

After some years and further specialization you will create a network of connections and places to look for work. Your own your personal bubble with the job offers you are interested in. Keep in mind that with more experience and knowledge the pool of interesting job offers will decrease. Pool of interesting companies is getting smaller if you are better. That is why you need to build a reliable network of people and companies to be aware of jobs that are interesting to you. It is good to create a personal brand, but it’s quite difficult to achieve that :)

The same thing applies to interesting projects, companies. Bigger network, personal brand is helpful in finding those. Good companies and interesting projects are rare and those job offers are not available publicly. You will also be competing with other good developers looking for such a places. That is why you need the network and a brand.

Sometimes you might get lucky just like me when I found position in awesome company JustGiving. But were I lucky or maybe visible thanks to my work in community, blog, twitter etc. This Exposure might have increased my ‘luck’, and one example of connections. @pawelsawicz is making huge steps in his career working for great companies with interesting projects beacuse I knew him and when there was a hidden ‘job opportunity’ in JustGiving I recommended him …

More Resources to check with JS:


Updates

AD 2 Marcin Budny suggestion to learn JS

Marcin has posted a nice comment below about learning JS, his approach would be:

  • Start with simple dom manipulations using JS to feel the basics
  • Add some JQuery into the mix to see how useful it is
  • Decouple view from view logic and embrace MVVM pattern with 2way bindings

I would still add something in between JQuery and MVVM, maybe again some simple one way binding, two way binding framework. Me and Marcin we were kind of fortunate to be part of JS transformation. We know where does JS come from, its past, problems, quirks, issues. It is like with Garbage Collection, you won’t appreciate it until you have tried writing manual memory allocation instructions in C or tried new and delete operators in C++.