5 ms·
Weird. I've created from scratch: new CRDT data-types for geospatial problems, new highly-available transaction patterns that provide useful causal history an
by im_down_w_otp 11y ago
Weird.
I've created from scratch: new CRDT data-types for geospatial problems, new highly-available transaction patterns that provide useful causal history and atomic visibility, large-scale messaging platforms (400k ops/sec), high-throughput machine learning pipelines, lock-free lightweight-process mailbox implementations, and an end-to-end build pipeline for generating bare-metal rumpkernels to be parallel deployed to N-number of Minnowboard Max devices. Among other things.
If you asked me to do homework to prove to you that I can "program", I'd have a brief discussion with you about how misguided that seems, thank you for your time, and walk away.
I mean fully "hundreds of connections" to a socket pool? Are you serious? If I submit a solution that can do "hundreds of thousands of connections" that includes QuickCheck tests for your protocol and my implementation, Ansible scripts for deployment and orchestration, and a Makefile that builds it, tests it, bakes it into a unikernel, and drives the Ansible scripts to push it out and start the end-to-end load test, do I get to be CEO or something?
Why is tech hiring so full of strange, meaningless obstacle courses? Do we just collectively not have better ideas?
- estefan 11y agoBecause there are a lot of shit candidates. You might know you're worth talking to, but try hiring and you'll see why people want to separate the wheat from the chaff.
- im_down_w_otp 11y agoI have tried hiring. Many times. As recently as yesterday. Using a combination of (semi-)rigorous personality profiling (time constrained), and mapping the abstract problem domain of their prior work to the problems I actually have for them to work on, it's been possible to align new people with the work such that they're intrinsically motivated, and make sure all the bases are covered for the necessary roles (hacker, inventor, finisher, watchdog, etc.) to carry a very large greenfield project from start to finish. I've never once given a cute riddle, puzzle, or coding challenge as a part of the interview process, and actively dissuade others from doing it as well.
- estefan 11y agoWho mentioned riddles and puzzles?
- im_down_w_otp 11y agoI lump them all together. There's barely a neurological distinction between engagement in a riddle/puzzle and a programming challenge.
- estefan 11y agoFizz-buzz yes. A small task representative of the work is completely different.
- tangled_zans 11y agoCan you elaborate more on your middle paragraph? It sounds very interesting.
- im_down_w_otp 11y agoSure. To start with there are many, many models for personality profiling. I tend to stick to "The Big 5" mostly because it's foibles don't sufficiently affect the outcomes I care about, and I've gotten proficient enough at it that with the right set of questions in the right environment I can typically get a pretty good read on at least 4 out of the 5 factors, and given a follow-up interaction I can usually clear up anything that looks like contradicting signals by getting additional context. Like for instance, if you were to meet me, you would probably immediately peg me as high on extroversion. While understandable given the outward traits I project, you'd have needed to really thoroughly created a controlled environment during an interview (requiring a series panel, a day-long engagement, and an intentional highly-social event in the middle) to figure out that I'm actually introverted, but have just learned how to benefit myself by projecting extroverted traits. Now the richness of any assessment is bound by time, planning, training, and practice. If you want to get really good at it, you learn to do it in realtime by assessing people you know well, assessing yourself, then moving on to acquaintances, and eventually onto strangers. In each step you need to be aware of where your assessments are drifting from the model. Like if you assess yourself or someone else as high on agreeableness because you find that you're very typically conciliatory or trend toward diplomacy and keeping the peace amongst your peers, but you also are prone to "blow-ups" where you drop the hammer on people in rare, but consistent, circumstances (when you've "been pushed too far"), then you're probably not as high on agreeableness as you think, and are probably higher on neuroticism than you think you are. Given enough inputs and hypotheses you can get pretty good at this. Good enough to provide useful points for making decisions given otherwise limited information. More importantly you can get good at how you setup your environments and your interactions to get higher quality signals from your limited information. For instance, say I wanted to assess someone's "Openness" because I wanted to bring them onto a team where their primary responsibility will be in driving phases of invention. The simplest pass would be to just ask them about personal activities and look for signals of risk-taking. However, one needs to control for the difference between risk-taking due to openness to experience and risk-taking due to self-destructive traits. The former would be awesome for the job role and the latter will bring down the whole ship. To control for that you'd want to put additional emphasis on assessing neuroticism and conscientiousness. Doing that can be as simple as leaving a lot of awkward pauses in the conversation and see how they deal with it. Does it make them uncomfortable? Do they feel compelled to fill the air with something? What do they fill it with? Relatable stories, trivia about their work history, etc. When they talk about anything, not just work-related things (sometimes specifically not work-related things), what level of detail do they provide? Is it consistent? Is it always TMI, always 30k ft view, or can they move fluidly from one to the other? Things like that. Different kinds of job roles require a different kind of personality profile to be successful, and more important than that, the composite of personality profiles filling those job roles is a requirement for a healthy team where each person is competitive with themselves, but cooperative with their peers, and has the right mix of people to own each phase of the development and business process.
- runamok 11y agoBecause I interviewed at least two interns in CS Masters programs that struggled to program a for loop.