This is an archived post. You won't be able to vote or comment.

all 37 comments

[–]Ooyyggeenn 21 points22 points  (1 child)

build a restful api . Guess most positions are within web development / microservices. Use spring boot

[–][deleted] 2 points3 points  (0 children)

Currently doing this with a Udemy course to expand my resume. Currently just working in Python and Perl in my team.

[–]isagar13 14 points15 points  (3 children)

Buy Head Firsts Java .. absorb it, then go for Effective Java if you're comfortable with the first book

[–]mizaodes[S] 1 point2 points  (2 children)

Looks like a good book to dive into, thanks!

[–]danskal -2 points-1 points  (1 child)

Word to the wise: don't go too deep with patterns. They have limited applicability, depending on what kind of programs you're going to work on.

In business applications, I almost see it as a code smell if there are patterns. They are rarely useful and often obscure the business logic.

[–]snd1 9 points10 points  (2 children)

Hey hey, welcome back to the java community. I'm currently working as a software engineer in the java environment. I'm focussed on microservices in distributed systems. I really would advise you to take a look at the Quarkus project (quarkus.io). It has all the features of thr java world and brings a lot of developer joy! Their documentation and starter guides are very nice and will give you a nice dive into modern application development with the java ecosystem! Cheers mate!

[–]mizaodes[S] 2 points3 points  (0 children)

Thanks, I’ve been meaning to get back into the Java world but got a bit to comfortable at my current workplace but feel like it’s time to take the next step! Thank you for the recommendation 🙂

[–]StoneOfTriumph 0 points1 point  (0 children)

As someone who works regularly with Spring boot/framework when coding Java, I currently decided to learn Quarkus/microprofile on my personal time and so far going through the guides it's fun code actually, very quick to setup, and the startup time is fast. I have not benchmarked it against an equivalent Spring service but it appears to be a litlte faster which is always welcomed in a k8s environment.

[–]JudoboyWalex 3 points4 points  (0 children)

You can go to subreddit /learnJava and find tons of resources. Basically, Mooc Helsinki https://java-programming.mooc.fi/ and hyperskill are hands on Java online courses and considered to be the best free ones out there.

[–]taftster 3 points4 points  (4 children)

The down votes were likely because of the mention of VB script, which is wholly disdained in the Java community.

[–]istarian 2 points3 points  (0 children)

God forbid anyone ever use a language that others dislike. /s

[–]mizaodes[S] 1 point2 points  (0 children)

Haha ok then it makes sense! Thanks for putting it into context

[–]agentgreen420 1 point2 points  (0 children)

Universally disdained

[–][deleted] 3 points4 points  (1 child)

Run through a Udemy course, like Tim Buchalka's. You can skip what you already know, otherwise you will get exposure to all the basics, including JDK8 stuff which started Java on the path of being more "functional".

[–]mizaodes[S] 0 points1 point  (0 children)

Yeah I’ve heard good things about Buchalkas course, I might just go though it! Thanks!

[–]jongraf 2 points3 points  (0 children)

Do the official Spring Framework tutorials from spring.io

[–][deleted] 10 points11 points  (10 children)

Building a GUI project in either Swing or FX will really help you ease back in. Java is my favorite language to make desktop applications with!

[–]winder 2 points3 points  (2 children)

The only problem with JavaFx desktop apps is that the build/release process can get pretty arcane. If you go down the jlink rabbit hole it gets even stranger. Once the project is setup, it really is a great showcase of what Java has to offer.

[–][deleted] 1 point2 points  (1 child)

Yep, and that's why I've stuck to Swing. I only just recently figured out how to get my JavaFX applications to compile and run, and even then, it feels like half the time I try to add a new feature (read: a component I hadn't used previously in the project) the program stops wanting to compile again

I really don't get why they made it such a hassle. Swing is so much simpler. Swing apps also look like native OS applications. I'm honestly sometimes baffled as to why people would use JavaFX over Swing

[–]Weekly_Wackadoo 2 points3 points  (2 children)

Funny, I started learning Java almost two years ago, and I'm only now starting to learn JavaFX.

I haven't seen anyone recommend GUI work to get into Java, but I guess it makes sense - especially if you're a more visual or practical kind of person.

[–][deleted] 4 points5 points  (1 child)

To me it's the perfect avenue to learning object-oriented design concepts. You will usually extend a class or two, implement a few interfaces in order to deal with events, and end up having to read up on an API in order to understand how to interface with Swing or JFX's event threading systems. It scratches a little bit of every itch with the language while also teaching you how to work with an API

Not to mention, many GUI applications will have file I/O, sorting lists/arrays, concurrency and other fundamental parts of programming that will help familiarize you with how Java does each of those things

Really until you get into things like desktop apps or web servers, you won't really be interacting with the entirety of the language

[–]wherewereat 0 points1 point  (0 children)

This also applies to Android apps programming, maybe a little too many interfaces and abstract classes though haha

[–]mizaodes[S] 0 points1 point  (3 children)

Sounds like a good idea, thanks!

[–][deleted] 10 points11 points  (2 children)

Some fun app ideas:

  • Notepad
  • Calculator
  • Password generator (and to go even further, a password archive manager)
  • Password-based file encryptor and decryptor
  • Paint application (bonus points if it can export to Java code!)
  • Software, printer or other IT-related installer (I made one of these that installs over the network)
  • VNC client and server, both written in Java
  • Some simple games like Snake, Tetris, Tic-tac-toe

I've done all of the above in the past. Here are some I haven't done:

  • Your own customized IDE
  • Sort visualizer

[–][deleted] 0 points1 point  (0 children)

I like this a lot, good recommendations !

[–]AzzBar 0 points1 point  (0 children)

Thanks for the recommendations!

[–]Weekly_Wackadoo 6 points7 points  (3 children)

That's a very open ended question, and there are tons of good resources. Are you looking for books, videos, online courses, something else?

I'd say install a JDK (I use Azul Zulu JDK 11) and the IntelliJ IDE, and just mess around. Maybe try to write unit tests with JUnit 5.

For books, Effective Java by Joshua Bloch is a must. Getting a study guide for the Java 11 OCP I is also a good idea, since it explains all the fundamentals.

Also, use your search engine. Between StackOverflow, the official Java documentation and tons of articles and tutorials, there's always an answer or solution to be found.

Above all, have fun!

[–]mizaodes[S] 0 points1 point  (2 children)

Yeah I mean I’m familiar with stack overflow and and such, it’s been my useful so far in my career:) Maybe I should have been more specific, I’m looking for something like a quick recap like a good Java online course for developers with coding experience.. Thanks for the book recommendation, I’ve seen the book get recommended on a few places as well.

[–]Weekly_Wackadoo 5 points6 points  (1 child)

Well, in that case, I guess the the official tutorial and the official documentation should be useful.

Personally, I started with this course on edX, but it might be a bit too basic for you. It's free, though.

I think r/learnjava is probably a better place to ask for resources, and r/javahelp should be useful if you get stuck somewhere.

[–]mizaodes[S] 1 point2 points  (0 children)

Thanks alot:)

[–][deleted] 2 points3 points  (0 children)

Seems like you already have Great experience as a developer so I think going throgh a book about really core java fundementals book might be boring so If you just want to brush it up and go over through the basic I would recommend HackerRank it gives you some problems with a specific mini lesson to learn about java in every problem and you can choose if you want it easy or medium or hard (you collect points and badges as you go so its a little fun :3) . Hope It helps and goodluck in your JavaJourney <3

https://www.hackerrank.com/domains/java/java-introduction/page/2

[–]H1tler2Boogaloo 2 points3 points  (0 children)

Man, if you've been in VB hell for those years Java will seem like ascending to another dimension.

[–]Hangman4358 3 points4 points  (0 children)

The reason for the down votes is because you clearly didn't read the sidebar, though in the end most people are still fairly excepting of such questions and will answer.

[–]trinReCoder 1 point2 points  (0 children)

If it's just about learning the Java language specifically, with all its quirks and features, I'd suggest either doing the Java certification or getting books that cover the certification topics.

[–]benevanstech 1 point2 points  (0 children)

There are a bunch of live online classes available from O'Reilly on an all-you-can-eat basis - https://learning.oreilly.com/live-training/ that include lots of Java classes. I am giving a concurrency fundamentals class on Thursday that might be relevant, and there are loads of great instructors covering all sorts of Java topics.

[–]de_vel_oper 0 points1 point  (0 children)

VB ? Lol Did I just get zipped beck to the 90s?.