JOURNAL / PERSONAL JOURNEY

Learning Java

Learning Java

Published: Nov 2026

Java is one of the programming languages I am currently studying as part of my journey toward becoming a software engineer. When I first started learning Java, the syntax seemed more complicated than some of the programming languages I had previously encountered. However, as I spent more time practicing, I began to understand that Java's structure can actually help me write organized and maintainable programs.

Why I Chose Java

One reason I am interested in Java is its importance in professional software development. Java has been used for many years to create applications, backend systems, enterprise software, and Android applications.

Since I am studying IT and want to become a professional software engineer, I believe learning Java will give me a strong foundation in programming and object-oriented development.

Starting With the Basics

I started learning Java with the basic concepts that are common to many programming languages. Variables, data types, operators, conditions, loops, and methods were some of the first topics I practiced.

Although these concepts can seem simple, writing many small programs helped me understand them more deeply. For example, instead of only reading about loops, I tried creating programs that repeatedly process data. This made the concept much easier to remember.

I also learned that understanding the difference between data types is important. Java is strongly typed, so I need to think carefully about what type of data a variable should contain.

Understanding Object-Oriented Programming

One of the biggest challenges for me has been understanding object-oriented programming. Java is strongly associated with object-oriented programming, so concepts such as classes, objects, inheritance, encapsulation, and polymorphism are important.

At first, classes and objects felt confusing. I understood the syntax but did not always understand why I should use them. With practice, I started to understand that classes provide a way to organize related data and behavior.

For example, if I were creating a store management application, I could create a Product class containing information such as a product name, price, and quantity. The class could also contain methods for changing inventory or calculating information about the product.

Thinking about programming this way helped me understand how larger applications can be organized.

Learning Through Small Projects

I have found that projects are much more useful than simply reading programming theory. When I build something, I am forced to think about how different concepts work together.

Simple programs such as calculators, student management systems, inventory systems, and menu-based applications are useful exercises. They allow me to practice variables, methods, classes, conditions, loops, and data structures.

My interest in building a store management system has also motivated me to learn Java more seriously. A real application requires more than just knowing individual commands. I need to think about the structure of the entire program.

Errors and Debugging

Another important part of learning Java has been dealing with errors. Sometimes the compiler immediately tells me what is wrong. Other times the program runs but produces an incorrect result.

These situations have taught me that debugging is a major programming skill. I cannot expect every program to work correctly on the first attempt.

When something goes wrong, I try to read the error message carefully, identify the line causing the problem, and understand what the program is actually doing. This process has gradually made me more comfortable with errors.

Java and Databases

I am also interested in connecting Java applications with databases. Databases are important for applications that need to store information permanently.

For example, a store management application could use a database to save products, customers, sales, and inventory information. Java could provide the application logic while a database stores the data.

Learning SQL alongside Java has helped me understand how different parts of software systems work together. I am still developing these skills, but I hope to become comfortable building applications that use both programming and database technologies.

What I Find Difficult

One of the difficult parts of learning Java is remembering that there can be many ways to solve the same problem. Sometimes I know how to make a program work, but I am not sure whether my solution is well designed.

This has taught me that programming is not only about getting the correct output. Good code should also be readable, organized, maintainable, and easy for another developer to understand.

My Next Goals

I want to continue improving my Java fundamentals before moving too quickly into advanced frameworks. My current goal is to become confident with object-oriented programming, collections, exception handling, file handling, databases, and larger projects.

After building a stronger foundation, I would like to explore Java backend development and frameworks used in professional environments.

Final Thoughts

Learning Java has taught me that becoming a programmer takes patience. There are many concepts to understand, and sometimes progress feels slow. However, every small program I complete gives me more confidence.

I know that I still have a lot to learn, but I am enjoying the process. My goal is to keep practicing, build real projects, learn from my mistakes, and eventually use Java to create useful software as a professional engineer.