Hacker News new | ask | show | jobs
by Timberwolf 2457 days ago
I worked with a "John", with the added bonus that I was expected to be the hatchet man telling developers that they couldn't use any language features introduced post Java 5 or that they had to restructure all of their solutions in line with the latest edict. Thankfully we had some very good teams who saw exactly what was happening, and were able to schedule a round table so we could talk about how this was both demoralising and causing things to go extremely slowly. (At one point "complying with edicts" was taking up 80-90% of engineering effort).

The net result of the big round table with every senior dev in attendance was "John" spent an hour trying to deflect us from the topic at hand, 30 minutes pretending to listen to us, then within two days it was back to, "I want you to tell the teams to go back and rename all the DTO objects they've created".

In the end I just left. There's no point fighting that kind of environment. Someone hires "John" and is happy with what they do.

1 comments

I haven’t worked with Java in over a decade. What is the rationale for not allowing newer language features? Thanks in advance!
> What is the rationale for not allowing newer language features?

"They aren't proven"

"They aren't mature enough"

"They are bloat"

"They make the code too complex"

"They don't scale"

"They are slow"

"They make it hard to read the code"

"The language vendor might pull the plug on them"

"They have bugs"

"They aren't any easier than <MY_WAY>"

If you read between the lines, people that object to new language features are almost always doing it for a single reason, which they may not even admit to themselves:

"I'm not a competent enough developer to understand the language feature, so nobody should use the feature"

In this context, the rationale was little more than this being the last version in which "John" had done significant day-to-day programming, and therefore felt informed enough to interfere with on a daily basis. My personal take was that a lot of the negative behaviour was being unable to "let go" and accept no longer feeling like the best programmer in the organisation.