Live data from Hacker News

A senior engineer's guide to the system design interview

interviewing.io

321–330 of 399 posts

Re: A senior engineer's guide to the system design interview

#321
post #279

Earlier quoted context omitted.

I get what you are saying, but I have done tech recruiting for a long time and the reality is that everyone claims they have built complex production systems at scale. Everyone has lofty resumes with the choicest buzzwords. Everyone can come up with war stories about how they single-handedly kept the internet alive. And everyone can write the names of a dozen references who can vouch for all of this. The moment you s…

> I get what you are saying, but I have done tech recruiting for a long time and the reality is that everyone claims they have built complex production systems at scale Then we need a better test, but the gamification and badgering isn’t effective imo. > And once in a while some genius superstar 10x programmer comes along who is too good for these silly interviews... well that's fine we don't need that arrogance eith…

> Then we need a better test, but the gamification and badgering isn’t effective imo.

The educational field has been trying to do create tests that cannot be gamed for over a century. The problem is that "gamification" is just a form a studying. In general, folks want tests to have the following properties.

1. Consistency of measurement across test-takers for a defined set of skills

2. Relatively short time-bounds (few hours).

In job hiring, the approach that tries to sacrifice (2) is contract-to-hire, just let the person do the work for a month! Turns out that people with in-demand skills aren't super interested in this.

Companies with more than a handful of engineers don't want to sacrifice (1) both out of fear of lowering the hiring bar too and because it may open them to discrimination lawsuits.

Once you have both of these constraints the number of "test permutations" (along with their relevant evaluative criteria) become limited enough that people can study them and thus gamification begins.

Re: A senior engineer's guide to the system design interview

#322

We've gone away from system design interview questions on my team. We ask people to diagram something technical they understand well and the team digs in and asks questions to understand depth and breadth of the candidates understanding. For us it works much better. It's a chance to see how well candidates do in following instructions. It gives you a chance to explore depth and breadth of their knowledge on something…

hmm interesting approach, really like it. Where do you work? and are you hiring now?

I would also like to know these things.

This sounds like a type of interview that respects my time, which makes me think there is a good chance the company as a whole will respect my time and humanity as well.

Re: A senior engineer's guide to the system design interview

#323
post #152

Earlier quoted context omitted.

I like this... in theory. But I don't think I'm allowed to give you a system diagram and detailed explanation of systems I've worked on, because obviously they're proprietary. That seems like a problem. How do your candidates normally work around this? Does everyone just talk about hobby or open-source systems they've worked on?

Show me a system you’ve worked on that wasn’t put together from knowledge from previous education and jobs (yours and others), documentation from vendors, stack overflow, code generators , etc. I would hate to be a stakeholder in a company whose value depends on employees not talking about and reusing the incremental skills and knowledge gained while working there.

Im pretty sure I learned a full set of new skills at my current job.

I don't think knowledge on any particular api is particularly useful compare to the more generic "can you read docs and use apis" skill, which is directly applicable from something like high level hard ware work making an ftdi USB chip go brrr to making dynamoDB work nicely, but I definitely didn't know anything about dynamodb before doing a server/web job

Async distributed systems and FPGA vhdl have some overlap in how you build things, but doing an interview based on my old FPGA skills likely won't show much of my servers and databases systems design skills

Re: A senior engineer's guide to the system design interview

#324

Earlier quoted context omitted.

If the entirety of your web development knowledge is NDA'ed, then what good are you as a potential employee anyway? You wouldn't be able to build anything, as all your knowledge is NDAed!

This comment is a prime example of how the non-technical founder understands the world. Proprietary systems are company IP. Talking about the design of the system is protected by the NDA, which the exercise described above is asking the candidate to do. You hire for the skills to develop your own proprietary system. The employer doesn't own the skill. The employer owns anything those skills produced for the employer.…

> you hire for the skills to develop your own proprietary system. The employer doesn't own the skill.

Oh OK! Then I guess a good engineer should be able to make it through a standard systems design interview process, and shouldn't complain about it!

I am glad you agree that it is totally fine to ask engineers these types of questions, and there is no problems with NDAs that will get in the way of them demonstrating basic skills!

That was my point entirely.

Yes, I totally agree that an engineer should be able to go through a tech interview.

And the engineers who are complaining about the fact that they have an NDA are wrong, and they should stop complaining.

If the NDA is so significant that it prevents you from doing an interview, then you are worthless as an employee anyway. But really that should never happen.

Re: A senior engineer's guide to the system design interview

#325

Earlier quoted context omitted.

If the entirety of your web development knowledge is NDA'ed, then what good are you as a potential employee anyway? You wouldn't be able to build anything, as all your knowledge is NDAed!

The engineering knowledge isn’t under NDA but there’s no way I could fill an hour long interview about the systems I work on without getting into enough specifics about our business processes to violate NDA. If I were asked a question like this I’d wonder if I were being tested to see how loose-lipped I am with sensitive information.

I get it...I tend to think in point solutions as well, but getting stuck there is the problem and moving past that to abstract point solutions into a systems design that talks about the architecture of the solution and the 'why' behind the design choices is what gets you out of NDA-land. None of that stuff the next level up is proprietary. Specifically how it was applied in that problem domain is.

Re: A senior engineer's guide to the system design interview

#326

Earlier quoted context omitted.

Well I mean your experience isn’t any different than applying for a job that uses Python when you’ve only used C++. Sure, they can train you to learn Python, but they’re specifically looking for a Python developer. They’re not looking for a generic “person that can learn stuff” when there are many Python developers out there that can pick up the job day one. In your case, you had to put in a lot of work because you e…

Is that the highest order bit when you're hiring someone though? For almost all roles, I don't think it is.

No but for a popular job listing in a well known company with hundreds of applicants, there are going to be dozens of people who have similar experience as you, plus have the exact qualification that they are asking for, putting you at an automatic disadvantage.

Re: A senior engineer's guide to the system design interview

#327
As someone that is still in undergrad but will be entering the labor market in a few years, this entire process makes me incredibly anxious to think about. Reading what some people go through to find decent jobs has been a huge stressor throughout my undergrad career. I was lucky enough to secure a good internship this summer (which took months of searching and getting ghosted). I’m not excited to run the rat race again once I graduate—that’s for sure!

Re: A senior engineer's guide to the system design interview

#328
post #299

Earlier quoted context omitted.

This comment is a prime example of how the non-technical founder understands the world. Proprietary systems are company IP. Talking about the design of the system is protected by the NDA, which the exercise described above is asking the candidate to do. You hire for the skills to develop your own proprietary system. The employer doesn't own the skill. The employer owns anything those skills produced for the employer.…

If your employees go to a competitor and make a secret sauce that tastes the same, how do you judge what is the source of knowledge? They can have used their skills to come up with a recipe that tastes the same because the requirements led to that outcome, or they simply copied your recipe. If somebody from OpenAI goes to a competitor and creates something like ChatGPT, where is the line crossed that shows that compa…

Legislatures write rules, people enter contracts, sue for perceived breaches and courts rule on these disputes. People then adjust behaviors to get desired results without incurring legal liabilities. Results vary across jurisdiction. Such questions can't be answered in principle. California famously won't enforce non-compete clauses, and that apparently helps innovation. China caught up industrially with the West within one generation by flouting every IP rule we have here. On the other side of the debate, patent trolls...

Re: A senior engineer's guide to the system design interview

#329
post #284

Earlier quoted context omitted.

What's the sour taste -- what's the problem? Like, what's wrong with being interviewed by someone with less experience than you?

How can someone less experienced that you gauge your competency for a position that requires more experience than they have? That’s before wondering why they’re asking a question to gauge my competency when they don’t even understand the nuance of the question themselves. An interviewer working on google’s enterprise nosql db but not knowing about (at least on a surface level) the breadth of nosql dbs doesn’t seem cr…

> They also has been at the company for 2 years

> How can someone less experienced that you

This argument seems to conflate two different things, how long someone has been at a particular company and their (overall) level of experience.

Re: A senior engineer's guide to the system design interview

#330
Issue with system design is that our industry is so highly opinionated about things. You design something to the best of your abilities, it works (though may have its pros and cons) and then you go present it to a crowd of engineers (HN, say) ... and you get destroyed. There will always be people telling you that these were dumb choices and that that's obvious. And if you go and do what they say is the obviously better solution, then the exact same thing will happen with another crowd.

Our field is too immature to actually agree on things being good or bad.

Post reply on HN