4 ms·
This sounds like jumping to conclusions: 1. Simple iterators vs Syntactic sugar both pass the same unit tests 2. The 'Java 1.4' style closely matches idiom
by sharms 10y ago
This sounds like jumping to conclusions:
1. Simple iterators vs Syntactic sugar both pass the same unit tests
2. The 'Java 1.4' style closely matches idiomatic golang code, which has high adoption and maintainability
3. People who want better iterators, also want better everything, leading them to use more progressive JVM languages like Clojure and Scala rather than just waiting for the Java spec to move forward
I don't see a 'red flag', just simple contextual differences
- hota_mazi 10y agoI see plenty of red flags, starting with a developer who hasn't kept herself updated on a technology she uses every day. Sure, she might be forced to use 1.4 in her job but surely, any developer who's a bit passionate about what they do would be aware of the more modern version of their tool of choice? If we use 1.8 where I work, I can't really evaluate whether she'll be able to adjust since she didn't make any time to adjust these past ten years.
- sharms 10y agoRephrased: 'I prefer the 1.8 style and I hire people based on that'. For interviewing, the 1.4 style is totally valid, works in more environments and achieves the same result. I don't red flag folks who answer questions based purely on small preferences, in the same way I wouldn't red flag you for writing these loops instead of using map / reduce concepts instead.
- cle 10y agoIf this is what you care about, then ask questions that lead the interviewee to demonstrating knowledge of these skills. Demonstrating skill with functional-ish "stream" APIs means the developer is a lot more likely to understand any impl's built on functional paradigms (e.g. Spark, actors, etc.), or at least can pick them up very quickly since the APIs and semantics are quite similar. A candidate who writes list.stream().filter(...).map(...).collect(...) gets big bonus points in my book. I'll ask them about efficiency, to see if they know when to drop to for-loops. If they write a 1.4 for-loop, I'll ask them to evolve or parallelize it to see if, at some point, they stop adding complexity to their loop and instead switch to a cleaner functional style. Starting from a for-loop and asking to implement some simple transformations like filters, reverse, group by, map, etc., does wonders to separate the wheat from the chaff here.
- rpdillon 10y agoItem 46 in Effective Java is to prefer new-style iteration. I think dismissing best practices is a warning, though perhaps not dire (it could just be ignorance / oversight / the pressure of that interview).
- woah 10y agoItem 46???