News for hackers. Stuff that matters.
Re:A Senior Engineer's Guide to the System Design Interview by eschneider on Thursday March 02, 2023 @04:26PM (#35002316)
98% of what you'd be inclined to diagram out and explain for a system design interview isn't remotely proprietary. People are generally looking for a high-level overview of a system you've worked on to see a) that you've really worked on it and b) you can explain it such that it makes sense.

Sure, folks will ask you to drill down here and there for more detailed info, but if someone pokes on something where the details really _ARE_ proprietary, it's fine to just say that and offer to drill down somewhere else.

Re:A Senior Engineer's Guide to the System Design Interview by toolz on Thursday March 02, 2023 @04:35PM (#35002419)
I'm not a lawyer, but wouldn't anything you or anyone else developed on company time at another company be owned by that company and thus proprietary?

In practice I can't imagine the spirit of any law would be violated by doing an architecture diagram, but it seems likely (to me, at least) the word of the law would be violated.

Re:A Senior Engineer's Guide to the System Design Interview by jfarina on Thursday March 02, 2023 @04:50PM (#35002583)
How could you ever interview anywhere if you couldn't provide details of the projects that you worked on?
Re:A Senior Engineer's Guide to the System Design Interview by lelandfe on Thursday March 02, 2023 @08:51PM (#35004821)
I have a relative who works on very secretive stuff for big companies as a chemist.

His interviews are humorous. Those leading the interviews can't tell him what he'll be working on, and he can't tell them what he's done in the past.

The questions tend to be very theoretical, instead.

Re:A Senior Engineer's Guide to the System Design Interview by hirvi74 on Thursday March 02, 2023 @11:35PM (#35005857)
Leetcode questions?

(Don't kill me, you all. I'm joking).

Re:A Senior Engineer's Guide to the System Design Interview by eschneider on Thursday March 02, 2023 @04:54PM (#35002618)
Sure. But the level of description that you're giving in an interview can be pretty generic/non-proprietary. If that wasn't the case, then you really can't reuse any knowledge from job to job and that's just not so.

Sure, every company is going to have their 'special sauce' components, that ARE proprietary, but nobody's going to expect you to unpack those.

Re:A Senior Engineer's Guide to the System Design Interview by bcrosby95 on Thursday March 02, 2023 @09:47PM (#35005200)
I doubt it's common, but my friend had an experience where they kept trying to direct him towards specific technical topics of particular interest to the business.

He worked for their competitor, but not in the capacity the interviewer was trying to delve into, so in addition to scummy, it was pointless and annoying.

At some point my friend cut the interview off.

Re:A Senior Engineer's Guide to the System Design Interview by eschneider on Friday March 03, 2023 @11:45AM (#35011923)
Which is the proper thing to do.
Re:A Senior Engineer's Guide to the System Design Interview by Swizec on Thursday March 02, 2023 @05:03PM (#35002714)
> I'm not a lawyer, but wouldn't anything you or anyone else developed on company time at another company be owned by that company and thus proprietary?

In theory yes, in practice ... if that's true, why would anyone ever hire you for your experience? You wouldn't be allowed to use it.

Re:A Senior Engineer's Guide to the System Design Interview by Naracion on Friday March 03, 2023 @04:10AM (#35007415)
(coming from the standpoint of a historically non-technical individual contributor who is leaning towards technical now, and asking because I want to learn):

But isn't that exactly why you as an interviewer would pose a problem, set up the context that is potentially similar to the work your project would require, and see how the interviewee navigates that?

Re:A Senior Engineer's Guide to the System Design Interview by Swizec on Friday March 03, 2023 @11:06AM (#35011379)
Yes, it is. I would want to know how a person solves my problems.

And I sure would hope they bring all their experience to bear! Just because they learned about CDNs at their previous job and “everything is proprietary”, I don’t want them to suddenly forget how CDNs work.

Very little is actually unique between software businesses. We’re mostly just doing data bureaucracy.

Re:A Senior Engineer's Guide to the System Design Interview by ozim on Thursday March 02, 2023 @05:58PM (#35003278)
So no one else can never build todo app or blogging system?

There is term called prior art an for me if you write bunch of props to database like text/numbers it is basically done in every other system.

Unless you build novel db system of course.

Re:A Senior Engineer's Guide to the System Design Interview by icedchai on Thursday March 02, 2023 @07:13PM (#35003951)
Most people barely consider this. In the old days, before leet code interviews, I had people give me code samples. One guy gave me a code sample from some telecom carrier's billing system. It wasn't good. It was also bad that he gave us a proprietary code sample, so he got no points for that either.
Re:A Senior Engineer's Guide to the System Design Interview by angelbar on Thursday March 02, 2023 @07:53PM (#35004338)
So, nobody can never do again anything that he/her do to become a expert?
Re:A Senior Engineer's Guide to the System Design Interview by rco8786 on Thursday March 02, 2023 @04:46PM (#35002538)
> 98% of what you'd be inclined to diagram out and explain for a system design interview isn't remotely proprietary

Maybe we're just on different wavelengths, but literally every single thing I work on that would be a good candidate for this sort of interview is extremely proprietary...and I'm just working on regular ol' backend services at [generic big tech].

Re:A Senior Engineer's Guide to the System Design Interview by stale2002 on Thursday March 02, 2023 @06:57PM (#35003818)
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!

Re:A Senior Engineer's Guide to the System Design Interview by Retric on Thursday March 02, 2023 @07:51PM (#35004316)
What you learned isn’t the same as what was built.
Re:A Senior Engineer's Guide to the System Design Interview by heyoni on Thursday March 02, 2023 @08:49PM (#35004811)
But you learned how to build things so….
Re:A Senior Engineer's Guide to the System Design Interview by Retric on Friday March 03, 2023 @06:21AM (#35008171)
Well yes, I hope someone learned how to build many things not just recreate an architecture they’ve seen before.
Re:A Senior Engineer's Guide to the System Design Interview by djs070 on Thursday March 02, 2023 @08:51PM (#35004823)
The flaw in this argument is assuming that you could do a good job of diagramming a system without describing the use cases of the system. My web dev skills are not proprietary, but the processes and systems I have worked on are.
Re:A Senior Engineer's Guide to the System Design Interview by projectazorian on Thursday March 02, 2023 @09:42PM (#35005163)
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.

Re:A Senior Engineer's Guide to the System Design Interview by sticksmite on Friday March 03, 2023 @02:06AM (#35006698)
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 by bcrosby95 on Thursday March 02, 2023 @09:44PM (#35005174)
There's a difference between being asked to design a system of the interviewers choice and being asked to design a system you know deeply.
Re:A Senior Engineer's Guide to the System Design Interview by everydayentropy on Thursday March 02, 2023 @10:45PM (#35005536)
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 wouldn't want your employees giving the recipe to your secret sauce away to your competitor, right? That's what everyone is talking about.

Re:A Senior Engineer's Guide to the System Design Interview by glass3 on Friday March 03, 2023 @12:20AM (#35006120)
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 company IP is transferred? The employee knows how to create the system because he knows how ChatGPT works. If he recreates a similar system but doesn't say that it is a copy of ChatGPT, is that applied skill or is that a violation of the NDA?

If it is a violation, how could he forget the structure of ChatGPT to genuinely come up with a new structure?

Re:A Senior Engineer's Guide to the System Design Interview by namaria on Friday March 03, 2023 @02:26AM (#35006796)
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 by stale2002 on Friday March 03, 2023 @01:44AM (#35006583)
> 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 by aurbano on Friday March 03, 2023 @06:58AM (#35008382)
I think they mean something like:

[Client]->[Cloudfront]->[Load balancer]->[ECS service in a VPC]->[RDS/other internal systems]

* Replace the above with any other cloud provider, or just commercial/open source tools that do the same job running in a VPS or whatever *

I can't see how any of this could be claimed to be protected by an NDA or similar, as this is just a highly standard architecture.

If you work on a proprietary system that has a specific architecture just don't mention that of course. I think the above allows us to discuss things pretty well, talk about introducing caching, why each layer is there, TLS termination, authentication/authorization concerns and implementation, secrets management...

Re:A Senior Engineer's Guide to the System Design Interview by alistairSH on Friday March 03, 2023 @07:06AM (#35008455)
It’s the difference between being asked “how would you design a Twitter clone?” and “How did you design [current employer’ssystem]?”

The first is generic (unless you happen to be a current Twitter employee). No NDA impact. The second is asking you to reveal details of a proprietary system covered by NDA (or if you’re a Fed contractor, covered by various classification laws).

Re:A Senior Engineer's Guide to the System Design Interview by rco8786 on Friday March 03, 2023 @10:00AM (#35010437)
What on earth are you even talking about? I can't build anything, because the stuff I have built is covered by NDA?
Re:A Senior Engineer's Guide to the System Design Interview by danielmarkbruce on Friday March 03, 2023 @09:09PM (#35017439)
That would fall into the 2%. At least in my experience, the 98% number is in the ballpark. If you are working on backend services in big tech, what you are building is quite different than most software systems.