Skip to main content
This post comes after the Java User Group PH meetup last night (July 9, 2026), where, after my talk, a few of my peers asked me for some advice on progressing their Java learning journey. Before I lay out my response though, here’s my obligatory self-evaluation: I’m not going to claim that I’m a Java expert; I know that I’m not there yet. Being an expert takes more than knowing, after all. But, I feel confident enough to share my journey so far because I think you too can learn something from it. Alas, it’s not my goal to be the authority here, but rather, a peer in the same learning journey. Got it? Alright, onward, then!

Getting the motivation

Perhaps the hardest part in learning anything is first getting the motivation to start. Before you even open a book, enroll in a course, or pull up a YouTube video, you need to ask yourself why you want to learn Java at all.
  1. Is it for the promise of job opportunities? Web development is incredibly popular right now, and you’d likely discover just as many opportunities there. Why Java specifically?
  2. Is it because you hear it’s one of the most popular languages out there? Well, yes, it might be the biggest programming language out there. But there’s also C#, Kotlin if you’re interested in mobile development, and Python if you’re looking to get involved in AI.
I’m sure there are more questions one could ask to him or herself, but I hope the two I wrote above gave you something to mull over.

What motivated me

I jumped around several languages, from C#, C++, Python, and almost Rust, before I found Java again thanks to our Object-Oriented Programming course last year, in my 2nd year of college. This alone gave me a reason to come back to Java. It was then I realized that I loved the idea of building maintainable software, which I’m sure you’ll find is one of the core promises of the Java SE platform. I started thinking that I didn’t want to just write code, I wanted to make them last for long, and in such a way that fellow developers could easily pick it apart. That’s not to say you can’t build maintainable software in other programming languages. In fact, you might find sometimes that it has a few big limitations when it’s put up against native programming languages like C, C++, and Rust (See State of Valhalla, Part 1: The Road to Valhalla). The special thing I saw in Java was how everything just made sense. Yes, it’s verbose, but I think that’s part of what makes it special: it doesn’t try to bury everything in syntactic sugar.

What is syntactic sugar?

Syntactic sugar is the set of language features that make certain ideas and operations easier to program, typically by offering certain keywords or syntax that accomplish the same outcome as more/longer lines of code.A good example is Python’s list comprehension feature:
even_nums = [x for x in range(10) if x % 2 == 0]
Which is syntactic sugar for:
even_nums = []

for x in range(10):
    if x % 2:
        even_nums.append(x)