Switching out a familiar tech stack for something new can be daunting, especially when a project is already underway. I was recently working on a web application, originally built in ASP.NET MVC 4, that needed to be ported to Java with Spring MVC. The .NET application’s front end was jQuery and HighCharts JS, and the new Java application’s front end would add Angular and D3 JS to the mix. It was a major overhaul and there wasn’t a lot of time to make it happen. As a developer, the reasons for these kinds of changes might not be completely in your hands, but, at the end of the day, you still have to deal with it. So, what should you do when something like this happens? Panic? Curl under you desk and cry? Stare at the blinking cursor in your IDE as sweat pours down your face and you slowly go insane? You could do any of those things, but we decided to go a different route. Here are three key points that helped us during the migration.
Remaining calm and collected is the best way to move forward with changes to the tech stack. Focus on the learning you’re about to do and the new opportunities open to you in the future from knowing this new tech, either in your personal or work projects. Sometimes our egos get in the way and we lack the humility to use technology we may have once vowed never to learn, or at least not learn without complaining the entire time. Try to stay positive and look at the good that can come out of a switch.
When trying a new stack it is always important to start with the basics, even if it’s something as simple as a “Hello World” project. This is important as this will allow you to learn the new stack in an easy way. You can incrementally add to your skills and take small steps to pick up the new technology.
The first thing I did when we switched was build a Hello World app with Java Spring MVC. This helped me set up my environment, so I was prepared for the switch. I spent hours installing the Java Development Kit (JDK), Eclipse and Apache Tomcat. During the setup I started to appreciate the ease and beauty of Visual Studio, which I’d been using for .NET development. Learning a new tech stack allowed me to really appreciate the things I liked about the old stack and see it in a new light.
I spoke to the Java developers on the team and asked them for tips and tricks when using Eclipse and developing the Java application. They were very helpful when it came to debugging my localhost issues during the environment setup, as well as checking out the code and making sure the project was built successfully. Asking for help, even if you feel the question may be very simple, is always good. Consult with your peers and the online community. There are so many helpful people, posts, and articles that are geared towards beginners of all tech stacks.
It was a great experience migrating from .NET to Java. It’s not something that happens often, but, you never know, it could happen to you. If and when it does, remember to have the right mindset, build a hello world project, and don’t be afraid to seek advice.