https://aphyr.com/posts/340-reversing-the-technical-interview
#lisp
Next one
https://aphyr.com/posts/341-hexing-the-technical-interview
> The color has begun to drain from Timโs face. Perhaps winter has come, and his coat is changing.
> (def racer
> (->> [0xca 0xfe 0xba 0xbe
> โWhat are these?โ
> โMagic numbers.โ You are, after all, a witch. โEvery class begins with a babe, in a cafe.โ
No shit, one of my few favorite things about Java is the magic number for a class file.
#java
Just remembered an interview I went to. I was mainly Obj-C, willing to do some Python, Java, sysadmin, etc. These are Java drones.
Whiteboard problem is some dispatch thing (not FizzBuzz but same class of problem). I first do it in Python, and they don't get it, so I do some Java reflection to get methods in an array for dispatch. ;-)
Later there's two pairing sessions. One's fine, he's loose and friendly. The other guy's a stiff, gets upset that I use untyped Hashtable, not generics.
#java
There is a Type of Guy who codes in Ada, Java, Haskell, C++, Rust, Swift, etc., who cannot abide the idea that some *filthy dynamic hacker* is coding without <T<Q::Z>> shit all over.
We get the same results, mine in 10% of the time/effort, tests show mine's working, benchmark would show mine's 2-100x faster. What's the goddamned problem? Oh, I didn't do it "right". "THE PROBLEM OF NULL!" they cry. Dude, just check your returns sometimes. It'll be OK.
#programming #functional #types
@mdhughes TBF, it sounds you plan on actively fighting #Java idioms without ensuring everyone else on your team is onboard with your proposals.
#SoftwareDevelopment is often a "team sport". It's fine to have "nonstandard opinions" (I'm quite the #contrarian myself). But I will work on building team consensus non-confrontationally, and if they're not persuaded, fine, I adopt the team's idioms.
Your tech skills may be good, but maybe your #PeopleSkills needs work.
@nebu โฆ Yes, I do not plan to be a drone in some corporate hive, shovelling the same shit every day into different holes.
And when those drones hit anything outside the set (shovel shit hole), they're baffled and helpless, and I'm not.
As for teams, I think the Klingon proverb says it best:
qaStaHvIS wa' ram loSSaD Hugh SIjlaH qetbogh loD (Four thousand throats may be cut in one night by a running man).
#programming
(also: "there's no I in teams, only meats")
Nice. I like that you're very straightforward with your views here, and I hope you're as straightforward in all your #JobInterviews . No point in joining a team that's going to make you unhappy.
@mtae Right, need to use small words.
Pros and sarcastic ex-Java people (self) will make big stacks of factories, reflection, and objects-reifying-code, or even do JVM bytecode hacking, as a joke or comment, or to show off.
Drones don't use anything more complex than basic classes and accessors, they hit code-complete in Eclipse or copy-paste from stackunderflow.
If you don't understand why reflection is useful but probably not what the drones wanted to see, yeah, you don't get it.
@mdhughes @mtae IMHO, Honoring language-specific idioms is a fun intellectual exercise (e.g., "How would the *language designer* solve this problem?"), improves readability, reduces technical debt, and significantly wards off bite-marks in the backside. ๐
When the idioms become boring, I know it's time to pick up a new language or learn a new aspect of a known language.
@_slotek_ @mtae The idioms of Java are bullshit. It started as a small, trivial subset of C with some ideas from Objective-C, for TV set-top devices and remotes. Java 1.1 and earlier was fun.
Then enterprise got hold of it, and it turned into hell, the drones and FactoryFactoryFactory types took over. There's no reason to respect those people or their "work".
Adding generics made it uglier. It doesn't affect "technical debt" at all. Someone tries to bite my ass, they're going in a dumpster.