Is it ridiculous to refuse to go back to slinging Java?

3 points by John23832 ↗ HN
(This isn't a comment on Java itself or any JVM languages. The JVM is the most battle hardened piece of software in human existence.)

I, like a few other people in this community, am looking around in the job market. My startup is on the brink and just in case I'm looking.

Recently I've been writing a lot of production Go and Rust. I'm a backend engineer by trade. I've architected entire platforms on k8s and cloud providers.

As I look around, many of the places that are low hanging fruit in my NYC market (read: banks/financial services) are all slinging Java. And not "JVM languages", or even modern Java... Java 8 at best. And frankly that just seems uninteresting and soul sucking.

I'm getting to the elder years of being considered young (early 30's), so I didn't go through, or even have an understanding of, the dot com bubble. However, I've seen it described as a "winter". Am I crazy or unreasonable for not wanting to do (what I guess I see as) commodity Java development?

Money isn't really an issue (I left a FAANG prior to my current situation), I guess it's just a question of whether my expectations are misplaced.

Also having been at a FAANG, I really don't see the leetcode grind as worth it... maybe that lowers the number of options as well.

I don't know. Thoughts?

4 comments

[ 4.4 ms ] story [ 18.6 ms ] thread
I feel you. Mid-30s Java lifer here.

I got way more pessimistic as I got older: bugs are here to stay, bosses will keep their buddies and fire trouble makers, the project will be wrong the first time, need a costly rewrite, and won't be used once it's finished.

Just drink the Java and spit out the stack traces.

I do my Haskell & Rust in my own time now. (Not quite true - I always tinker with some kind of Haskell at work - my own productivity tools).

Btw, what did you like about Go? Wasn't it just Java-without-generics-or-exceptions-oh-wait-we-need-first-order-generics ?

Java just feels like ditch digging to me. I've done Java for a long time (since middle school), but as I've gotten the ability to build things in languages I can actually choose (read: languages I like) the prospect of going back to Java ditch digging really sucks.

Even as this current startup starts to die, I'm starting to build the basic infra for my own startup in Rust.

As for Go, I really like it as a language. It's a good language for beginners, imo. The syntax is easy, semantically it makes sense, async support is really good out of the box, and the community is big and well maintained. I've done it professionally for 4 years now (with a 2 year stint that took me back to java... the impetus of this post). I really haven't needed to use generics in Go honestly. I fall into the "interfaces are the generics of go" camp.

Going forward I'd personally prefer to use Rust over Go. I find the semantic concepts and memory management more intriguing.

I would never do Java again, I think. Maybe as part of a show like Fear Factor, but not for real. You only live once (allegedly) so it's not worth wasting your time on shitty tech.
Had a couple years break from Java and then back to it in current job. You know what - Java is fine and I am enjoying the work. You can knacker things up in any language and modern Java has a lot of the rough edges worked out (tooling, dependency management, runtime monitoring, frameworks).