With this perspective in mind, I began visiting the fundamentals and decided to learn a new programming language.
Java came to mind.
In my previous company, a startup, I served as a React intern. The backend was written in Java(Spring). The team members admired Java and continually used it in their careers. Despite that, I was skeptical and unwilling to learn it. I regarded the senior developers, who speak so fondly of Java oldies and unfashionable.
This dismissive attitude prevented me from learning a new language and further making any contributions to the backend.
My reasoning was simple: Java is not as shiny/trendy as Python or Go or Rust. I have no intention of using it in the future, so why bother learning it in the first place?
In my research, I've found that people are avoiding Java like a plague. It's not an enjoyable language to work with; it's dull and verbose, burdened with a copious amount of boilerplate code. This sentiment has spread widely on the internet.
My two-week experience learning Java confirms that you need to write extensive code for straightforward tasks, which indeed feels unnecessary and time-consuming.
The syntax has become both concise and elegant; however, I won't debate its readability in certain cases.
Another reason not learning Java would be that Google called Kotlin—the official language of Android a few years ago. Of course, this might not be relevant if you have no plans to delve into Android development.
And still, Java is everywhere.
There are a lot of job openings out there, and significant portion of enterprises hanging on Java. Major players in the tech industry utilizes Java. And it is extensively used in computer science academia.
If you know Java, you will get hired.
It is not going anywhere anytime soon, that is for sure.
Ultimately languages are languages. A new language has its appeal with playful syntax, stylish cool logo, and fresh features, but its true worth unfolds with time.
Although Java may not have the allure of novelty, it remains a well-tested, reliable language. If it has stayed relevant over the years, there must be good reasons to spend time learning it.
I was hesitant to learn Java because I feared stepping into unfamiliar, scorned territory. However, after two weeks of working with it, I discovered the learning process was fruitful. It's easier since you have prior knowledge, yet it's also new, introducing unknown elements. There are plenty of surprises along the way.
If something makes you uncomfortable, the optimal strategy for the longer run is to confront what induces discomfort.
So, I figured I must learn JAVA.
While I've begun learning Java, I can’t guarantee I'll develop a fondness for it as my previous colleagues did. Additionally, Java might not be my primary choice for projects. Nonetheless, I've committed to understand what this language has to offer and how it operates and learn its way of composing programs.
This post was meant as my reflection on what I believe is a good way of growing as a developer. Learning and exploring a new language is a part of the process. The core idea behind learning a new language is becoming more adaptable and expanding your worldview. The question of whether you should learn Java, or if you should master every language, remains irrelevant here. Reflecting on this post after a week, I feel that I did not succeed in effectively conveying my point.
Thanks for all the thoughtful responses. Much appreciated.
Meanwhile, I need to work on my communication skills 😓