Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Learning to Live With Language FOMO

DZone's Guide to

Learning to Live With Language FOMO

I was so busy questioning how I used code to solve problems that I never stopped to ask myself what kinds of problems I wanted to solve.

· Java Zone
Free Resource

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Sitting in a room full of functional programmers, I feel somewhat out of my depth. Monads this, tail recursion optimization that, and immutability everywhere. Suddenly using plain old “if” statements makes me obsolete.

Reading blog posts about the latest (OK, latest in my world) languages like Kotlin, Scala, and Groovy, and I feel like I slept through some kind of revolution. Elimination of NPEs this and metaprogramming that. Now, every time I find myself adding a null checking assertion at the start of my method, I feel like shaking my fists at the sky crying, “Why doesn’t the compiler do this for me!”

So, I dig into tutorials, desperately trying to understand these new paradigms, convinced that I am one language swap away from reaching development nirvana. If only I could be productive in Kotlin or learn how to create the perfect React build stack, then I would be a happy and productive developer.

It is only years later that I manage to diagnose myself as suffering from a chronic case of language FOMO. I have been so busy questioning how I use code to solve problems that I never stopped and asked myself what kinds of problems I actually wanted to solve.

I like to think of myself as a somewhat competent Java developer, and when asked to deliver a solution, I have finally reached a point in my career where I can map the solution to a design pattern and a popular library that will give me a solid platform to build on. It is actually rare that I find Java, as a language or an ecosystem, to be the thing that holds me back.

So what problems to I want to solve? That is a surprisingly difficult question to answer. It was so much easier when I was focused on learning a new syntax or trawling through yet another functional programming blog post. At least then I knew what I didn’t know.

I’ve never had reason to use the phrase “existential crisis” before, but I feel like it is apt in this situation. Are there big problems that I can actually help solve with code? Could I legitimately contribute in a meaningful way to solving global warming by volunteering some coding skills? Is it time to take a gap year and invest in that idea I had for an app that tells you if you should put the recycling bin out this week? Do aid organizations need an app developed? Is teaching kids to code something I could help with? Is contributing to an open source project my calling?

I have few answers, but at least it is clear now that language FOMO is not worth the angst that I let it create. It is time to focus less on what language I want to use and focus more on what problems I want to solve.

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:
java ,functional programming ,problem solving

Published at DZone with permission of Matthew Casperson, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}