Hacker News new | ask | show | jobs
by acdha 1228 days ago
The JVM is very robust and the language has improved considerably if your prior experience was a while ago. By now there are robust libraries for most things, IDE support, etc. but you’ll find odd gaps around packaging, formatters, etc. because there are so many entrenched groups with different goals who haven’t coalesced on common answers the way, say, much of the Python community has settled on Black.

The two challenges I’ve encountered basically come back to there being two distinct communities: “Java that doesn’t suck” and “Enterprise Java™”. It is very easy to get people who learned enough Java 6 to get a CRUD job at a bank or government contractor, and they’ll give you an app with a ton of snarled, fragile code and a dependency stack deep enough to make a Node developer wince. It’s harder to find good developers since on paper both of them will look the same to HR — IT or CS degree, 10-15 years of experience, AWS experience, etc. — so you’ll have more work filtering than you would with non-default languages.

1 comments

Don't see how your challenges relate to Java. What you describe about slow moving large organisations happen regardless of the language or framework. I've seen the same whether it's PHP, NodeJs or Java.
It’s certainly not unique to Java but it’s especially common there because it’s a default language many people are taught in classes, and the demand from large moribund organizations means there are more people in total with that kind of experience. If you put out an ad for Rust or Scala developers, you’re not getting applications from plodders whose counselor told them they could get a decent indoor job at a bank with a basic understanding of the language.

JavaScript/NodeJS certainly has a similar version of the problem but a couple decades earlier in the process, and not being the choice of enterprise it’s less common to see people who’ve been doing the same thing for a decade.

Again, as in my previous comment, this isn’t a problem with Java the language but rather a sampling problem with the massive community.