4 ms·
I haven't interviewed as a programmer in a long time, so I'm curious, what defines "the most complicated thing was they ever programmed?" Algorithmic complexit
by vitovito 16y ago
I haven't interviewed as a programmer in a long time, so I'm curious, what defines "the most complicated thing was they ever programmed?"
Algorithmic complexity, like a graph database or a computer vision system or an AI? Does it matter if they just read a bunch of papers and implemented the formulas? Does it matter if they used libraries like OpenCV? Does it matter if they decided the best implementation path was to outsource it and use a SaaS like DirectedEdge?
Social complexity, like a Facebook or Meetup or Digg? Does it matter as to whether they came up with the technical architecture or social architecture to actually process all those votes and friend requests and event managements, versus just doing what the tech arch or design lead told them to do?
I've implemented device drivers in x86 assembly (a well-trod path and it wasn't very original work) and AI (for a video game, original work but with lots of abstractions provided) and an embedded systems JPEG block rewriter in C (abused the spec to create something very original, but was ultimately only a few dozen lines of code when all was said and done). Which of these is "most complicated" and why?
- jacquesm 16y agoSorry for the sluggish response, I completely missed your comment. Any one of the answers you gave there would have sufficed to be used as the 'platform' for further discussion, if you had named those three with the 'Which of these is the most complicated and why?' I think if would have led to a very interesting discussion about your past work for a bit. Let's take the video game AI as an example. My follow up question would have been something along the lines of 'That's an interesting one, what kind of behavior did your AI govern, and how did you go about implementing that?' or 'How did you protect your AI from getting stuck in a loop or becoming too predictable?', or any one of a bunch of questions about the sort of thing you run in to when you build a video game AI. I'd know pretty quickly if you actually did write a video game AI (I wrote a bunch of video games, and even though I wouldn't class the routines governing the bots as 'AI' I think I can relate enough to the problem domain to come up with some questions) or if you're making it up. For myself, if someone would ask me that question I'd answer a fully integrated cad-cam system for lathes and mills. That one kept me busy for two years, ended up as about 50K lines of high level code and another 20K of assembler to make it fast. The hardest part there for me was the equidistant operation, it took me quite a while to get it right because I'm weak in the mathematical department, it's actually one of the few times in my programming career that I got so stuck on a problem that I hired a tutor to brush up on the required math.