Struggling with Java: A Journey of Self-Discovery and Growth
Written on
Chapter 1: Early Encounters with Java
My introduction to Java dates back to 2016 during a digital game programming course. Despite dedicating six months to it, I found myself unable to grasp even a basic "for" loop. Frustrated, I shifted my focus to graphic design but ultimately could not continue my studies.
Afterward, I enrolled in a mathematics program, which turned out to be another setback. Faced with significant personal and financial challenges, I struggled to even complete the first semester—an essential step for advancing to subsequent courses. Nonetheless, I did gain substantial skills in logic and reasoning.
Having had little exposure to math in school, I entered the program feeling like a "mathematical novice," which made the experience incredibly daunting.
In October of that same year, I returned to programming and was fortunate enough to land an internship as a junior developer. Looking back, I realize that my success in obtaining that position was largely due to luck, soft skills, and the high demand in the job market, rather than my actual coding skills.
Interestingly, I discovered that the foundational knowledge I gained in math college helped me learn programming basics more quickly.
Chapter 2: The Ongoing Struggle
It's been six years since I began my self-taught journey in programming and computer science, yet I still grapple with feelings of inadequacy, particularly with Java. I struggle to tackle challenges on platforms like Hackerrank, and my attempts to participate in two junior developer selection processes using Hackerrank ended in failure.
Despite my efforts, I haven't yet mastered key concepts like Object-Oriented Programming, Data Structures, or even the use of Generics and Collections. When I applied for my current job, they expected familiarity with Spring; however, I hadn't even grasped the fundamentals of Java Core. Copying and pasting code is something I can do well, but true programming requires much more skill.
Ironically, I find myself ranked higher than two junior colleagues who have been at the company for over a year. I feel utterly incompetent, especially when I can't even create a basic list correctly.
The only reason I broke into the field was due to the thriving job market, but I fear that I will be left behind if the industry shifts downward. The demand is so great that even individuals like me, who are still learning, find opportunities.
One experience that deeply affected me was when I thought I was asking a solid question on Stack Overflow, only to receive downvotes and criticism. The arrogance of some users made me hesitant to engage with the platform again.
Moreover, I dread the idea of any senior developer reviewing my code, as I know they would find it laughable. At my workplace, I am expected to learn AWS, SQL, and various frameworks, but I believe that mastering data structures and the programming language should come first.
Yet, I am compelled to study these advanced topics, even though I barely understand them. I wish I could focus on the fundamentals before diving into frameworks and DevOps.
I have come to realize how easy it is to feign programming competence, but becoming a genuine programmer requires much more than a boot camp education. Next year, I plan to retake entrance exams for a reputable federal program to gain a solid foundation in these subjects.
At times, I feel disheartened and contemplate abandoning this path altogether in favor of pursuing a career in teaching, the humanities, theater, or even selling crafts on the beach—anything that distances me from the world of IT, which seems ill-suited for me. It’s disheartening to struggle with something I genuinely love.
In the video "I Tried Java (it's horrible) - YouTube," the creator humorously shares their struggles with Java, echoing the sentiment that many novice programmers experience frustration with the language.
The second video, "Why I Quit Java (as a Java Developer) - YouTube," offers insights from a developer who faced similar challenges and ultimately decided to leave the language behind.