6 ms·
After working at two companies filled with Java devs, I don't think any of them will read this article. I can't speak for all Java devs obviously, but it seems
by nobleach 11y ago
After working at two companies filled with Java devs, I don't think any of them will read this article. I can't speak for all Java devs obviously, but it seems unless the dev is a polyglot, they are just fine living in their Spring/SVN/J2EE/Java5 world. They have no idea what's going on in the software development world. I get so excited whenever I hear any of them mention Clojure or even Scala! They just live with this head in the sand mentality. They hate the front end, they think, "these JavaScript developers will go away someday and we can finally go back to writing JSPs". Currently we've updated our JVMs to 8, and that's a big deal, but we've told our devs NOT to use any features from 8 as we're worried about how GC will perform and since we're about to get geared up into shopping season, now is not the time to use shiny new features.
- agumonkey 11y agoMentioning Scala, or clojure or even Haskell to a HR interview leads to raised eyebrows at best. But that was expected. I'm surprised actual devs are still wearing eye blinders.
- nobleach 11y agoI'm hiring front end JavaScript developers right now. If I see other language experience on their resume, they're getting a call. My last hire had worked through "Learn You A Haskell" and that was enough for my interest to be piqued. Seeing Python, Ruby, C, ObjectiveC, heck even PHP is enough for me to see they're not just a "I did some Angular tutorials" type of candidate. I'm on this site, so I get a nice smattering of different technologies. I don't write Rust, but I know it exists. I've read about it. Same goes for a ton of other technologies/languages/methodologies that I don't deal with. It just floors me that anyone in the development/engineering world doesn't do the same! They must believe their language/tech will exist forever.
- agumonkey 11y agoI should have added that it was IT consulting shops HR I was referring to, not final clients. The further away from the actual jobs, the more buzzwordy it gets. Some might appreciate curiosity and diversity, but in the end they want simple and bankable. They told me, some missions will enjoy jack of all trades type, but the majority of their clients wants framework-specific forces.
- rcurry 11y agoI've always been surprised when I run into developers who really don't have an interest in multiple languages, platforms, whatever. But, I think it's something you come to understand, that every profession has people that are just phoning it in every day. Some of the best people I've hired have had no experience in the one technology that I'm hiring for, but their enthusiasm and level of interest has been more than enough for me to want to take a chance on them. It usually works out well.
- fizwhiz 11y agoWhat a curious comment. The first portion of your diatribe disparages all java developers, but the latter part of it suggests that you're still working in java shop (perhaps in an ops capacity?) I'm wondering what you meant by JVM 8 because no such thing exists (unless you were talking about the JDK or the JRE.) You must have worked at some sweatshops to spout such biased vitriol.
- nobleach 11y agoWell, I was an English major, so I'm glad you were engaged by the "diatribe". And if you were unable to piece it together... and I kinda feel bad if you couldn't. I'm referring to Java 8 language features and OpenJDK 1.8. I get the feeling you knew that though and are being pedantic. You've succeeded though, because I responded. Sadly you missed the part where I said, "Not all Java devs obviously". I have read great blogs by Twitter engineering and many others. But, since you seem to have some experience in sweatshops, please explain how your current situation is different. Add something to this conversation instead of correcting my stupid generalizations.
- fizwhiz 11y agoYour comment about the "JVM update" was a non sequitur trailing from your rant, but I'm glad to know that you were indeed referring to JDK 1.8. The fact that you get excited in the event these nebulous java devs have "heard" of Clojure/Scala only comes across as patronizing (but I suspect you weaved that in masterfully and deliberately, given your degree in English.) Your anecdotal fallacy hasn't added anything valuable to this conversation (your parent comment admittedly claims the original having "stupid generalizations"). Most of the other comments here on HN are discussing specifics outlined in the article, but it's evident that you don't have anything meaningful to contribute in that area, which is a shame because it appears that you value polyglotism so one would think you could offer your "enlightened" perspective around best-practices which could help the community in a more meaningful way.
- nobleach 11y agoYou have won at the internet. I'm sure you're a joy to be around. I haven't seen the meaningful response that you've added. You really do seem like a troll. If that's not your intention, that's cool. If it is, well, hey, happy trolling dude! Edit* Yep, just checked your comment history, you're a troll. God why do people like you exist.....
- thejosh 11y agoThis is also how I feel with PHP Developers who work in development agencies or larger companies, either in a small team or by themselves (probably even larger teams, but no first hand experience with that). Basically they refuse to use version control (FTP their code to the live server), use a terrible dev system, non-existent or terrible staging environments or newer technologies such as composer or other tools which will save them time and effort. Don't even get me started on the lack of tests, and how buggy and broken their code ends up being - "we don't have time to write tests", yet spend weeks fixing critical issues that would have been found... /rant
- nobleach 11y agoI see the lack of unit tests constantly. I did a small stint with PHP and one of the first things I did was learn PHPUnit. Having invested heavily in the TDD Koolaid with Rails/Python, I made sure I learned how to apply the same ideas in PHP. And yes, I've seen quite a bit of the "1999 was just fine" culture among PHP developers too. If you can't deploy your code at the touch of a button, you should be working your way to that goal.
- Joeri 11y agoOn the flip side, the best practice for both Java and PHP is trending towards the same thing. Routes + DI + immutable types + fluent api's. Give it another decade and the only way to tell the difference will be the presence of $ characters.
- zeckalpha 11y agoEven worse, the Java 1.4 world. I've seen people avoid generics and other Java 5+ features for "compatibility reasons".
- nobleach 11y agoWow, you didn't even get forEach with 1.4, right???
- zeckalpha 11y agoPeople get in the habit of writing loops with indices.
- meddlepal 11y agoI still people doing that shit in Java 8 and Groovy... I can probably count on one hand the situations when a counter-based loop is necessary.
- vorg 11y ago> I can probably count on one hand the situations when a counter-based loop is necessary Such counting is analagous to counter-based looping. If you'd said "I can probably filter down to the fingers of one hand..." I might have believed you.
- habosa 11y agoThat's a shame. Java is my favorite language because it has the right balance of strictness (although Go is starting to take over for me). When written correctly, Java can be amazingly productive because you learn so much at compile time but the tools (IDEs) make it so that you can autocomplete away most of the verbosity.
- nobleach 11y agoJava as a language is totally fine! It has everything one might need. The culture totally sucks. Oracle leads the march toward what is the "standard". Jersey is a great leap out of this.
- Peaker 11y agoJava lacks higher-kinded parametric polymorphism. Java also lacks the ability to say something like: class Foo<T> implements ISerializable iff T implements ISerializable So you end up having to work only with T's that are serializable, or not having the instance for Foo. Also, Java lacks type-classes. Java also lacks lazy bindings, and many other useful features one might need. In short, Java is still very far from having everything one might need...
- timclark 11y agoI consider Jersey to be a good example of what is wrong with Java. Annotation driven APIs don't really lend themselves to composability - sparkframework, vertx or ratpack are much better ways of building REST apis with Java 8.
- nobleach 11y agoUsing the annotations could probably be done a different way, but it follows many of the popular micro-frameworks like Sinatra for Ruby, or Express for Node.js.
- metaobject 11y agoWhat do you mean by: "you learn so much at compile time"? I'm a C and C++ guy, but I've done a tiny bit of Java a while ago.
- brown9-2 11y agoI have a hard time believing that a company stuck on Java 1.5 or SVN is like that because the developers want it that way.