grupoarrfug.com

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.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Maximize Productivity: Prioritizing Important Over Urgent Tasks

Discover how to prioritize important tasks over urgent ones for a more productive life.

Implementing a Retry Mechanism in Rust for Robust Error Handling

Explore how to implement a retry mechanism in Rust, enhancing resilience in error handling for software applications.

Don't Fear Idea Theft: Focus on Execution for Success

Discover why execution matters more than ideas and how to turn concepts into success.

Navigating Feedback: How I Manage Fake Reviews and Real Critiques

Discover how to handle fake feedback and genuine criticism as a side consultant.

Which Wolf Will Triumph? — A Modern Take on an Ancient Tale

Explore the fable of the two wolves and discover how to nurture both sides of your inner self for true balance and peace.

Maximizing Productivity with a Nobo Board for Writers

Discover how a simple Nobo board can transform your writing organization and enhance productivity.

Understanding the Hearing Voices Approach: A Compassionate Perspective

Explore the complexities of hearing voices, mental health, and the importance of compassionate dialogue in understanding these experiences.

Transform Your Health with a 10-Minute Cardio Core Routine

Elevate your fitness with a quick 10-minute cardio core routine that energizes and strengthens you throughout the day.