_fat_santa 3 years ago

I don't like this.

The first problem is Factorio is not coding. Some kid can come in, not know anything about programming, but ace the interview on the level of a "Senior" developer because they knew how Factorio worked.

The other problem, and arguably the bigger one, is that this really only works for Interns, Juniors and Mid level engineers. Once you get to senior you start specializing and that's what truly makes you "senior" in a space.

If I came in to an interview for a senior position and they had me play factorio? I'm honestly not sure if I would keep taking this place seriously. Like don't you guys want to know about the stuff I have worked on? The stuff I have previously built? Are you really going to take all that experience, throw it out the window, and hinge your hiring decision on how well I do in a video game?

Personally, if a place interviewed me like this I would be a bit insulted and probably not call them back.

tylervigen 3 years ago

This method is obviously biased towards people who have already played Factorio, and in a lesser way towards folks who play games.

Maybe that’s similar to the bias toward knowing FizzBuzz, but it’s much weirder?

  • vsareto 3 years ago

    This article is really just making an analogy of software using Factorio concepts and reverses any suggestion to using it as an interview in its conclusion

  • hnfong 3 years ago

    It's not only much weirder, but much less irrelevant.

    There aren't many people spending their time specializing in programming fizzbuzz solutions, so the "bias" is typically towards programming in general -- which isn't a bias at all because that's what the interview is about.

  • intelVISA 3 years ago

    as much as I love the very weird, outside the box approach this is an unfortunate case of what leading epidemiologists term "video game brain"

KingMob 3 years ago

"You can either submit your Github profile, or your Zachtronics leaderboard."

dreamyfigment 3 years ago

I bounced hard from Factorio because it feels like work so... sure, it makes sense.

  • muzani 3 years ago

    Same here. It's the kind of game that I would love... but I've got tests to write and database calls to optimize.

  • afpx 3 years ago

    It feels worse than work, because at least at work I can automate all the manual, tedious stuff away.

jmugan 3 years ago

I only read the first few paragraphs, but I guess they assume that someone has not played the game before? I'm continually surprised at how often we consider something to be domain-general common sense when it is in fact something domain specific that must be learned through experience.

  • cfcosta 3 years ago

    Not only that, I don't go on the docs to find the most optimized design on factorio like I have to do on code. 90% of the fun to me is to arise at those designs by myself.

    Jank is fun on your factory, not so much on a company product :)

kojiromike 3 years ago

I love factorio, but it would be a lot harder if it didn't have magic backpressure for everything. Can you imagine all the piles of green chips everywhere if the assembler just kept dumping them until it clogged?

I'm not even saying that it'd be better for interviews if you could turn off that backpressure. You gotta limit these things. I'm just saying, if someone asked me how factorio was different from systems in the real world, that'd be my first example.

  • setr 3 years ago

    > Can you imagine all the piles of green chips everywhere if the assembler just kept dumping them until it clogged?

    Isn't that effectively the same thing as when the belt stops? You've just added a bit more buffer before everything seizes up, and some extra cleanup.

    I'm not even sure you can say factorio has backpressure; the factory getting overloaded doesn't trigger slower production rates in prior parts of the system. The queue gets full and stops accepting input, and the prior machines stop sending input as a result (they could alternatively send input and it be dropped & deleted ala software systems, but that's just making it harder to debug because you don't see the whole thing freeze; the problem/solution is still the same)

    • remram 3 years ago

      > The queue gets full and stops accepting input, and the prior machines stop sending input as a result

      That is backpressure...

      Interestingly I think if Factorio didn't have backpressure, and unconsumed items disappeared when they reached the end of the conveyor, the game would be easier because you could just put every kind of items on a single belt. Un-balanced consumption wouldn't stop down the next production stage because the conveyor would keep running, whereas now if you're not consuming one type of item from a mixed stream you will block it preventing you from getting the other types of items.

  • sly010 3 years ago

    Software often has built in back pressure. Most IO syscalls block, TCP surely does, so everything built on TCP does. Belt is memory. The full belt equivalent of software is OOM. If memory allocation can't be done everything comes to a halt. We could write software that instead of crashing just sits there until memory becomes available... It's the human scale circuit breakers (request timeouts) that cause issues. I guess one has to differentiate between batch processing software and interactive request/response style software. Factorio approximates the former, not the latter, but some of the underlying concepts are still the same.

  • nrb 3 years ago

    That “magic backpressure” is solved in the real world with simple sensors, shutting down part of the manufacturing line is a relatively common occurrence (maintenance, safety stop, etc) and doesn’t cause the entire system to collapse.

  • unethical_ban 3 years ago

    "magic"? You mean a human shutting down a line when there is a backup on the output?

ruined 3 years ago

this interview process is biased against people who hate video games

  • uup 3 years ago

    Programming interviews are biased against people who hate programming

    • wink 3 years ago

      Only if you prefer to program with someone breathing down your neck, with a 15min deadline, and often not being able to research stuff.

      Otherwise I'd say programming interviews are more biased against people who like programming but hated closed-book tests in school where there is a single correct answer and never some "it depends...".

  • dilyevsky 3 years ago

    I hate video games and hate factorio but still play a lot of it

relativeadv 3 years ago

I have an even better litmus test. If the candidate has a picture of an anime/furry character as their avatar you can pass.

  • thenipper 3 years ago

    Ha. I have the opposite reaction.

    • SteeCee 3 years ago

      I have no stake in either side of this but I would love to hear you elaborate on this. What makes you more interested in a person that markets themselves behind something that isn't your real face?

      • mbrameld 3 years ago

        Why would you need to see the candidate's face? To make sure they look like you?

dpkirchner 3 years ago

Factorio is the game that taught me I am indeed susceptible to addiction. It has a near perfect infinite feedback loop where you're presented with a problem and can solve it quickly, only to immediately find that solution created another problem to solve. Solving problems feels really good.

  • soulofmischief 3 years ago

    As an extension of my non-addictive mindset, I have never touched Factorio in the same way that I have no interest in trying crack.

rdtwo 3 years ago

I love factorio but it’s also an important lesson on the traps of premature optimization and automation.

This is my favorite factorio video and it shows a lot about how you can prevent a lot of unnecessary optimization in the early game. https://m.youtube.com/watch?v=LSyrbPsnNGo

And you can indeed never bother with circuits on refining for example. In fact you don’t need to touch a lot of the features in the late game if you stay focused. If you can find someone that plays like this then you have a real winner.

Very much how Craig’s list found success in their business.

  • tjs8rj 3 years ago

    If Craigslist is the pinnacle, is the best software engineer one who can create the most “impact” per hour of development?

    Think Craigslist has several engineers, but it’s really a skeleton crew for the scale of their “impact”

    • rdtwo 3 years ago

      I mean there is no best, only best for application but imo a really strong senior engineer can identify the problem and build the most efficient minimal framework that gets you to that goal. Understand that getting bogged down in over optimization for a future potential but undefined scenario is not Usally worth the upfront investment.

      Additional he understands that it’s ok to over build cheap things like assemblers and steam power plants, and accept 80% utilization from solar instead of trying to bank the last 20% into accumulators. That kind of thinking not only results in a better, cheaper,faster (pick 2) product but also teaches junior engineers how to be more efficient by example

yodelshady 3 years ago

This still brings up one of my bugbears for factorio - the inability to write comments/documentation.

I want to be able to make blueprints with complex, but well-defined and documented, input / output structures that I can look at in six months' time and still know how to connect up.

  • art0rz 3 years ago

    It's common to use constant combinators to tell the user what item goes on what input belt/pipe. Blueprints also allow you to provide some text.

    Being able to plop down a block that allows you to enter some text would be nice, though. I'm sure there's mods that do that.

    • pjc50 3 years ago

      It could really do with a simple trick from minecraft: signboards.

bee_rider 3 years ago

Going all the way through a play of factorio would be kind of a long interview, and there seems to me to be some pretty game-specific knowledge there. But I guess you also learn if the person is a good social fit as well.

dmitrygr 3 years ago

An interview process designed to exclude anyone who does not video game? Tell me you're ageist without saying those words, I guess?

  • mixmastamyk 3 years ago

    Atari came out in the late 70s. Lots of us are good, though may need a bit of refresher.

    • dmitrygr 3 years ago

      Some adults happen to have a life outside of their computer, and thus have little time to video game. Having a life outside of a computer is correlated with things like families and serious & involved hobbies - things people develop well later in life...

      • dasz 3 years ago

        I mean... Yes?

        But honestly, if you can't pick up the basics of factorio in a few minutes you're less qualified than the nine-year-olds and sixty-year-olds I've taught programming to. No background in programming or software development at all. That's a very low standard.

        And yes, I've used factorio in those lessons as a tool. It's great for teaching refactoring in a visual way with no code at all. I usually set a class homework project involving the factorio demo. It works well.

        It's really not that hard to play factorio.

        Ok. With all that said and even with all those happy experiences I still wouldn't use factorio for interviews because I think leetcode and similar are also bad approaches. Same with algorithm questions. They're out as well.

        • hello1234567 3 years ago

          what a fucked up assumption that every should understand the game. what if i don't like games. never played one but also never had any issues with calculus. well i can say it's a f** up thing dum people needs gaming to learn maths.

      • pennaMan 3 years ago

        And how is that different than solving esoteric algorithmic problems?

Taylor_OD 3 years ago

What a very silly article. But kudos for trying something different. Even if its kind of insane.