< December 2017
SuMoTuWeThFrSa
      1 2
3 4 5 6 7 8 9
10111213141516
17181920212223
24252627282930
31      
Thu, 07 Dec 2017:

Tech interviews are very strange. The whole process makes no sense in general, when it actually comes to being hired to do actual work. This gets worse when you're dealing with a specialization that is all about identifying trade-offs and fitting solutions to them.

But let me explain this with a car analogy.

Ok - I want you to design the architecture for something that can get from A to B very fast, in a city. Make sure that it can go around corners and also stop when required.

(starts to draw a motorcycle, with a handlebar and brakes ...)

Sure that would work, but we're mostly have to have four wheels in this one, because that's necessary for stability when going around corners.

(Starts to describe how in the hands of a good driver, motorcycles do go around corners without toppling over, like all over every city)

Alright, but let's take it as a given that the vehicle needs four wheels when this company makes one. Perhaps a fifth one which has to be carried around all the time, because we have four wheels.

(Ok, so the best design to go around corners really fast involves a really low car with a wing at the back, for downforce at high speed)

Yes, but that's not very practical - it rains sometimes and you need to put a roof over it, so that you can drive around in the rain without getting wet.

(That's reasonable, so there's this nice Miata that I once drove, it had a cloth roof that would come up whenever the car is parked & you could drive it pretty fast around corners)

Yes, but capacity is a big problem with a car like that so something a bit bigger would be more scalable as the company grows in size.

(Sure, the Tesla Model X is a great example of a bigger and more ecofriendly car, which is still pretty fast and has all the weight down below ... it does go around corners and stops where you want it, with a lot of on board capacity for growth)

That's good, but that's an exotic solution - in general, we prefer simpler solutions over things that need new and unproven technologies. The goal is to use as much off-the-shelf tech as possible, mostly because we're still limited cost concerns.

(Sighs, starts drawing a volvo minivan ... but stops to check)

That's a good approach, can you go into a little more detail about how you'd make this go faster, particularly when it comes to acceleration.

(You can put a V8 in it, maybe go as high as 400 Horsepower and it will be okay - I've done that before, but it's an ugly kludge).


See, this is the point where I quickly realize that the conversation was explicitly tailored to come to the same conclusion as the other side of the table - that the company has a minivan they designed for growth, but they want it to go faster and they're hiring me because I know how to put a V8 in a giant car, because I've done this before.

Being different is not exactly a good thing, but it is the necessary step towards innovation, in various degrees (improvement is change, duh). And yet, in an interview you run up against hidden limitations which completely up-end your ideas for change, because everything is about trade-offs, not absolute right answers.

And that almost never happens when you work on something for a month.

--
New ideas pass through three periods:
1) It can't be done.
2) It probably can be done, but it's not worth doing.
3) I knew it was a good idea all along!
                 -- Arthur C Clarke

posted at: 17:11 | path: /rants | permalink | Tags: , ,