Hacker News new | past | comments | ask | show | jobs | submit login

Really? Cause it seems, based on my interviews, startups couldn't care less about my background in leading customers through beta demos, collaborating with scientists, participating in sales presentations and outreach, writing documentation, or any of the issues described here.

They do seem awful interested in whether I can find all matching subtrees in a binary tree, though. Which, now that I think about, is the one thing I learned in college but haven't done even once on the job once in 20 years (I have had to find minimum cost paths in a tree, though. I couldn't have done it on the spot at the whiteboard, but my data structures and algorithms class was helpful in researching and figuring it out years later).




Yes the software interview process is broken; the skills evaluated are rarely the ones that measure the success of an individual at an startup. I prefer to ask system design questions.


I require systems design questions for anyone with >3 years of experience. We also do a coding and PR exercise. My team manages some machine learning systems, but I couldn't care less if they know how to implement SGD in some form. Can they recommend how to reduce the memory footprint of a system/model? Our customers don't care how our system works; only that it works reliably and consistently.


The questions FAANG ask should not be the questions a startup asks... FAANG have to deal with measuring candidates at huge scale, and have literally too much talent coming through the door. A hiring decision in a startup can be a series of life or death decisions.

I think algorithms questions are an OK litmus test for being able to program, but it shouldn't be everything or even 1/4 of an interview at a small company.


maybe startups should focus on filtering for any reasonably competent person who will actually stick around until the company succeeds or dies


The competence is their half and the only bit of filtering - them sticking around is "yours" (the start ups) as you set the environment, pay, and benefits.


I don't know how big the percentages are but a worker's decision to stick around is a function not only of environment, pay and benefits. It's also a function of the worker's level of interest in the company's subject domain, individual desire for continuity, risk aversion, etc.


> FAANG...have literally too much talent coming through the door

From first hand experience, I would strongly disagree...

I won't beat the dead horse of the sad state of tech interviews, but just wanted to point out that this statement does not align with my experience at all.


I'm more referring to quantity than quality. At that scale it's better to optimise for a lower false positive rate because your business isn't going to collapse if you miss a decent candidate.


It will negatively impact the business if the business can’t identify the best candidates. It can have a low false positive rate and still hire relatively mediocre engineers. Which is what I’ve seen happen over and over again.


At what point is a company no longer a startup and just a small business looking for talent? I ask because my view of a startup that isn’t a unicorn worth millions within its first few years (where rapid growth will encourage a hiring spree) is its usually a handful people and some office space.

Are typical start ups really doing whiteboard interviews during their early stages? I expect white boarding from a company like Uber or Discord but don’t most still hire based on networks and recommendations?


> At what point is a company no longer a startup and just a small business looking for talent?

I'd say when it stops accepting funding and determines it wants to stay as a small business. But that's probably a bit rare for companies that have taken on significant funding. After all, if I'm an investor I'd like my money multiplied (>1, thanks).

> Are typical start ups really doing whiteboard interviews during their early stages?

It varies a lot on the startup and the founders. Some founders don't have a large network of engineers (or - rather - engineers who would like to work at a startup for startup compensation; this is especially true with very early startups). You'll eventually have to hire from outside because your network will run out.

I've been hired as an early engineer at a seed stage startup. (Would not recommend) I've interviewed at dozens and dozens of startups in SV all across the funding range. Many of the ones I interviewed with did ask typical whiteboarding questions that you'd find at FAANG. After all, many come from FAANG and don't know any other way to interview. Or they try to imitate "the best".


I can't speak for more recently, but a < 10 person startup I interned at the summer 2014 had me do a number of whiteboard-style interview problems (although remotely, due to how far away I was).


>I have had to find minimum cost paths in a tree, though.

Umm... every path is a minimum cost path in a tree, because there’s exactly one path between any two vertices.


Non CS people may not understand this at first, but you are exactly right. A 'tree' is connected and has n-1 edges. So there can only be precisely one path between any pair of vertices.

He may have meant a general connected graph (not specifically a tree). In which case, there could be multiple paths and some may be cheaper than others.


That’s a good guess/intuition - you’re correct that it wasn’t a binary tree strictly speaking. It was a situation where each node could activated by conditions on sub nodes, with a cost associated with activating each node. Also, in different scenarios, the tree would come with a different set nodes already activated. So the question was to figure out the minimum cost set of activations and in which order.

It wasn’t a graph though as there was a unique path from the root to each leaf

That’s about as well as I’m going to do here it was a while ago...


The thing about all of those skills is they are all soft skills, that can be taught quickly on the job to the right candidates. Whereas a deep ability to solve a technical problem cannot be taught in a reasonable amount of time to most people.

Asking someone to find the matching subtrees in a binary tree might not be the best interview question, and to some extent it is kind of trivia for "did you grok your CS education well" - but the point of algorithms questions overall is to see if the candidate, when confronted with a tricky problem, will solve it.

And no, these tricky problems don't come up all that often, and you're often just doing basic coding plumbing work. But the candidates who can solve these problems can do all the plumbing work too, and when confronted with a tricky problem, they can get past it. And they also may innovate in an algorithmic way where a less deeply technical developer will either get blocked or come up with a worse solution.


“The thing about all of those skills is they are all soft skills, that can be taught quickly on the job to the right candidates”

Citation very much needed. If anything my experience suggests I can teach people with “soft skills” how to do algorithms and data structure tricks much easier than the opposite.


> The thing about all of those skills is they are all soft skills, that can be taught quickly on the job to the right candidates. Whereas a deep ability to solve a technical problem cannot be taught in a reasonable amount of time to most people.

This is the exact opposite I have seen in 20 some odd years of working. Maybe if you mean deep technical skills as an expert in cutting edge ML? Thing is, most companies do not need that that depth of expertise. They need someone who can get build standard web/mobile apps, and not be an asshole (and even a bigger plus if they know anything about business/finance/project management). How many assholes have you ever turned into not assholes vs. how many people have you been able to teach something technical? Soft skills are hard for many people.

EDIT

Wanted to add that a pretty standard soft skill of being able to check their ego often allows people to learn more easily than those who can't put their ego aside.


There is the old adage, "you can teach technical skills but you can't teach personality."


I can handle most personalities within 2 sigma, coach where I need, what is very hard to change is mindset.

People who won't try new things, because they'll suck at it.

People who don't Google (they know how, they just don't) because they think all answers all received wisdom, not something between a SWAG, an opinion, and a mental model.

People who don't read things outside their domain because that's someone else's job.

People who confuse having 1 experience for 7 years with 7 years experience.

People who think you have to be an expert scientist, engineer, architect, philosopher, and mechanic to change a light bulb, so they never even tried.

People so worried about imposter syndrome they'll never deliberately exert any curiosity for fear it will be seen as ignorance.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: