Once on my blog I got a question about how I started my career. How did I study and learn, what did I do, and what can I recommend now for newcomers in this field so they maybe have an easier start.

Honestly, it’s a tricky question.

I started university in 2010. That was 16 years ago. As we can all see, a lot has changed since then. Almost everything, actually.

The internet back then was completely different. YouTube wasn’t full of tutorials and free information about everything like it is now. Most things were in books, and even Stack Overflow was just getting started. So it was a hard time to find information about anything. And even harder to find it fast.

I remember building a client-server Android application for proxying traffic through the Android device. It was so hard to find information about how proxying works, about traffic and packets. I spent a lot of hours learning network protocols, packet structure, and NAT (that one was a real pain in the ass). In the end I invented and built my own STUN server, because I didn’t even know one already existed.

Right now the situation is completely different. You can find any information in a few minutes. You just write a prompt to an AI agent. You can even ask one AI agent to write a prompt for another AI agent so it works more efficiently. An AI agent can do the research for you in a few minutes, while back then I was spending weeks searching and studying everything about one specific topic.

To learn Java, I read a few books. Now you can go to a programming school or courses, or just ask an AI to build a learning plan for you.

But we have another problem now. The world changes very fast. There are a lot of directions, and a huge amount of information. We have so many choices that it’s hard to decide what you actually want to do, learn, and work with.

So a lot has changed. We know that. But what’s the solution? How should a newcomer to IT start their way and actually learn things if they don’t want to go to courses or other programs?

There is a solution. But I want to mention one thing first. In my personal opinion, having an education in IT from a university is very helpful and important. Self-education and courses don’t give you the things a university can give you.

So what can we do if we’re starting to learn Java development, and you can’t go to a university or courses?

Even though the world has changed a lot over these 16 years, a few things about studying haven’t changed. One of them is a plan. You must have a plan before you start learning anything.

Software development is a hard and huge field. There are a lot of things you have to know before you can actually write software. Sure, you can be a vibe coder. But come on, you wouldn’t be reading this article if that was the case for you. So I assume you agree with me that knowing how the JVM works, how networks are built, and how software architecture works is really important for building good software.

That’s why you need a plan, so you don’t get lost in this ocean of information, frameworks, databases, and all the other things we use in software development.

And here is my view of the Java learning path: java-roadmap. This is the path I put together for becoming a good software developer in 2026. If you follow it, you’ll become a good Java developer and have a great chance of not being replaced by an AI. Just follow the link and read the README there.

Of course, a plan isn’t the only thing you need. But with a plan you have a path to follow. You have topics to go through one by one, and in the end you’ll have all the knowledge you need to become a good software developer. Don’t be afraid of AI, use it to become better. Pick a topic, find the information online or even ask an AI agent to explain it to you, learn it, practice, and move on to the next one.

Yes, a lot has changed, and the requirements got much higher. But there’s still the same requirement of having a plan for learning, and you still have to love this job. Otherwise, you have no chance to become a good software engineer and survive this fight with AI.

Good luck.