The Curse of the “Java Developer”

Muhip Tezcan
3 min readJul 13, 2017

--

Open Google Docs -> Create new document -> Cover Letter.doc

Dear bla bla,

I am a Java Developer with 6 years of experience…

Wait. That doesn’t sound right. I love Java and all, but am I a “Java Developer”? Why am I associating myself with a single programming language?

Exactly.

Parody CV that looks embarrassingly similar to mine

Java developer’ is a false definition that needs to die out right here, right now. It’s wrong. It’s a curse. You may have used Java lovingly and extensively for so many years that you may be inclined to call yourself one. Don’t. You are a software developer with a lot of experience writing code in Java, perhaps. But you are not a Java developer. Same goes with any developer of any other programming language, but Java in this sense is more doomed, simply because it’s been around a very long time and it’s still one of the most popular ones. It’s comforting to be a Java Developer. That doesn’t mean it’s right.

Here’s an analogy: J. K. Rowling has written the entire Harry Potter series in English. What does that make her? Is she an ‘author of English’, or simply an ‘author’ or a novelist?
If you are an ‘author of English’, that hints your work is tied so deeply into the English language that if you translate it into, say, Spanish, it would be a completely different work, possibly losing the essence that makes it a piece of art.

Of course, all the greatest authors have a certain talent in using their language in an innovative, artistic way that inspires others. Reading Dostoevsky from the Russian originals is probably not the same experience as reading a translation. Nevertheless, Dostoevsky is still a great author to millions of people all around the world who have never read the originals. That’s because no matter how great they are at using the language they write their works in, the essence of that work is not the language itself. It’s the content, and what they do with the story, the characters etc. using that language.

Back to our topic before I stretch this analogy too far. The fact that you are writing code using Java and you are very good at it does not mean your work is in essence tied to Java itself. You are a programmer. You are creating programs to do things. You are not writing Java code just to write Java code. So stop calling yourself a Java developer (unless you are actually developing Java itself at Oracle) and kindly stand up to anyone who tries to label you as one.

If you don’t, you will slowly turn into someone who can think only within the boundaries of the latest Java version. Before Java 8, you probably never thought outside writing conventional for-loops. With Java 8, you happily adopted streams and it widened your perspective. You could have widened that perspective before, if only you had learned a functional programming language.

You know the story: If all you have is a hammer, everything looks like a nail.

So have as many tools as you can. Learn a few languages that have completely different approaches to solving a common problem. Same applies to frameworks, libraries, patterns or paradigms. Get out of your comfort zone. But don’t focus on the tools themselves, focus on what you want to achieve. Learning something new is great, but it’s not necessarily a great achievement on its own. You want to create something with what you just learned.

Even if Java was the greatest programming language of all times, the point I’m making above would have still been valid. But let’s be honest, Java is far from being perfect. I shared my two cents on this in another article: Time to Retire Java

Coming up next: How to stop being a Java Developer.

--

--

Muhip Tezcan

Software engineer. Loves beer, history, politics and cats.