10 ms·
I had an interview question. What would you do if two different people were emailing a spreadsheet back and forth to track something? I said I’d move them to g
by bilsbie 8mo ago
I had an interview question. What would you do if two different people were emailing a spreadsheet back and forth to track something?
I said I’d move them to google sheets. There was about five minutes of awkwardness after that as I was interviewing for software developer. I was supposed to talk about what kind of tool I’d build.
I found it kind of eye opening but I’m still not sure what the right lesson to learn was.
- gwbas1c 8mo agoProbably that you didn't want the job? At least from the point of view of the interviewer, this was the point where they should give you a polite "hey, play along" nudge.
- swiftcoder 8mo ago> At least from the point of view of the interviewer, this was the point where they should give you a polite "hey, play along" nudge. That may be the game, but we all know it's bullshit, and we shouldn't be playing along. If a member of my team actually proposed building a bespoke system for something that can be straightforwardly done in a spreadsheet, we'd be having some conversations about ongoing maintenance costs of software
- gwbas1c 8mo ago> If a member of my team actually proposed building a bespoke system for something that can be straightforwardly done in a spreadsheet, we'd be having some conversations about ongoing maintenance costs of software All interviews are contrived / artificial situations: The point is to understand the candidate's thought processes. Furthermore, we're getting Bilsbie's (op) take on the situation, there may be context that the interviewer forgot to mention or otherwise Bilsbie didn't understand / remember. Specifically, if (the hypothetical situation) is a critical business process that they need an audit log of; or that they want to scale, this becomes an exercise in demonstrating that the candidate knows how to collect requirements and turn a manual process into a business application. The interviewer could also be trying to probe knowledge of event processing, ect, ect, and maybe came up with a bad question. We just don't know. Given that Bilsbie can't read their interviewer's mind, there's no way to know if that's what the interviewer wanted, or if the interviewer themselves was bad at interviewing candidates.
- swiftcoder 8mo ago> The point is to understand the candidate's thought processes The problem is that this is a 2-way street. The candidate is forced to guess the interviewer's thought process, because otherwise they may be pitching over the interviewers head. We have to spend a ton of time calibrating hiring loops for this, because otherwise you get staff level candidates being failed by mid-career interviewers who don't understand the full context of the question they are asking (and hence don't understand why a staff eng solves it differently than they would).
- zipy124 8mo agoI mean you gave the right answer imho. Software engineers are just business people whose main tool is coding. You know you're good if you don't reach for the hammer when you don't have a nail.
- colliv431 8mo ago[dead]
- Folcon 8mo agoHonestly, if I'd have heard that, I'd hire you in a heartbeat, you solved the problem without increasing total cost of ownership to the company and meant we could move forwards I'd actually trust you to take on harder problems Doesn't really matter what the situation is, there's much more that can be achieved in my book with that kind of mindset :) I'm also of the opinion that in an increasingly LLM software written world, being able to have this kind of mindset will actually be really valuable
- raffael_de 8mo agodepends on what metric it is that _you_ want to optimize. i would have given the same answer, then aikidoed their confusion into some quick lecture on efficiency of software solutions in a business context and finally a segway into a project i worked on (or made up on a whim) of related relevance that i assume would be more interesting to talk about instead. but given my rather unimpressive career i'd suggest to not listen to me.
- tyre 8mo agoSo my cofounder was talking to Stripe about an acquihire (this was after I’d left.) As part of it, he had to do a systems design interview. He got the prompt, asked questions about throughput requirements (etc.), and said, “okay, I’d put it all in Postgres.” He was correct! Postgres could more than handle the load. He gets a call from Patrick Collison saying that he failed the interview and asking what happened. He explained himself, to which Patrick said, okay, well yes you might be right but you also understand what the point of the interview is. They made him do it again and he passed.
- eunos 8mo ago> okay, well yes you might be right but you also understand what the point of the interview is. So the point is? I honestly dont understand.
- LandR 8mo agoThe point isnt to give a simple answer, even if it's a correct answer. The point is show how much you know and how smart you are. The question is framed to you as a way for you to show you know x, y and z and talk about x, y and z. Even if a valid solution is just do a, that's great. But the interviewer has no idea if you actually know about x ,y and z do they ?
- lucianbr 8mo ago> The point is show how much you know and how smart you are. I like that this sentence can be read both as a productive, well-meaning view on interviews, as well as a highly cynical one. Also makes me wonder if the person will keep showing how much they know and how smart they are after they are hired, and if that is a good thing.
- Aurornis 8mo agoIn an interview you need to explain your thought process and demonstrate that you’re making an informed decision with supporting evidence. Saying “just use Postgres” and then providing no explanation for why you believe Postgres is sufficient for the job, a general explanation of what type of hardware and architecture you’d use, and other details is not answering the question.
- wildekek 8mo agoThe lesson was that sometimes the interviewee can be more competent than the interviewer and they should run.
- oblio 8mo agoOr maybe this: https://news.ycombinator.com/item?id=47247719 https://news.ycombinator.com/item?id=47247719
- travoc 8mo agoSo nobody can ever hire someone better at particular skills than they are? Oh boy.
- Cthulhu_ 8mo agoRun or email their seniors and ask them if they're hiring for higher-up positions. But this is connected to another thread on HN about engineer/manager titles and how they basically have no value if you try to compare them between employers.
- nomel 8mo agoThe interviewer should be less competent. That's the goal. The only alternative is that everyone trends dumber as the org grows. Usually you're trying to hire an expert in something. It can't be a necessity that the interviewer is an expert in all things they need to hire for, or even most competent in their field! You want your org to increase competence. And, I think that's what causes the slow demise of corporations: the "hire dumb" is much easier. It's hard to get a read on intelligence/competence/skill if you're less of any of those, so, on average, orgs do get dumber. What's the best shield against stupidity? Bureaucracy! :D
- Traster 8mo agoThis is one of my favourite interview questions too. I ask a design question that technically could be solved using the specialist skillset I interview for but it would be insane to actually do that in the real world. It's a good opener to see how practical and open minded they really are.
- bluGill 8mo agoIs it? I have long thought that most things business people are using a spreadsheet for belongs someplace else. They are easy ways to run quick what-ifs or make lists, but generally the right answer is update the system so they don't need a spreadsheet. If the data is financials - why can't your accounting system give everyone the view they need from the shared system? Othertimes what they really need are a database to track this. But a spreadsheet is easy and so they ignore all the problems it creates because it needs a real engineer (and often more money than they can spend) to create the right solution.
- horsawlarway 8mo ago> it needs a real engineer (and often more money than they can spend) to create the right solution. Then it's the wrong solution. Period. There are plenty of annoyances with spreadsheets, but part of what makes them so robust and powerful is that they don't take a ton of specialized knowledge, and they remain incredibly flexible. An expensive, complicated, static, "right" solution for a small business is folly (honestly - this stays true up to medium/large business). It's a ton of time and energy focused on the absolute wrong thing. When a spreadsheet can reach the same result in a fraction of the time. Especially given the result may not actually be that important, and they pivot to something else entirely in the very near future. I've worked at several startups. I'd caution even software startups from assuming that custom solutions are the right approach. They usually aren't. They're a waste of time and effort that ends up saddling you with a brittle, expensive solution designed to solve problems from last year.
- bluGill 8mo agoYou are missing something: how much is spent because the spreadsheet isn't the right solution - nobody measures this (or even knows how). How much are you risking because spreadsheets are not robust - when will a mistake catch up, and what will be the cost? There is a reason accountants use double entry bookkeeping, and spreadsheets don't have that. Nobody has the money to spend doing things right unless they have been burned. That doesn't mean the money shouldn't be spent first. Spreadsheets are powerful I will grant. However they are not robust. A robust system works very different and includes features (like tests) that your spreadsheet doesn't have (I don't if it could have them, but it is safe to guess they don't)
- jt2190 8mo agoThe lesson to learn is that in-house development groups are often incentivized to “sell” custom software solutions to their organizations, as their existence (budget) relies on it. As an interviewee it’s important to try and identify whether the group you’re interviewing with operates this way, literally: How will they get the money to pay for your salary? That way you avoid giving nom-starter answers to interview questions.
- bob1029 8mo ago> What would you do if two different people were emailing a spreadsheet back and forth to track something? I realize this is part of an interview game, but perhaps the best response is still to ask why this is a problem in the first place before you launch into a technical masterpiece. Force the counterparty to provide specific (contrived) reasons that this practice is not working for the business. Then, go about it like you otherwise would have.
- exogenousdata 8mo agoI actually really prefer your answer. I would likely counter with, “what potential issues could you see with doing things this way?” But a) you’ve shown me that you don’t charge into solutions without first attempting to define the problems, b) your follow-up answer reveals to me what kind of things you think are important, and c) I’d probably quickly ask something like,”let’s assume that in the past, we’ve had issues with missing changes when emailing this back and forth,” and encourage some more dialogue. I do dislike interviews where a candidate can fail simply by not giving a specific, pre-canned answer. It suggests a work culture that is very top-down and one that isn’t particularly interested in actually getting to the truth.
- robertlagrant 8mo agoI had a similar idea once when answering a Stack Overflow question[0]. [0] https://stackoverflow.com/a/1831841/61938 https://stackoverflow.com/a/1831841/61938
- gorbachev 8mo agoQuoting your comment: "You definitely don't want to hire the person who thinks - bizarrely - that using library functions is a sign of weakness." So true...I've failed interviews, because the interviewee did see using library functions as a sign of weakness.
- LPisGood 8mo agoI think that it was probably a poorly designed question, but surely you could throw the interviewer a bone by giving a custom answer after they reject the library.
- Cthulhu_ 8mo agoI just wish that in those cases the interviewee gives feedback and allows you to rewrite instead of just failing you. I mean in practice nobody writes library functions themselves unless absolutely necessary, but I get that for some positions you have to demonstrate that you can write lower-level code if you have to.
- robertlagrant 8mo agoThank you, although I regret the "bizarrely".
- Cthulhu_ 8mo agoI love how your answer was straight, to the point and leverages existing standards, then scrolled up to the question and had to go through someone else's thorough, multipage response. Full marks to both answers!
- philipallstar 8mo agoI do absolutely love the other answer!
- chuckadams 8mo agoThe followup questions usually help, like: "What are they tracking?" and "What are the problems caused by using a spreadsheet?" That usually gives you a clue of the answer they're looking for. The answer might be bullshit, but you pass an interview by playing their game, not yours.
- skydhash 8mo agoThis! It’s better to assume that you don’t know some context than go with what appears to be the most pragmatic answer. Even in the real world.
- neftaly 8mo agoI would ask, why are they emailing it? Maybe there's a good reason they can't use sheets.
- tmtvl 8mo agoIt's a culture fit question. When the culture is 'make everything ourselves' you're not a great culture fit. When the culture is 'just solve the problem', you fit in perfectly well.
- HPsquared 8mo agoRemember you're interviewing them just as much as they are interviewing you.
- deleted 8mo ago[deleted]
- nobleach 8mo agoWay back when I was in IT Admin, I used to have this problem all the time. Some non-tech person emails a spreadsheet, another non-tech person edits it, and saves it. The original person complains that they can't see the changes. Yeah, because it's saved in some MS Windows Profile location that no sane human would ever visit. My solution was to ONLY email links to shared files on a shared resource. The LAST thing I'd ever think of is writing software to solve this problem! These days if I were interviewing someone and they said, "I'd use the simple solution that is fairly ubiquitous", I'd say, "yes! you've now saved yourself tons of engineering hours - and you've saved the company eng money".
- 1980phipsi 8mo agoI attach a copy of the file and then provide a network location for where it is located. Makes it easy for people to just open up a simple copy to look at it and they know where to go to access the original.
- pjmlp 8mo agoIn our agency that would be a plus, because we focus on customising existing products instead of building everything from scratch. Exactly because that means less costs for software development when deliverying solutions.
- ziml77 8mo agoI mean that's not really a good answer because you need to ask why they are sending a spreadsheet back and forth. Like yeah using a shared spreadsheet saves them having to email back and forth, but it doesn't help formalize the process, include validations, or make the data available to other systems. And maybe it would turn out that none of that is actually helpful in this case, but if you don't make an effort to ask and understand what's going on then you won't know if there's some bigger problem that needs addressing.
- tedggh 8mo agoYours was a clever answer to a stupid question. Tech interviewers need to leave college behind and start treating candidates as professionals. Puzzles, white boarding and riddles are unique to software engineering roles, you would never see a lawyer, an accountant, a doctor, or engineers in other disciplines going through any of this nonsense. These methods are proven to be a poor predictor of job performance. In my last role as lead engineer we would chat with the candidate over lunch about random topics. We first wanted to see if they would fit our team. Then in the afternoon let them work in a little project that was actually part of active development. This way we discovered that most candidates who went through the screening process could actually be pretty good team members. Our issue was having to decide who to give the offer to, while other companies keep rejecting candidates over bubble sort. Our attrition was also pretty low. So it happens that software engineers will surprise you when you treat them as grown ass adults. Who would have guessed?
- fluidcruft 8mo agoMaybe you were supposed to identify what business need they were trying to solve and see if there was anything better than a spreadsheet? Spreadsheets are a tricky one some people like the power and automomy they have with spreadsheets. But more often spreadsheets are the only way to transfer data between solos and it wastes a lot of time and is error-prone.
- bitmasher9 8mo agoIt really depends on how much time is spent filling out the spreadsheet. If they are collectively spending 1hr/mo on the spreadsheet then it’s not worth an SWE’s time to optimize it. If they are spending 4hr/day on the spreadsheet then it’s a prime candidate for automation.
- fluidcruft 8mo agoIt depends sometimes it's currently 1hr/month but more frequently and a dashboard would add value to the enterprise.
- bitmasher9 8mo agoIn an interview setting this is such obvious bait to see if the person will ask more questions or go straight into making a solution.
- fluidcruft 8mo agoThat would be my assumption, too.
- LPisGood 8mo agoI feel like you could start waxing poetic about engineering value of meeting people where they are, not reinventing the wheel, etc. Then after a brief discussion of that you could actually ask if the purpose of the question was for you to design a system to handle that situation and jump into the design.
- xivzgrev 8mo agoNot an engineer but reminds me of a similar situation I've seen interviewing Sometimes we'll ask market sizing questions. We will say it's a case question, it's to see their thought process, they're supposed to ask questions, state assumptions, etc. Occasionally we'd get a candidate that just doesn't get it. They respond "oh I'd Google that". And I'll coach them back but they just can't get past that. It's about seeing how you approach problems when you can't just Google the answer, and we use general topics that are easily accessible to do so. But the downside is yes, you can google the answer.
- colliv431 8mo ago[dead]
- munchbunny 8mo agoHaving been both the interviewer and the candidate in this kind of situation, this is really a big interviewer training failure. The general way to handle this as an interviewer is really simple: acknowledge that the interviewee gave a good answer, but ask that for the purposes of evaluating their technical design skills that you'd like for them to design a new system/code a new implementation to solve this problem. If the candidate isn't willing to suspend disbelief for the exercise, then you can consider that alongside all of the other signals your interviewer team gets about the candidate. I generally take it as a negative signal, not because I need conformance, but because I need someone who can work through honest technical disagreements. As a candidate, what's worked for me before was to ask the interviewer if they'd prefer that I pretend ____ doesn't exist and come up with a new design, but it makes me question whether I want to join that team. IMO it's the systems design equivalent of the interviewer arguing with you about your valid algorithm because it's not the one the interviewer expects.
- 01284a7e 8mo agoWhile I agree, how much training does anyone get as an interviewer? I spent 10+ years doing interviews at all sorts of orgs (including Fortune 500s, government, etc.) without a single hour of interviewer training. Now that I think about it, none of those organizations ever trained me at anything at all. Huh.
- sefrost 8mo agoSame here. I receive a training budget at some places but it goes unspent. Everything is self directed learning in my own time.
- nsxwolf 8mo agoSounds common to have training in big tech but I never received any training either. Sometimes we’d discuss changes we wanted to make to the interview process, which suppose could be considered adjacent to training.
- munchbunny 8mo ago> While I agree, how much training does anyone get as an interviewer? TL;DR: not enough training. As a hiring manager, whenever we start a hiring period I have a conversation with my interviewer team about what qualities we're looking for and review the questions they plan to ask in order to normalize the process. Stuff like "what does a good answer look like, and why? what does a bad answer look like? is this something easy for a candidate to engage with or will you spend half the interview just explaining the background? is this coding question unreasonably hard?" and so on. I also look at the evaluations that interviewers give relative to other interviewers. Almost every hiring cycle I've done I've had to deal with some interviewer (all over the seniority spectrum) asking unreasonably hard questions.
- sovietswag 8mo agoHa! I just had a debate about this with my friend. A certain ferry company uses a big Google Sheet to track where all of its vessels are currently docked in their home port, as well as which employee is assigned to which vessel for the day, etc (it's very information dense with color coding, and employees check it daily to get their vessel assignment). My friend thought this was completely unacceptable for a big company, and that they should build a bespoke software for this purpose. I think that it was a brilliant idea to use Google Sheets, it already solves all of the difficult problems and obviates the need to have an inhouse software development team or an expensive contract. I buried my hubris deep underground
- cindyllm 8mo ago[dead]
- bombolo 8mo ago[dead]
- bcrosby95 8mo agoWe have no idea if its a good solution or not. It depends upon, among other things: how long it takes to update it, the error rate, and how acceptable those errors are.
- tracker1 8mo agoI'm there with you... maybe, maybe using the sheets API to create a simpler front end for very specific use cases, like an individual seeing their assignment for the day, or maybe texting everyone that info. As much as people will rely on databse (rdbms/sql) backed applicatons, in the end a lot of the business world runs on spreadsheets... Not only that, but excel, and I'm assuming plenty of others have integration points for pulling data from other resources... Spreadsheet masters can do very impressive things with what appears to be a simple tool.
- vonneumannstan 8mo agoAll fun and games until an Intern deletes the original sheet or fatfingers critical information.
- ajspig1 8mo agoI get that "communicate your thought process" or "play along with the exercise" gets offered as the fix here. But that framing bothers me too. Why should simplicity require more justification than complexity? Google Sheets is the design. The fact that it doesn't sound like engineering is the whole point. I'm just not convinced the solution is learning to package simplicity in a more impressive wrapper.
- darkwater 8mo agoHonest question: did you really not read the room there? I mean, if I were on the interviewer side, asking that question, and getting an initial answer "Well, to be honest I would tell them to use GSheets because given the current situation is the highest benefits/costs solution, but for the sake of a system design interview I would also think about designing a bespoke internal solution that would use blah blah blah". You would get a "strong hire" evaluation and you would still be able to turn down the offer if you wanted because that question might have been a red flag to you.
- GuB-42 8mo agoI think the correct answer would be to ask "why are they doing that and not using Google Sheets?". There are a lot of good reasons for not using Google Sheets. Maybe the spreadsheet is using features that Google Sheet doesn't support, maybe one of the parties is in China, where Google services are blocked, maybe it is against company policy to use Google Docs, maybe they have limited connectivity. It is good to acknowledge the obvious, off the shelf solutions, but if you are given a job, that's either because the customer did their homework and found out that no, it is indeed not appropriate, or, for some reason, they have money burning their pockets and they want a custom solution, just because. In both cases that's how you are getting paid. So, I don't consider "use Google Sheets, you idiot" to be an appropriate answer. Understand the customer specific needs, that's your job, even more so in the age of AI. And maybe the interviewer will be honest and say "just assume you can't, this is just an exercise in software architecture".
- lucasfin000 8mo agoThe awkwardness after your answered was the interview telling you something important. A team that penalizes picking the right tool over an impressive one is a team where you'll spend years creating complexity nobody needs. The lesson isn't "next time pretend Google Sheets doesn't exist." It's that you found out early what they actually reward.
- sztanko 8mo agoDid you get the job?
- RobRivera 8mo agoI've stopped playing the game of 'guess what the right answer is' I would have said the exact same thing and pushed the interview to consider 'why are we creating a tool when something off the shelf solves our business needs? What kind of runway and resources do I have to meet this goal? What is good enough for our problem here? Do we want to expand our scope to enable external data integration and downstream data consumption" You will find better employment outside the circus, possibly even selling to the circus
- a4isms 8mo agoTo give you the inverse perspective, an OG blogger named Steve Yegge made a list of five essential phone screen questions: https://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions https://sites.google.com/site/steveyegge2/five-essential-pho... Question three is this: Last year my team had to remove all the phone numbers from 50,000 Amazon web page templates, since many of the numbers were no longer in service, and we also wanted to route all customer contacts through a single page. Let's say you're on my team, and we have to identify the pages having probable U.S. phone numbers in them. To simplify the problem slightly, assume we have 50,000 HTML files in a Unix directory tree, under a directory called "/website". We have 2 days to get a list of file paths to the editorial staff. You need to give me a list of the .html files in this directory tree that appear to contain phone numbers in the following two formats: (xxx) xxx-xxxx and xxx-xxx-xxxx. How would you solve this problem? Keep in mind our team is on a short (2-day) timeline. In Yegge's case, he explicitly does NOT want a hand-written program, he wants the candidate to suggest a CLI tool, e.g. grep -l -R --perl-regexp "\b(\(\d{3}\)\s|\d{3}-)\d{3}-\d{4}\b" > output.txt ——— So... These questions aren't good or bad unto themselves, but when the person asking is engaging in "Guess the answer I'm thinking of," don't beat yourself up if you guessed wrong. Your answer might be prized by someone else with an enormous amount of experience hiring engineers.
- myroon5 8mo agoAt AWS, a team asked for help maintaining a bespoke internal Java service that diff'd json for manual reviews.. replaced it with a jq one-liner
- MathMonkeyMan 8mo agoA former coworker was evaluating the cleanliness and structure of some non-free GeoIP data that took the form of several large CSV files. He was writing nested loops in Go that parsed the CSV and evaluated the predicates that interested him, and it was arduous and not going as quickly as he would like. I told him to slurp it all into a sqlite database and to express his data integrity questions as SQL queries. It was still a pain in the ass for him, but leveraging that tool made things go a lot better.
- alansaber 8mo ago"I'm sorry, you're overqualified for this role"
- docmars 8mo agoI would have said "Move them to Google Sheets, but I gather from the nature of the question this is about finding a solution to build from an engineering standpoint..." and then go into ideas for how to collect user research, and apply those findings to a new tool build.
- nevertoolate 8mo agoI wouldn’t be surprised and most likely would go for a walk :)
- wslh 8mo agoI think you could start saying that there are multiple options. The simpler is sharing the sheets in Google (or Microsoft) Sheets. After this, Then, I would have asked if there are any security and/or compliance issue to doing so to analyze other alternatives.
- gdubs 8mo agoThe annoying thing about corporate hiring practices is – speaking from experience – some of us would have loved your answer. But then it goes to committee and someone's like, "this iOS engineer doesn't know any javascript, and I'm an expert in javascript, so I'm a 'no'."
- ChrisMarshallNY 8mo agoI remember getting a test, in an interview in the 1990s, where I was asked to design a set of gates (ICs) to do some binary maths (Division, multiplication, etc). The input was an 8-bit set of leads, and the output was an 8-bit set of leads. I looked at the formula, and drew two wires, connecting a couple of the leads from the input, to the output. I was offered the job, but ended up declining it.
- choonway 8mo agothe lesson to learn is - don't let the conversation die off. think of all the weird scenarios that wouldn't make google sheets work. e.g. no access to internet (or at least VPN access via completely locked down devices) / internal email server / only open source etc.
- QuiEgo 8mo agoI usually open up technical questions with a disclaimer like “I reserve the right to tell you that you can’t use a library or similar if I think it makes the problem too easy”. Like it’s a make believe problem and it’s something you can finish in under an hour, a certain about of understanding that this is a test not the real world is needed.
- Breza 8mo agoOne of my favorite challenges to give data science candidates is to generate a dataset with a column for date and a column for attendance. With some added noise, attendance started at 1000 and decreased by two per day. I showed a year of data and asked them to predict the value a month from now. It was astonishing how many candidates come up with complicated approaches, like randomizing the data into train/test/validation groups (the wrong thing to do for a time series). I don't think any of my applicants so far has double clicked the file to open it in Excel, plotted the data, and saw just how linear it was. You could follow the line with your finger and come up with a decent prediction. Maybe do that in ggplot2 or matplotlib if you want to show you can write code. Even a quick lm(dta$attendance ~ dta$date) would get you great results.
- SergeAx 8mo agoOn the interview for my current job, they asked me what I would do if I needed to download the entire Wikipedia. They expected me to design a scalable system with a separate crawler, parser, download queue, exponential backoff, and stuff. I said that I would just download a tarball. To their credit, they quickly accepted the answer as correct.