Live data from Hacker News

Technical interview methods pale in comparison to playing Factorio with someone

erikmcclure.com

21–30 of 358 posts

Re: Technical interview methods pale in comparison to playing Factorio with someone

#21
post #9

I don't think there is any silver bullet way to do technical interviews. The idea that you can extrapolate a few hours of exposure to a person into a reliable predictor of future performance is somewhat silly to me. Any technique you use is going to be biased for people that are good at "X", where "X" is a tiny subset of what you need in an employee. Obviously, you still need to do interviews, but keep some perspecti…

You can choose to make X (what's tested for in the interview) a representative cross section of the harder things that you need.

Or don't even try and make X not even intersect with anything you need.

It still puzzles me how many people opt "don't even try".

Re: Technical interview methods pale in comparison to playing Factorio with someone

#22
This winter break I spent an embarrassing amount of time on Satisfactory on Steam, which is essentially a nicer (and probably easier) modern refresh of Factorio.

While I played, I came to similar conclusions to the article. Building factories in this game is very very similar conceptually to building software. I ran into exactly the same problems that I ran while I build software like:

- If I don't plan ahead enough the scope and layout of the factory, I end up with a spaghetti mess that is very difficult to rectify (technical debt)

- If I plan too much ahead, I overwhelm myself without even starting. The amount over-engineering and over-preparation becomes counterproductive and demoralizing.

- Starting new factories is fun. Maintaining and extending a factory that is starting to show serious design issues is a chore. I always tend to want to scrap the factory and start fresh.

- While designing a factory, modularization is key. You can go with a "monolithic" factory where you provide all possible materials as input, and try to build everything as output. It is very efficient transportation wise, and can centralize all management, but it can and it will become an unmaintainable mess. You can also design factories as "microservices", where each factory is a very compact, clean and scoped. It will only produce nails, or rubber, or copper wire. When you need to increase production of that item, you just duplicate the module (horizontal scaling). It seems fantastic at first, but the issue is now transportation. Dozens of micro-factories have to communicate with themselves to combine and produce more complicated items. The physical distance makes planning transportation a logistic and construction nightmare. So you have to find the right compromise between monolithic and micro-services.

I think I agree with the article that you can extract a lot of information about how good a person can be at software development by the way he plays Factorio/Satisfactory. Not so practical though :)

Re: Technical interview methods pale in comparison to playing Factorio with someone

#23
post #16
post #7

I don't know that I agree. I don't really play games so I would be a bit lost here, but if you needed me to design and start coding a large distributed system I would happily oblige while he watched...

Isn't a factory a large distributed system? What's the difference between this and a visual programming language like LabVIEW?

In the abstract sure, but in the concrete and in the way I think through problems its just not the same.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#24
I found refactoring demo... GildedRose to work well. It is super fun for people and they can talk through it. It helps surface how they are thinking about code, definitely not the something that can answer all the questions but reduces tension a lot with candidates.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#25
Click-Bait title, and judging by comments here everyone went for the click-bait.

The author doesn't actually use factorio for interviewing, and thinks it world be a bad idea to do so.

A more accurate title would be "Comparison between Factorio and Software Engineering Concepts" - but that wouldn't have gotten it to the top of HN so fast, nor gotten so many comments so quickly.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#26

It’s unclear if this article is satire or not. Given that you will be spending 20 hours of at least two people’s time (one candidate, at least one employee), the space of alternative interviews is quite large. You could, for example, spend 20 hours observing them perform an actual software task. This piece doesn’t consider alternatives at all, merely asserting that this particular 20 hour game is the best that can be…

The article clearly states that this is not a realistic thing to do.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#27

How can this not have a huge bias in favor of gamers? Might work for them because that's the kind of culture fit they need, but I doesn't look all that generalizable for other companies.

I don't think it would have a huge bias towards gamers in general. the real issue would be people who already happen to be good at factorio. if you play with experienced people, it's easy to pick up on a lot of efficient patterns without really understanding why they work.

then again, I guess that's also true of software.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#28
software engineering and factorio are cybernetics and systems theory. That's the overlap - dealing with causal loops, buffers, queue theory, feedback, all that.

It really pisses me off that we as an industry don't broadly know our roots and the actual theory that we are putting into practice when we work. The "coding is engineering or art" debate? Easy; it's systems engineering.

The closest we get as an industry to teaching what's under the hood is to deal with computer science, which is great, but data structures and complexity heuristics are only a small piece of the puzzle.

It's no great surprise that there's such a big problem with cargo culting when most of us don't explicitly know what it is that we're doing.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#29

How can this not have a huge bias in favor of gamers? Might work for them because that's the kind of culture fit they need, but I doesn't look all that generalizable for other companies.

You only have to understand how to move your character using WASD, the concept of Inventory and pointing at different places on the ground with a cursor. Failing to understand this simple set of rules would disqualify a person from most jobs ever invented.

But its biased against people who can't use mouse and keyboard :)

But on serious note, People who played the game could just hide the fact that they know the game mechanics. And act like they are catching up faster then normal person would.

Re: Technical interview methods pale in comparison to playing Factorio with someone

#30
post #21
post #9

I don't think there is any silver bullet way to do technical interviews. The idea that you can extrapolate a few hours of exposure to a person into a reliable predictor of future performance is somewhat silly to me. Any technique you use is going to be biased for people that are good at "X", where "X" is a tiny subset of what you need in an employee. Obviously, you still need to do interviews, but keep some perspecti…

You can choose to make X (what's tested for in the interview) a representative cross section of the harder things that you need. Or don't even try and make X not even intersect with anything you need. It still puzzles me how many people opt "don't even try".

I see what you mean, but in my experience there's this tendency where you think you're testing for "X", but you aren't really.

A whiteboard FizzBuzz might be actually testing for memorization, deliberate interview prep, extrovert tendencies, etc. And not for any kind of actual technical skill. Failing the FizzBuzz could also just mean high social anxiety.

Post reply on HN