Hacker News new | ask | show | jobs
by anon50118810 1275 days ago
In very large part what your interviews look like depends heavily on when and where you're searching, what type of job you want and what your background is. It's hard to overstate this. 2018 might as well be an entirely different universe.

That said I would be a little suspicious as a mid/senior-level developer if I got hired at a place that didn't ask me to do any coding for them at all beforehand.

3 comments

20+ years in. Don't be afraid those positions can lead to a greenfield development project or come from departments that don't have someone to vet your coding preferences. Usually these positions offer more technical freedom. A company who spends more time vetting code will generally be a place with less freedom and more micromanagement.
> That said I would be a little suspicious as a mid/senior-level developer if I got hired at a place that didn't ask me to do any coding for them at all beforehand.

I'd be suspicious if they didn't ask me to do any coding, but I'd be just as suspicious if the coding they asked me to do was leetcode.

Why are you opposed to leetcode?

While it annoys me as well to have to brush up a little, someone who has both the discipline to review their fundamentals, and that can demonstrate they have the smarts to be good at it, that's a great sign of being a good candidate.

It serves as a great arbiter, if two people seem to have the same experience, how do you pick between the two?

And when hiring a junior, out of school, there will be no experience to go by, so what else would you assess on?

> Why are you opposed to leetcode? > It serves as a great arbiter

I'm opposed because I don't think it serves as a great arbiter. At best, it selects for logical/academic ability, whereas IMO the most important skill as engineer is pragmatic decision making and building an appropriate solution. In practice it just selects for people who have studied leetcode (and to a lesser extent, those who have a CS degree)

> if two people seem to have the same experience, how do you pick between the two? > And when hiring a junior, out of school, there will be no experience to go by, so what else would you assess on?

You use a technical challenge that resembles the work that the person would need to fulfil in the job. Perhaps creating a single view of a website/app for a frontend role. Or creating a few API endpoints for a backend role. Or whiteboarding through a technical architecture (with plenty of opportunity to ask clarifying questions).

> Perhaps creating a single view of a website/app for a frontend role. Or creating a few API endpoints for a backend role

Those things are relatively trivial, and easy to coach as well. If someone never did it before, you can easily show them how on the job. You also wouldn't have time to have them work that in an interview, so you'd need to do a take home, and then you can no longer validate they truly did it themselves, how much time they spent to do it, how much googling they had to do, how they approach the problem or delt with issues, etc.

I also find they tend to be framework/language specific, some companies even have internal frameworks and all that so they'd have to relearn part of it anyways.

> Or whiteboarding through a technical architecture

This is normally included as part of a "leetcode" like interview.

It tends to be a half day, where you're asked one or two system design questions, which are of the format you describe, and are asked one or two data structure and algorithms questions, and one or two small programming questions that checks your ability to write readable and maintainable code that is well structured, well organized and well factored. Sometimes the latter two are combined into one bigger question that tests both code design quality and requires an algorithm or special use of data structures to solve.

I'm sometimes involved in the interviewing process for my employer and we don't do any kind of coding tests. We do ask for them to submit a sample of their work and use it in the interview. I ask questions about the problem and about how they solved it. The code itself isn't usually that interesting, but the tangents we wander down usually are. If the person can't communicate well about a technical topic that they essentially chose, then they probably won't get an offer.

That said, I work for a small company and our turnover is pretty low. I haven't been involved in all that many hires.

This is pretty close to what my experience has been on the interviewee side. The conversations have been technical in regards to talking through problem solving, and esoteric coding philosophy conversations over lunch.

The only coding exams I've ever had to submit were while working at consulting agencies for clients that require an interview process to pick what the client regards as the best candidates for the contract.

I also worked at "very small" (15 dev consultants) to "medium-small" (300 or so technical consultants) companies, hence why I was curious if this was a bigconsulting thing or not.

Submit a sample of their work? What employer lets their ex employees do that?
So far it hasn’t been a problem. Junior candidates have shown code from a school project and others have submitted code from a personal project or from something they contributed to an open source project. I think the personal projects are the most interesting to talk about.
Expecting people to have personal projects outside work is very much selecting for a certain type of person. You're ruling out people who devote their time outside work to their families, or sport, or hobbies that don't involve programming.
I’m not ruling out anything. So far I have yet to find somebody who can’t come up with a code sample to bring to the interview. When that happens, I would probably give them a (paid) assignment. Maybe something like “fix issue #12345 on open source project X”. I’d have to think about it a little and discuss it with the candidate.