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.