Hacker News new | ask | show | jobs
by fatcatdogfat 2180 days ago
For devs transitioning into modern java development, I always suggest:

https://spring.io/guides/gs/rest-service/

Lots of new java stuff (for example newer springboot tools and projects) and old stuff (custom built applications that are no longer being updated and dynamic web applications that uses older building tools or older frameworks no longer supported like struts) are used at companies simultaneusly, so if you learn the new stuff, which is probably easier and more rewarding because its faster to build applications with, keep in mind you will eventually need to learn about the "magic under the hood" so dont hesitate to learn and read how things work.

If you want to learn about legacy dynamic web app or legacy spring (not springboot just spring, as they are different), google a tutorial for that and you will learn more about how annoying java web development used to be (and still is at most fortune 500 companies unable to upgrade to newer infrastructure, people that complain about java probably worked with one of these old applications),

If u are unfamiliar with the tools required to run these applications (like maven or gradle, or installing the java sdk and setting it up, getting your IDE working), you will learn about setting up a java dev environennt, as it can be a very frustrating, bug filled experience, dont get frustrated just google the error messages you will learn a lot,

Real life java application scenarios/projects that you can build for your portfolio:

-a SQL DB (google: how to connect java springboot to mysql database tutorial) connected to a Java API(google: springboot rest api tutorial) that talks to a JS front end

-a java powered calculator, chess, or hangman application to be run in terminal/console

-A java api that can send out json responses of true or false based on question and answers

The main reasons companies use java is because they built java apps ten years ago, and its easier to hire java engineers who can maintain that code, rather than get the company's major apps on a new language that would be harder to hire to support for

Im sure most companies wouldnt use java if hiring/they didnt have active users wasnt an issue, but regardless of that, the java development industry is very healthy and people are optimistic about its career growth for devs

Also suggested:

-improve ability to be able to complete "easy" java leetcode questions so if they give you those you arent caught off gaurd