Perhaps they learned a few things along the way. I’m pointing out that Tesla focuses on cars, Uber focuses on transportation, and Google focuses on te
Perhaps they learned a few things along the way. I’m pointing out that Tesla focuses on cars, Uber focuses on transportation, and Google focuses on technology, while Apple focuses on experiences. If they trap a user in a physical bubble, it’s in the company’s DNA to turn that bubble into the world’s most carefully studied and controlled experience. But I doubt Apple ever graphviz pdf previews fine but empty Nokia that way, because they never saw Nokia as competing in the personal computing business.
What if they hired carpenters they way they hire programmers? I read it, and after stumbling across it again I now see why. It’s a complaint without a solution. I’ve never met anyone in the software industry who is happy with the hiring process, and that includes everyone who’s designed the process.
There’s always a terrific slight of hand going on when software developers try to draw analogies to other fields. Blue-collar credentials and being treated like a unique, creative, and highly-paid professional just aren’t compatible. IDEs to hammer the nails. The exceptions—coders who really want nothing more than to follow some formula and take no responsibility for the result—are exactly who interviewers are trying to weed out. Of course, there are carpenters who are creative craftsmen of the first order.
Those aren’t the guys you’re going to bend over backwards to hire to frame your walls. The interviewee is worse than the interviewer. So, you’re a carpenter, are you? How long have you been doing it? I just don’t believe you. What kind of work have you been doing?
Tell me about some of your favorite projects. The main premise of this complaint about programming interviews is that a programmer is a programmer is a programmer, and the details don’t matter, and that’s straight-up bullshit. Have you worked on high-performance systems? There’s a hell of a difference between a framer, a cabinet-maker, and a furniture-maker.
As an interviewer I’m open to the idea that someone good at any one of these probably has great potential for any of the others, but if you’ve got nothing more to say about your career than that you’ve done general things in a general sort of way, you can’t exactly blame me for taking my own direction on what details I’m going to dig into. First of all, we’re working in a subdivision building a lot of brown houses. Have you built a lot of brown houses before? I don’t see a lot of brown paint in the world. There is, however, a lot of brown stain, and brown shingling, and brown brick.
And all those kinds of brown would seem to be of major interest to a carpenter: if something is being stained instead of painted then I’d think that would affect the choice of wood. Maybe even how it’s joined. Questions like this are exactly how a good interviewer separates a blinkered newbie from an expert with perspective. If you’re building a software library that will be called by a UI, then responsiveness matters.
If you’re writing an order processing system open to the public, then you need to consider denial-of-service issues. If the overall software system will be distributed, then the architecture needs to take rollout into consideration. Shrugging off context is only a professional qualification for field-goal kickers. Have you worked much with walnut?
In this hypothetical, we’re talking about a job building houses. Houses are most commonly built using platform framing of stud walls made from spruce, pine, or fir. Walnut is an expensive hard wood. Any real carpenter would know the differences between varieties of wood, between the two major types of wood construction, and between the different roles wood can play in a project. And he’d definitely know which projects he’d worked on that involved which. If a programmer walked into an interview and gave answers this evasive about how many projects he’d done in Java, he’d be an obvious no-hire.