As I dig into the project, I want to talk about my rationale for broadening my skillset and growing into an unfamiliar tech stack. One of the things I’ve noticed in our industry is that there is almost this invisible wall that crops up between Java developers and .NET developers. I’ve been talking to some coworkers at work whose primary language or first language is Java, and we got to talking and debating things, and I noticed both of us talked very dogmatically at first. In the conversation, I decided I wanted to break down the barrier, and the way for me to better do that is to take a dive and see about using it to provide a solution to a problem that I readily solved in using ASP.NET.
One of the barriers to entering though, has been how to find content and articles that help someone translate a .NET/C# concept into one that can be explained how to do an equivalent in Java. I thought about this and talked to some of my colleagues and realized, with the proliferation of generative AI and LLMs, I could leverage something like GitHub Co-pilot, and simply use my knowledge in C# to syntactically write the Java classes, but also have it explain what something is. I’ve done this in my initial creation and fine-tuning of the project setup, and things are starting to make more sense, because I now understand that at the end of the day, most enterprises don’t use plain Java, most use the Spring framework on top of it, and this makes it feel more akin to what I am used in the .NET ecosystem.
At the end of the day, I also keep in mind, that C# originated from the same root of Java. They may have split into slightly different paths, but both are still tools to accomplish a task. Sometimes you want to use a flathead screwdriver, sometimes you want to use a Phillips head screwdriver. They both can be used and like in most technical design solutions, everything is just a trade-off of cost and benefits.