Live data from Hacker News

How to Interview Engineers

blog.triplebyte.com

41–50 of 489 posts

Re: How to Interview Engineers

#41
post #9

Spending a week working beside an engineer (or seeing how they complete a substantial project) almost certainly provides a better measure of their abilities than watching them solve interview problems for 1 hour Trial employment is expensive for the company. [...] Trial employment (and large take-home projects) are expensive for the candidate. I can't help but think there's way to mitigate that expense among several…

A trial week seems like it would only work for more desperate candidates, ones who are currently unemployed.

It also doesn't work for people who want to interview speculatively. Looking at what else is around once in a while is a pretty decent due-diligence that you can apply to your career. You can even be honest about this with recruiters. "I'm not sure that I want to change jobs right now, but I'm open to persuasion."

If trial weeks become commonplace, it starts looking like a form of structural lock-in.

Re: How to Interview Engineers

#42
post #5

"15% dislike academic CS (and think that talking about CS is a sign that a candidate will not be productive)" That seems really weird. Academic CS isn't really necessary for most programming jobs, but I can't see how it would ever be a detriment.

>Academic CS isn't really necessary for most programming jobs Knowing how to code quicksort or reverse a binary tree isn't, but an understanding of normalization definitely is...

No. Source: I have worked for a financially successful company whose database was designed without any notion of foreign keys or surrogate keys. They also had serialized Java objects in database blobs by accident.

Re: How to Interview Engineers

#43

Earlier quoted context omitted.

If I'm already employed, it be weird to take a week off just to work for another company. Also ramp up time takes at least a day or two. This whole process seems troublesome for both the employee and employer

When did you last switch jobs? I recently went through a round of employment where I quit my job at the beginning. Between updating my resume/social networks, brushing up on academic CS, finding leads, scheduling interviews and follow-up interviews and managing/negotiating offers, it was absolutely a full-time job. I can't imagine finding a new programming job while still working at the old job.

Theres no way I would quit my current job before having another job lined up, if I didn't need to. I do agree that looking for a new opportunity is like a full time job, but when you are already employed the necessity is not as great. I can take my time over months rather than try to treat it like a 9 - 5.

Re: How to Interview Engineers

#44
post #6
post #5

"15% dislike academic CS (and think that talking about CS is a sign that a candidate will not be productive)" That seems really weird. Academic CS isn't really necessary for most programming jobs, but I can't see how it would ever be a detriment.

I had a guy work for me that was very academic minded regarding programming. He had a hard time letting go of the "pure" way of doing things and taking a good/practical approach to just getting stuff done. It can definitely be, but won't always be, a detriment in my experience.

I've worked at places where well-meaning 'just get stuff done' people created mountains of technical debt that hobbled the project in the long term. Made them look great, though.

Great programmers should hopefully recognize and implement a proper balance between practicality and rigor, as necessary. They should also exhibit self-awareness and self-restraint, which sounds like the real problem for the guy you mention.

Re: How to Interview Engineers

#45

Earlier quoted context omitted.

If I'm already employed, it be weird to take a week off just to work for another company. Also ramp up time takes at least a day or two. This whole process seems troublesome for both the employee and employer

When did you last switch jobs? I recently went through a round of employment where I quit my job at the beginning. Between updating my resume/social networks, brushing up on academic CS, finding leads, scheduling interviews and follow-up interviews and managing/negotiating offers, it was absolutely a full-time job. I can't imagine finding a new programming job while still working at the old job.

That seems like an enormous risk. I've in the past spent upwards of 6+ months looking for work, and plenty more people have spent much longer. Given Bay Area expenses, if I quit my income, the first thing I'd have to do is temporarily move somewhere cheaper until I found something. Contrary to all the "shortage of engineers" stories, tech jobs do not, in fact, grow on trees.

Re: How to Interview Engineers

#46
post #2

An interesting point my co-worker made is that, almost by definition, if an interviewee does not know how to answer a question, they don't know why that question is important or where that type of problem is applied. So from the point of view of an interviewee who's can't do well on all the questions (that's most of us in most interviews) some of the question will always seem like minutiae / lacking application. (Of…

I've thought of interviewing as finding the intersection of something to have a discussion about. Tech is so broad and deep it's possible that two people will have minimal overlap. It's nice to find some common ground you can discuss in depth.

If both the interviewer and interviewee have overlap they can discuss then the interview is most productive.

Re: How to Interview Engineers

#47

Earlier quoted context omitted.

If I'm already employed, it be weird to take a week off just to work for another company. Also ramp up time takes at least a day or two. This whole process seems troublesome for both the employee and employer

When did you last switch jobs? I recently went through a round of employment where I quit my job at the beginning. Between updating my resume/social networks, brushing up on academic CS, finding leads, scheduling interviews and follow-up interviews and managing/negotiating offers, it was absolutely a full-time job. I can't imagine finding a new programming job while still working at the old job.

Doesn't work when you are on a visa, unfortunately. But even if you could, I still think you wouldn't need to quit before you interview, best case may be a couple of weeks off for preparing.

Re: How to Interview Engineers

#48
post #8

Earlier quoted context omitted.

(Of course, there's also plenty of just bad interview questions) Well yeah, there's that unfortunate fact. The problem is, a lot of interviewers can't tell the good from the bad -- and it can only take one bad question to effectively sink the interview.

Where do you see yourself in 5 years? Every time I hear that question, I die a little inside. I'm not sure it's possible to answer it honestly without taking yourself out of contention.

I don't think answer that question honestly takes you out of contention. You simply state what your career goals are in broad strokes. Say 'I want to advance to a position to mentor others' or 'I want to be managing a small team' or things like that. This helps make things clear as to what you are looking for in the future. If I know you want to be a team lead, manager, whatever that helps shape the job and your career growth, and maybe keep you around longer. Or if I know you have no interest in management, you don't get forced into it and leave earlier than you would have.

Obviously shouldn't answer and say 'I want to work at Major Competitor X, doing Y', but being honest is good for everyone involved. Everyone knows people stick around for maybe a few years and move on. 5 years is a long time, and you may not be (probably not) working for the same company, but its a question about character, motivation, and goals. Not company loyalty or some sort of trap question.

Re: How to Interview Engineers

#49
post #42

Earlier quoted context omitted.

>Academic CS isn't really necessary for most programming jobs Knowing how to code quicksort or reverse a binary tree isn't, but an understanding of normalization definitely is...

No. Source: I have worked for a financially successful company whose database was designed without any notion of foreign keys or surrogate keys. They also had serialized Java objects in database blobs by accident.

I've worked for several like that. The blob antipattern isn't uncommon.

Re: How to Interview Engineers

#50
post #5

"15% dislike academic CS (and think that talking about CS is a sign that a candidate will not be productive)" That seems really weird. Academic CS isn't really necessary for most programming jobs, but I can't see how it would ever be a detriment.

Too much focus on academic topics is likely a sign of inexperience. If the candidate had good real-world experience, they could (and should) speak of practicalities instead of theory. If the explanation involves a reasonable amount of theory, that's all well and good, but too much is an orange flag because it signals inexperience. It may also signal a propensity for dwelling on theory instead of Getting Things Done(T…

Huh? Being experienced does not mean you stop liking the theory. If nothing else, more experience makes you appretiate a lot of it more.
Post reply on HN