Live data from Hacker News

I will not do a tech interview

medium.com

481–490 of 554 posts

Re: I will not do a tech interview

#481

Granted, there are a lot of bad tech interviews out there (asking about algorithms that nobody ever uses) ... but I do not understand this. Imagine someone's being hired for a front-end position, and we don't have months to get them up to speed. I'm going to ask them to explain how a closure works. How they deal with AJAX. What they think about "!important". Things to be careful about with floats. How CSS precedence/…

I think part of the problem is the breadth of material for which you can be questioned in. Since I live in the Java world, let me use that as an example.

I have heard of anonymous classes. I've never used one on the job. Maybe that's a function of me being more server side and I think anonymous classes are use more heavily in Swing. Ditto for reflection -- aware of it and when to use it, but just never had the need. For better or worse, the pieces of functionality I've had to build out over the years simply did not require me to use those pieces of Java. There are countless of pieces of Java that I simply do not use, even if I'm aware of them.

A Java developer (at least in my circles) rarely just codes in Java all day. Often, they're using a framework. It might be Spring. It might be Hibernate. Right there, you have two vertical streams of expertise they could pounce on. Now add SQL. Even if you're using Hibernate, you'll still need some fundamental knowledge of SQL. Likely, they'll hit you with HQL questions. Maybe some lazy loading. Maybe some optimistic locking.

Maybe add EJBs. Maybe add JPA. Throw in some jQuery/HTML/CSS (unless they live exclusively in the server tier). Inevitably, some may ask about stored procs/PL-SQL. Oh what the hell...let's add web services, SOAP, REST, Ajax, JMS, transaction isolation levels, clustering, SSL. And so on. Wait...add Linux admin.

The disconnect (anxiety?) comes from a developer having to use so many technologies, which is realistic, and the interviewer salivating at the opportunity to go deep in any one of those.

"Excuse me...you can't write a static nested inner class? And you call yourself a Java developer?"

I once had an interviewer disappointed in not being able to ask me PL/SQL questions, despite me not even having PL/SQL on my resume. He just wanted to go there.

The interviews are often based on a notion that a developer does nothing else but use the language to its fullest. All day. Every day. Reality suggests that a developer uses only as much of a language as needed to build out a piece of functionality for a given need. They don't use every data structure available, nor necessarily every major piece of the language.

There's seemingly no way around this conflict. The interview is focused on a language. The developer is often focused on putting together solutions. Depth vs. breadth.

For the record, I had an interview once for a Grails developer spot and was asked about UDP. Yes, seriously...UDP.

We're not God. We're just developers.

Re: I will not do a tech interview

#482
post #268

Earlier quoted context omitted.

> A "portfolio" does not have to, and should not, consist of side projects. I agree with this > If you have absolutely nothing that you can share (code, screenshots, a URL, a "case study") with a prospective employer, it's not the prospective employer that has a problem. I disagree with this. If you require this to be true, you've instantly excluded everyone's experience in either government (particularly defense), o…

If you're in an industry where it's typical for candidates to be limited in what they can share, then ostensibly the hiring criteria and process would reflect this.

[deleted]

Re: I will not do a tech interview

#483
I've been a developer for 8 years. I have a good job already. When I get an email from a google recruiter, I usually think this:

My free time is very limited and valuable. Google sounds interesting, but here are my options:

a) Spend my free time exploring and building small projects with new technologies and techniques. Maybe work on a mobile app that could make some money.

b) Find my old CS textbook and notes and do algorithm studying and exercises just to prepare for an interview.

Doing a) directly improves my skills and has lots of benefits. I've been able to improve projects and gain a lot of good reputation at work because of things I discovered doing a). a) could also lead to making a revenue-generating mobile app. And perhaps most important of all, a) is FUN.

Doing b) just feels like a giant waste of time. Doing b) is a direct opportunity cost of not doing a). The potential return for b) is what? Going through a day long interview with judgmental engineers trying to look smart? And it's boring. It was fun learning in college when it was the first time and I had that aha moment of understanding. Now its just boring to go over it again and again just to rote memorize things. I would rather be building or learning something new.

Re: I will not do a tech interview

#484
I too think something has gone horribly wrong with the "modern tech interview" especially in a large corporation. It feels like a Frankensteinian experiment gone horribly wrong relative to real world results-oriented development. If the actual job was like the "tech interview", and the actual corporation run like the "tech interview" process I would leave screaming inside of a week ;)

Practice can work against you. In one case I was worried about the algorithm and data structures side of things based on glassdoor posts. Spent a week of evenings coding algorithmic whizbangery. In the interview I obsessed on getting every line of from-scratch code right (obsessively focused is often how I code real software) and stopped "listening" to what was being asked. Double whammy was the interviewer was actually not very familiar with the solution to the problem (canned and complex do not mix well) and when I confidently but politely corrected him as we were coding, boy the color of the interview changed fast and game over. My bad, In the real world I'd politely correct a coworker too.

Or maybe what you should practice is writing out JavaScript with pen and paper like another interview. I hadn't written code out by hand for 15 years .. like since the invention of the keyboard. I did a terrible job despite having just completed a non-trivial very modern mobile front end project. Ri-donk-u-lous.

Be yourself, stay balanced, do your best, HR science is evolving too.

Re: I will not do a tech interview

#486
post #72

Earlier quoted context omitted.

Maybe somebody can explain this better to me -- but if you freeze up in interviews, are you also going to freeze up in developer meetings? During code reviews? When you're in the room with clients? Of course not. Interview situations are very, very different than the others. Meetings and code reviews are with co-workers, whom you know and trust. Meetings with clients could be nerve-wracking for other reasons, but the…

My favorite technical interview was when one of their engineers got me on Skype, and told me to explain (line by line) the code for one of my open-source projects (which he picked out). I didn't prepare for this, but it allowed me to convey my engineering thought process and brag a little :) I really enjoyed it.

> My favorite technical interview was when one of their engineers got me on Skype, and told me to explain (line by line) the code for one of my open-source projects (which he picked out).

I've done a fair number of interviews, and this has been one of the best tools in my kit.

In fact, I will never do an interview without first doing research on the candidate. Having the candidate talk me through some of his projects and/or bits of (usually tricky) code segments has enormous benefits.

1: It allows the candidates to tell me what they really know, why they have chosen a given approach to a real problem, and sometimes even explain how they would reimplement the solution. (Or drop something altogether!)

2: It relieves stress. The candidates are suddenly on familiar ground. Instead of being grilled by the interviewer (me), they're suddenly explaining coding practices and their interests to a fellow hacker.

3: I, as an interviewer, learn more. I learn quite a bit of the candidate as a person, and on the very best occasions, I learn plenty of new things myself.

And there's nothing like those golden moments when the candidate forgets they are being interviewed. Their entire behaviour changes. Sometimes their manner of speech changes too. From those moments I can learn what truly makes the candidate tick.

For the record: I have never, ever based any decisions on my pre-interview research. That's just for my preparation. I'm supposed to do a hiring recommendation in mere hours - I want to spend that time as efficiently as possible.

Re: I will not do a tech interview

#487
post #137

Given the plethora of comments, this will likely get buried but I'll weigh in regardless as those who suffer from the anxiety issues the author mentioned will likely scroll through most of the comments. Every issue the author mentioned can and should be mitigated by a decent internal recruiter or manager. Essentially whoever initiates the contact with the developer maintains a responsibility to ensure that their 'can…

Unfortunately I think people who take the type of care you outline above are in the minority of recruiters/hiring managers. I don't know what the solution is, having been on both sides a number of times.

What I worry about most isn't that the contemporary coding interview creates false negatives. What I worry about is I suspect that it unevenly creates false negatives.

Re: I will not do a tech interview

#488
I couldn't agree more with this approach. I have a similar story that recently proved to be quite successful.

I was working on a project myself, that I kept getting stuck at a particular point. It could just have been that I was looking at it, by myself, too long and was too close to the problem that I couldn't solve it.

I was looking for Rails devs because 5KMVP started getting more requests for work.

I got a few recommendations and people reached out to me about that freelance Rails position. I whittled down the list to a few I was interested in and I decided to do exactly this.

I created a mini-spec of the problem I was trying to solve, pushed the codebase to a private bitbucket repo and added the guy I was evaluating.

Told him what I wanted completed, and told him I would pay him to complete that micro-job. If it works out, then we will move on to other projects.

Once he finished the project (in a few days) we both walked through his solution. That was such an insightful process for me, because I got an inside look into the way another developer thinks. I even learned from his approach, from his code style and was pleasantly surprised with the quality of the output.

Going through the 'post-code analysis' also allowed me to see how he communicates in the way that I will really communicate (which is via Email and Skype).

I have since hired him and I love working with him. We do have things to work out - specifically on the communication side, but I was pleasantly surprised at the outcome of the little experiment.

For a relatively small amount of money, I was able to a) Learn an interesting approach to solving that particular problem, b) learn new coding approaches, c) figure out how he communicates, d) see how we would work together - he didn't understand something, so he asked questions while he worked through it, e) he was able to do all of that at his leisure - not necessarily through a timed examination.

It's a wonderful screening tool - and while I am not sure how that will scale - that has been my experience with this approach too.

I will definitely continue hiring freelancers like this....by the way, I only did this after I looked through his Github account and checked out any projects and web properties he had online. That's the first line of screening from my perspective.

Edit 1: I thought I should add that I think that this worked so well for me, because this was a problem that I had been tackling for weeks and couldn't solve. So I was intimately familiar with the inner workings of the problem and so could fully appreciate the solution.

Re: I will not do a tech interview

#489
When I started my career I was in the UK civil service. One of the best things I took from that experience was the formal training they gave me in interviewing.

The UK civil service used interview boards consisting of a manager of the role, a subject matter expert and an independent person from outside the organisation. It is an inherently high-stress situation for the candidate due to the numbers involved and and usually due to the room layout.

I was trained to account for the stress reactions and see past a freeze due to the situation and focus on clear demonstrations of skill and experience. If anything we were trained to try to make the candidates perform at their best in the board rather than probe to see their worst sides.

It was complicated by the fact I was employed in a highly technical specialist team (It was a military research agency) and few people we interviewed had any experience of what we were planning to employ them for.

We also consciously went beyond a general knowledge test and focused on how the candidate thought about answering questions rather than if they knew every technical detail. In that role technical detail was only a man page or a conversation with a colleague away if you know what you didn't know and were prepared to ask for help.

Any interview that stresses the candidate, quizzes the candidates memory of detailed technical facts and doesn't work from the premise that it is a high stress artificial situation is not going to provide a valuable outcome for anyone involved.

Edit: My best question to identify general technical competence starts with "Can you describe the TCP handshake?" and if they know is quickly followed up with "Why is it like that?". Unless there is role specific reasons to know TCP then it doesn't really matter if they don't know, if they do know I am really interested in their answer to why it is the way it is. Many even quite senior candidates have never considered it before and watching their process of thinking about it is very instructive about their ability to think about technical details in the abstract.

Re: I will not do a tech interview

#490

Earlier quoted context omitted.

I think that a lot of companies forget that they are also being interviewed during their interviews. Were I to interview at your company, I would think that your employees spend most of their time performing code review. I would probably walk out, too.

I can understand that take on it. Our take is more that if you can recognize what is wrong with the code on multiple levels then you can most likely write good code. This is easier to check on non-trivial code when done through a code review then by getting the interviewee to write the same kind of code that every other interview looks for. The submitted code sample does this as well. I'd also want people on my team…

I am completely behind code review and refactoring. I am our company's Chief Refactorer (a title I just made up, but it's accurate), and after instituting code review a few months ago, it has made our development process so much better. At this point, I hate merging in a feature that I've written without having someone else review it.

So that's not my issue. I was pointing out that your interview process seems to involve only code review, based on your comment above. Put yourself in an interviewer's shoes: in two different instances, you've been presented with bad code and asked to code review it. Personally, I would be concerned that (1) your company writes bad code, and (2) I'm going to be expected to spend all my time reviewing and fixing other people's bad code instead of writing code myself.

Now I doubt that's actually the reality of working at your company (at least I hope so!), but first impressions are very important, and that's what your interview process would tell me if I were interviewing there.

Post reply on HN