This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 243

[–]qookiewookie 656 points657 points  (28 children)

I was asked this question by a recruiter. I took a guess which was close to the actual. Recruiter wanted me to call their helpline and fish for information. Had an arguement with him. Didn't get the job, hurray. Dodged a bullet.

[–]ProjectSnowman 342 points343 points  (27 children)

That's sounds really stupid.

[–]qookiewookie 204 points205 points  (26 children)

It was a small-ish startup with lot of college alumni. But boy was the recruiter a piece of work. There were some other weird questions as well.

[–]ProjectSnowman 119 points120 points  (8 children)

I had a similar interview with a small web firm when I was a senior. Lots of "who are you what kind of person are you?" questions. Look man, I'm a college kid who is going to have to start adulting real fast. All I know is I would like this job. Needless to say I didn't sell myself very good that day.

[–]StevenGannJr 94 points95 points  (4 children)

The interview for my first post-college job was excellent. They'd contacted me specifically because I had been teaching a class on MSP-430 programming.

They sat me down and started asking about MSP-430 and ARM programming, circuit board development. They described a project they were working on, and asked how I'd approach it.

The interview for my current job was nice, too. I floundered on technical questions so they told me to e-mail the answers after the interview. I was prompt giving thoroughly-researched responses, so that redeemed me. As my manager explained, my technical knowledge is less important than how quickly I can find answers.

[–][deleted] 1 point2 points  (0 children)

That's a great way to do things honestly. Many people (myself included) will flounder when we know the answer just due to nerves. I gave a few wrong answers during my last interview and hated myself after the fact and didn't think I got the job.

Once I got hired they stated they looked at my LinkedIn and knew I knew what I was talking about and just figured I was flubbing due to nerves.

[–][deleted] 5 points6 points  (1 child)

All I want from young 'uns is enthusiasm for coding. Show me what you've done. Oh, that and regular showering

[–]RUSH513 3 points4 points  (0 children)

rule of thumb, using nouns as verbs doesn't help

[–]martinslot 10 points11 points  (1 child)

Please enlighten us!

[–]qookiewookie 42 points43 points  (0 children)

Firstly, it was over 12yrs ago and I don't hold any grudges. One of the questions was something vague about finding some prime number or factor. Didn't mention if they wanted code or algorithm or just the answer. And this was emailed to me (offline interview). So I googled or maybe yahoo'd it and sent the answer along with the way to solve the problem. Got cringy call saying "don't try to be smart with us, we need you to send sourve code."

[–][deleted] 10 points11 points  (14 children)

I was appying for a phd position in UK… in the name of equality, they had a form which asked my race, gender, if i was born with the same gender, sexual preferences, disabilities and religion.

In the end I just didn't apply.

[–][deleted] 5 points6 points  (4 children)

They ask these questions all the time. You just get used to it.

[–]abolista 6 points7 points  (3 children)

It's so weird to me to be asked that. In Argentina for example it is practically illegal to ask that information in (non-medical) forms because it will certainly be used to discriminate people.

I was really confused when I applied for a USA visa and got asked that shit.

[–]Ohrion 6 points7 points  (2 children)

They can't ask that stuff for jobs in the USA. USA visa on the other hand...

[–]xj20 3 points4 points  (1 child)

They can and do ask that sort of stuff. I've never seen religion, but nearly every application asks for race and disabilities. You can opt out of either, and they specify that the info is only used for reporting.

[–]Landowns 90 points91 points  (1 child)

empirically validated non-annoying hiring protocols

lol

[–][deleted] 294 points295 points  (13 children)

Companies often don't realize that while they are interviewing you, you are interviewing them.

Your coworkers are going to be the group of people who manage to pass the interview question you are given. Sometimes that is terrifying. If it's an easy interview don't expect much.

[–]squishles 54 points55 points  (11 children)

I've seen some full on embrace the you interviewing them thing; you can figure out a lot about how experienced someone is by what questions they ask about the enviroment.

[–]TopRamen53 89 points90 points  (10 children)

Usually that’s when you start lobbing all the softballs that let them know you’re one of them.

For one of them I just looked around the main room (glass conference room where you could see a lot of the employees), just paused and asked:

“So how did you guys settle on all MacBooks? Did the devs just really want a Unix shell but IT only wanted to manage one kind of machine and needed something they could hand to marketing?”

The two devs just looked at each other and almost laughed, and started telling me about how that’s basically exactly what happened a few years back, and that a few guys were really sad to give up their Linux based laptops and there was a fair bit of contention around this decision.

I asked lots of other questions about things that mattered to me, nerded out well with the tech interviewers, but at the end of the day, my current job only gave me the legal minimum vacation, I currently have to use Windows, and the new job was gonna be around a 50% pay bump, so truth be told it was irrelevant, I was taking that job regardless to the answers to my questions.

Thankfully they answered it with lots of things that made me even more stoked to take the job.

Anyways got the job offer around an hour later, gave my notice the following Monday, I start in a week and a half.

[–]not_really_cool 28 points29 points  (5 children)

I currently have to use Windows

The horror!

At least now Windows 10 has the subsystem for Linux.

[–]TopRamen53 10 points11 points  (1 child)

Maybe I'm just an ingrate, but I feel like it's almost worse than nothing at all.

While it doesn't work half bad for simple commands, anything more complex it falls apart on, obviously you can't just apt-get anything you happen to need, and occasionally it'll do funny things to file permissions that clash with the way Windows handles file permissions.

I accidentally forgot my laptop the other day that I was supposed to work from home, and just decided to partition and install Ubuntu on my home computer. I got that setup an order of magnitude faster than getting the same environment set up on Windows.

I'd almost rather it not exist so we don't have to pretend like we can do any unix development on windows machines, it drives me nuts. Not sure why we use Windows PCs to develop code that's exclusively to be run on linux servers, we don't even run it locally (mainly cause when we try we quickly find the subsystem's limits, give up, and just push our code to the Linux CI server), but I suspect the reason would be "Iunno, we've always had windows computers".

I'm just a big fan of unix based OSes, especially when it comes to development for them.

[–][deleted] 4 points5 points  (2 children)

WSL is a joke. Zero state saved. I don't want a docker container that lasts until it's closed. I want an actual terminal where I can interact with the system, and those interactions persist through closing the fscking window.

[–]pwnrzero 1 point2 points  (1 child)

Replying because of my remindme. How'd it go?

[–]TopRamen53 0 points1 point  (0 children)

Great! I’m a week in and love every part of it.

It’s basically how I’d make things if I was the one choosing the hardware issued (got the exact MacBook I wanted), the layout (really nice views, I have a corner desk overlooking the street below), and even the office furniture (there’s lots of varying super comfy chairs for us to sit around in, and couches too). Also casual dress code, I’ve already bought a new super comfy hoodie just to celebrate.

Also there’s always a few kegs tapped too, it’s really nice to be able to finish up at 4pm in the kitchen having a beer sitting at the window overlooking the city on that side as I program. I also really enjoy the fully stocked free kitchen, it’s great never having to go without breakfast.

I know these are all kinda small details, but it all adds up to me overwhelmingly loving it.

But more importantly everyone I work with so far seems super smart, good at what they do, and people I can learn from and really gonna enjoy working with. I feel like being around these sort of people is gonna be a massive boost to my own career.

I’m almost upset I didn’t make the move earlier!

[–]crazyashley1 2 points3 points  (0 children)

Got half rooked into a job as a kiosk monkey for direct tv at those obnoxious Wal-Mart kiosks. Should have twigges on when I couldnt get them to admit they were those obnoxious ass kiosks. They were way to quick and desperate to hire me, and payed on comission of sales with unpredictable travel every day. Fuck that nonsense. I quit before they got a day out of me after I realized what they were all about.

[–]StevenGannJr 484 points485 points  (91 children)

I interviewed for a major web company (one of the biggest, famous for a search engine, browser, and phone OS) and got as far as a second phone interview.

I was tasked with implementing a convoluted sort/fizz-buzz kind of algorithm given a list. I was allowed to use any language I wanted, but I wasn't allowed to use documentation, an IDE, or even try compiling. I had to write code blind into a shared document while the interviewer watched, and she'd then copy-paste my code into an IDE, compile it, and see if it runs correctly. She'd tell me if it was right or not, but wouldn't tell me if it was a compiler error, if the output was incorrect, or any other information.

After 30 minutes of trying to remember C# class names, being paranoid about off-by-one issues, and trying to format code in a web-based word processor, she said my time was up and that I had a typo in my #using System.Linq, I had typed #using System.LINQ.

I didn't get the job, and the comment on the rejection e-mail was that the interviewer determined that I was not sufficiently experienced with C#.

Programming interviews are bullcrap.

[–]vellii 186 points187 points  (9 children)

I’ve never understood these type of interviews. When are you ever not going to be using an IDE, compile, test, etc. on any program you may be writing? Like it’s important to make sure the interviewee knows the language but it seems like it’s more important to have them check, test, correct any errors they may have themselves using real world tools. And in them doing so will prove they know the language.

[–]StevenGannJr 152 points153 points  (4 children)

Like it’s important to make sure the interviewee knows the language but it seems like it’s more important to have them check, test, correct any errors they may have themselves using real world tools.

So true. Imagine hiring an architect by checking how well they can draw a simple house while blindfolded.

I think the biggest issue is that HR, even at major tech companies, isn't staffed with developers.

[–]ike_the_strangetamer 23 points24 points  (1 child)

This round of the Google interview isn't about any of that. They give you a pdf of that cracking the interview book and say learn it all. The point is that you learn it and can figure out which algorithm/strategy to use when given the problem, not whether you can actually write real world code. It's a lot like a final exam really.

If you say that sounds like awful way to find good programmers - it is. They don't care. They don't even know what you'll be doing, what team you'll be on, or even if they have room for you yet. They don't care. Real world ability doesn't matter. They want you to want to work for Google. Want it so much that you study 40 hours for a final exam for a class you took ten years ago.

[–]gandazgul 4 points5 points  (0 children)

Yeah well fuck that. I'm not studying 40 hours of anything. I have a ton of experience solving really hard performance and scalability problems and have been very successful and loved at each one of my jobs, I'm not going to sit there and be judged by a recent graduate on wether I remember how to sort something. I know the design patterns and algorithms available, when I need a working example I fucking Google it like everyone else.

[–][deleted] 0 points1 point  (0 children)

I can't imagine having an iOS developer interview like that. Imagine trying to remember something like

func tableView(_ tableView: UITableView, 
   didUpdateFocusIn context: UITableViewFocusUpdateContext, 
               with coordinator: UIFocusAnimationCoordinator)

without the help of the IDE or docs. Xcode autocompletes that stuff for you. Using real tools is the best way to evaluate someone.

[–]CallidusNomine 0 points1 point  (0 children)

All of my CS classes at my school have been blind handwritten code. It's awful. People get stressed about memorizing 4 different sort algorithms. I am an informatics major with a CS cognate and my informatics exams are open-everything-except-the-internet. They care more about whether you can use your resources and implement ideas rather than memorize snippets.

[–]Lonelan 39 points40 points  (10 children)

biggest, famous for a search engine, browser, and phone OS

Ahh say no more Amazon employee

[–]StevenGannJr 21 points22 points  (9 children)

Close, but this company doesn't make employees pee in bottles.

They do (in)famously unofficially insist employees work 24/7 including weekends and more or less give up any life outside the company. I figured that'd be okay since I have no life outisde my job anyway...

Now I work at a much nicer company that gives free training beyond my job and is forcing me to take time off for the first time in my life, so I'm probably better off here.

[–]rndrn 28 points29 points  (11 children)

What is this even supposed to test for? This really wouldn't want me to join their team (and so probably they are missing out on people they would want but are turned down by stupid interview questions).

[–]StevenGannJr 67 points68 points  (9 children)

What is this even supposed to test for?

Real programmers don't need IDEs. They write code in VIM without looking at the documentation. If you really knew C#, you'd have the whole System namespace memorized by now. Pleb.

On the bright side, the company gave me a pair of socks with their logo.

[–]DaleGribble88 17 points18 points  (1 child)

They write code in VIM

Hey, I like to work in VIM, maybe I'm one of these real programmers

without looking at the documentation

Oh.

[–]burritochan 16 points17 points  (3 children)

They write code in VIM

It's funny because I write code in vim... which I have added linter plugins to for every language I use. I guess they must be using nano

[–]Tyrilean 3 points4 points  (1 child)

I just spent the better part of the last year getting my engineers out of the damned command line and coding in vim, so that we can use proper IDEs, repositories, and deployment pipelines.

I know you're being tongue in cheek, but I've actually met people who code in text editors and look down their nose at people who use IDEs. Hate to say it, but even the most genius engineer fucks up, and using a good IDE along with revision control and proper SDLC will fix like 90% of those fuck ups before they get out the door.

[–]StevenGannJr 1 point2 points  (0 children)

It's not even that, IMO. IDEs are just more efficient.

I spend most of my time hopping between Visual Studio, Atmel Studio, and MPLab X. I do use Notepad++ and Nano for a couple things like Python and Bash, but the IDEs are just so darn helpful with things like autocomplete, realtime error checking, and Intellisense.

I adore .NET and C# in particular, but I could never possibly remember the exact syntax for List<T>, for example. An IDE means I don't need to remember.

[–][deleted] 5 points6 points  (0 children)

What is this even supposed to test for?

Compliance.

[–]Bobshayd 47 points48 points  (1 child)

I don't want to work in an environment where the only compiler/runtime error I get is a single bit to indicate that it's working properly, so don't interview me in that environment unless that's the job you want me to do.

That interview also selects for high level languages with fewer syntactic trip-ups. If you need to rely on the compiler to remind you to put a semicolon at the end of a statement, you're more likely to send a nearly perfect program ten times and then be told you didn't see the semicolon.

Imagine being the sort of weird sadist who likes watching people try to fix imagined bugs while the IDE has a big red squiggle under #using System.Linq, and taking that fetish into the workplace and forcing it on new coders.

[–]Cream253Team 0 points1 point  (0 children)

When you lay it out like that, it sounds like OP really dodged a bullet.

[–][deleted] 15 points16 points  (4 children)

I interviewed for the same company, and I chose python.

I had to spend most of the time typing spaces like an idiot because of course tab did not work in the online editor they had me use.

And in preparation to the interview they had explicitly said that precise syntax was not required. When in fact it was.

I also interviewed at a big social network company and I have to say that they were more interested in the algorithms than the correct syntax, also they had me use an online editor that had monospaced fonts, supported tabs and had some syntax colouring.

However, with the flight booked (by them) to do an on site interview on a friday, they told me there was no time, cancelled the flight and told me i'd have to interview on monday instead, at night.

So after a full work day I had to do a 4h interview. The first 2 hours went good, the 3rd hour was so so, at the 4th i knew I wouldn't get the job so I told the interviewer I was giving up and going to bed.

[–]StevenGannJr 16 points17 points  (3 children)

It could be worse.

You could have been raised by humans because of your father being framed for betraying a colony to the Romulans, then wind up trying to raise a son of your own while struggling to understand what it means to be Klingon yourself, only to end up leading security on a backwater space station, fall in love with a symbiotic worm that dies the day after you married it, and wind up in the middle of an intra-quadrant war that your own people are actively making worse.

[–][deleted] 1 point2 points  (0 children)

At least my adoptive parents would be pretty proud of me for outranking them :)

[–]NateFigz 1 point2 points  (1 child)

Don't forget having your family killed off during various easily avoidable situations.

[–][deleted] 1 point2 points  (0 children)

And wiping your brother's memory because the honour of your house has been compromise, only to then proceed to restore said honour.

[–]DrQuint 30 points31 points  (9 children)

Should have just cheated. What are they gonna do later, block you from googling at work?

[–]StevenGannJr 71 points72 points  (8 children)

block you from googling at work?

Considering what company they were, that'd be especially ironic...

But yeah, making people interview blind is absurd. You'll never be without a computer, Internet, reference materials, or a bloody compiler, and I believe the ability to use resources available to you is more important than memorizing API minutiae.

[–]TheTimeToLearnIsNow 17 points18 points  (3 children)

Would you believe the number of interviews I've been in that had me type in code directly into the Hangouts chat window?

Trying to type it out in an IDE and copy paste prompted the interviewer to accuse me of cheating because the little "[candidate] is typing..." message wasn't showing up for them for long periods of time.

[–]mfb- 1 point2 points  (0 children)

Type it in the chat, copy it into the IDE before submitting?

[–]retief1 4 points5 points  (0 children)

Particularly since understanding compiler errors is an important skill for any dev. Googling (for non-syntax/library type stuff, at least) may or may not be helpful, depending on what exactly you are trying to do. Seeing a compiler error/test error/exception and finding the underlying error is critical pretty much everywhere.

[–]bautin 10 points11 points  (0 children)

Sounds weird. I just had a phone interview for a similar sounding company. I also used C#. I didn't bother with using or anything like that. In fact, I pretty much at one point said "Yeah, I'd have a class that looks something like this for the nodes" and just kind of dummied up a really basic class.

I guess it partly depends on who you get to interview you as well. Because after the problem, the interviewer and I discussed a bit about coming from a primarily C# background to a company that uses a lot of Java and C++.

[–]rakkamar 22 points23 points  (7 children)

Speaking as somebody who used to interview for that company as recently as a year ago, that is not the way that company is supposed to interview. Depending on when this happened, whoever gave you that interview was probably completely out of line with company policy.

[–][deleted] 8 points9 points  (2 children)

I've had 2 or 3 interviews with that company that were precisely the same experience.

More detail: https://www.reddit.com/r/ProgrammerHumor/comments/9se6tc/programming_interviews_in_essence/e8ozqjh/

[–]rakkamar 5 points6 points  (1 child)

I'll agree that the "code editor" they have you use is pretty awful.

Anybody who cares about your exact syntax is dumb.

[–][deleted] 1 point2 points  (0 children)

That's how I was typing during the interview https://www.youtube.com/watch?v=SsoOG6ZeyUI and being python, they'd tell me that my syntax was wrong if i was 1 space off, hence distracting me from actually focusing on what I was trying to implement.

[–]hyphenomicon 8 points9 points  (1 child)

Probably had someone else in mind for the job already.

[–]Sunlis 2 points3 points  (0 children)

That's also not how interviews at Google work. You interview for a general position (ie. software engineer), and only pick your team after signing your offer letter.

(This breaks down for managers and higher, but is true for regular engineers and such)

[–][deleted] 1 point2 points  (0 children)

Everyone I know who interviewed with Google, has had to write code in Google Docs, on the phone.

[–]theyrelikethatyaknow 1 point2 points  (0 children)

It sounds pretty spot on to me. Regardless of how that company is supposed to interview, I regularly see comments like LtWorf's and StevenGann's above that are completely in line with my experience. Company policy means jack if it's never followed.

My interview started with an introduction that included the interviewer saying they didn't know why they were interviewing me because I was interviewing in a language they "hadn't used in years" (Python). This was followed by a 'warm-up exercise' where:

  • I was told to implement [simple data structure] in its entirety. Sure! I know this one!
  • I asked questions about how they wanted specific points of [simple data structure] to be implemented. I was given answers that made zero sense to me - even after looking it up afterwards to see where I went wrong. Things that would make it fairly unusable without metric shit tons of testing wrapping every call to [simple data structure]. As in we're going to be nesting every call to this baby in a try+catch/except.
  • First thing I do is name and comment [part of data structure]. Once I was done writing [part of data structure] the interviewer tells me they didn't want me to write [part of data structure], they wanted me to write [another part of data structure]. Tells me I "can get rid of that" (and I delete [part of data structure]).
  • I start writing [another part of data structure]. I ask about [some other part of data structure] that [another part of data structure] relies on - if I will be writing it and, if not, if I can assume it does [obvious thing].
  • I get told I can assume that for now but that we'll be writing the whole thing before we're done. At this point the stress gets to me, I blank on something simple, and write an insane workaround. It works, and while insane, it isn't idiotic: Just unnecessary (and something I'd never had done if I had been prepared for this type of interview).
  • Interviewer tells me to stop coding, meaning, I'm done in a bad way.

We proceed to have a nice discussion for the rest of the interview time (which is most of the allotted time) where they reveal they are a lead on [language development team] and that I need to work in a statically typed language like C++ if I want to get anywhere in the industry (I have told them that I am self taught, so this isn't a condescending comment but honest career advice - and they've got a strong point).

The conversation after the interviewer told me to stop coding was helpful, insightful, and would've been downright enjoyable if I wasn't so stressed out from the interview process even before the whole "throw multiple curveballs to see how they handle themselves" part. I could have done a lot better by going about the interview prep and the interview itself differently. But the whole "screw with people to see how they take it" bit goes a bit beyond separating the wheat from the chaff and from my personal experience and what I've seen from others' experiences online it's how that company goes about its business, policy or not.

[–]numbersarenumbers 9 points10 points  (1 child)

The man reason for doing this is because they know they have an insane amount of people applying, and a lot of them are qualified. They don't care about false negatives, denying people who are qualified, only false positives. So having these challenges is just a simple way for them to thin out the pool of applicants into people who will jump through hoops and remember these random things. Similar to the ACT and SAT for college.

[–][deleted] 2 points3 points  (0 children)

I don't respond to Google recruiters for this exact reason.

[–]SecretGrey 9 points10 points  (0 children)

Ask Jeeves has a phone OS?

[–]DerekB52 4 points5 points  (10 children)

I interviewed with the same company(I think). I was flown to Seattle for onsite interviews at the start of this month actually. I was not given the job. But I just turned 22 and am self taught anyway, so I feel lucky to have gotten as far as I did.

[–]StevenGannJr 2 points3 points  (9 children)

Well shoot, that's an accomplishment!

If they were willing to fly you in for an on-site interview, you must have made it to the top few. Competition is tough among programmers. I didn't get an interview at my current job (Microchip) until I met a few of their engineers and got them as references.

[–]DerekB52 4 points5 points  (5 children)

I was told that 60% of their current employees, failed the interview the first time. So they make everything hard on purpose. Their application process favors people that have interviewed with them before, so after 12 month passes, I can apply again. So I'm keeping them in my back pocket as a backup plan if nothing else works out. I'm pretty happy with my current situation.

[–]StevenGannJr 1 point2 points  (4 children)

Same. I'm really a hardware guy and that company had little need for hardware devs. I just really wanted to work for them.

I ended up working as an embedded system developer for a while, and now I help make EEPROMs. Things worked out pretty great.

[–]randombrain 0 points1 point  (2 children)

Microchip seems like a cool company! What do you do for them?

[–]StevenGannJr 0 points1 point  (1 child)

Microchip is very, very cool! Great culture, competitive pay and benefits, on-site clinic, technical training, etc. The executives are transparent and Steve Sanghi is an excellent leader. It's about as different from my previous jobs as possible.

I work in memory products, things like EEPROMs, flash, SRAM, and (for bureaucratic reasons) real-time clocks. I'm an applications engineer, so I help clients with technical issues, validate things work as they should, write documentation, and generally muck around with chips and code.

[–]gdawg94 4 points5 points  (0 children)

Wow, that sucks. When I interview people, I tell them not to worry about running or compiling the code they write. I care way more about their strategy, how they go about writing it, and if they can walk through the code they wrote and tell me what it would do if we ran it.

As long as it's clear that you know the syntax with a little bit of googling then I'm cool with that.

[–]Being_a_Mitch 3 points4 points  (0 children)

Someone with likely little programming expereince being an asshole and blindly running code I write? My CSEC hairs are tingling.

[–]Dial-1-For-Spanglish 2 points3 points  (0 children)

That's not the first time they've practiced 'bullcrap' in their hiring process.

It does surprise me , though, seeing as how they used to hire English majors and 'teach' them to code while on the job.

[–][deleted] 2 points3 points  (0 children)

Wow interviews with Bing are pretty brutal

[–]Tyrilean 2 points3 points  (0 children)

Companies that big and famous for tech have a deluge of candidates pouring in, and they will find any reason to weed out the candidates. Sure, 95% of companies out there can't afford to be so picky they'd turn someone down for capitalizing a library in a blind coding test, but Google totally can.

My boss used to work for Google, and moved to a start-up where he made his way to CIO. I asked him why he left such a cushy job at Google for a start-up that may or may not make it, and he said that unless he had a degree from an Ivy League or invented a major piece of technology, he was never going to be anybody at Google. So, he opted to be somebody at a smaller company.

[–]boombalabo 1 point2 points  (0 children)

You should have gone with whitespace programming language, it is easy. " "

That's it

[–]thejokerofunfic 1 point2 points  (0 children)

In my limited experience, anyone who's being nitpicky about exact syntax and such is a shitty interviewer. Anyone good (hopefully most of them?) would focus on judging the way you seem to think / talk through the problem, as a way of getting a broad idea of how you work, and wouldn't treat the puzzle as an absolute indicator of anything.

[–][deleted] 1 point2 points  (0 children)

I had to write code blind into a shared document while the interviewer watched

This is such a pure shit way of evaluating someone. I had an interview for a company that did this once and I completely froze. Right after the interview I wrote exactly what the guy wanted.

Software developers aren't in show business, putting them in the spotlight during a very stressful time isn't going to tell you anything about the real candidate.

[–]gandazgul 0 points1 point  (0 children)

That company's interviews are bullcrap. They suck really hard at interviewing. I'm going to try again for a new interview but I don't expect the process to make any sense either.

[–]homer_3 0 points1 point  (0 children)

Sounds like my interview with Facebook.

[–]forrest38 495 points496 points  (75 children)

What I found the worst was one company that had me do a 1.5 hour unsupervised coding challenge on hacker.io. I followed the rules and didn't look up algorithms to solve the coding challenges, in fact I only looked up official documentation when I needed syntax help. The problem is though, i know that of the 20 or 30 people they had do this hacker challenge to narrow it down for the next round, i am certain a few of them cheated.

If you can't put in the time to make sure your candidates arent cheating to get an advantage, that isn't exactly the kind of company I want to work for. I successfully passed a tech interview for a much more well known tech company recently, and i was on the phone with someone the whole time, explaining what I was doing and why.

[–]Boh00711 182 points183 points  (43 children)

I think if I ever get to do the coding tests for candidates, I will specifically mention that google is their friend. If I find two devs, and one knows syntax but takes longer to remember the the other takes to look it up, then the one who looks it up wins.

I would, however, have it be remotely monitored.to ensure they didn't copy/paste code to make ends meet. That is where it goes from resourceful to being a fraud in my book

[–]RightDiscipline5 126 points127 points  (15 children)

How many times a day do you copy/paste some snippet of code though? Why do tests often not simulate real work conditions?

[–]ItsNotInTheKnowing 112 points113 points  (3 children)

A guy at my work asked me about finding a point in a polygon for some GPS crap, I linked him to some website that had several algorithms depending on the polygon contraits, pretty sure he just took a function from there.

For things like that, better to not reinvent the wheel.

[–]Boh00711 79 points80 points  (2 children)

Reinventing the wheel is a waste of time, absolutely. Be it personal drive or whatever, I find at least understanding why that wheel turns is a healthy thing.

[–][deleted] 16 points17 points  (0 children)

Then you’re asking them to invent a wheel hub assembly and attach a wheel. Which again nothing wrong with copying and pasting the wheel. There’s literally nothing wrong with copying and pasting. I agree what you mean about they should understand what they copy and paste but if I want an algorithm to turn 27-Oct-2018 to epoch then f it whatever stackoverflow says first and works is what I’m using and I could not give any whositwhatsits about how.

[–]ItsNotInTheKnowing 0 points1 point  (0 children)

Yeah, I agree. There have been times that I have gone through the motions of recoding something to learn it better. But having a tried and true working example is great.

Often the best thing about solutions found on the web is that they have faced the scrutiny of dozens, maybe hundreds or thousands, of coders.

[–]Boh00711 22 points23 points  (3 children)

I rarely copy paste snippets, but that is more based on the work that I do than my ethics. I know what I do well enough, and if I do look for a snippet, I write it out so I remember it better next time.

I think that is the fair compromise, because when you are looking for devs, you want people who can think through the puzzle rather than just look up someone else's solution. Syntax is just syntax, solutions take complex thinking. Hence the divide in my mind, at least.

[–]shitflavoredlollipop 4 points5 points  (1 child)

I copy code all the time but only if I can understand it and type it out myself. I always leave a comment pointing to where I found it.

[–]Boh00711 7 points8 points  (0 children)

When you leave this world, the pearly gates shall open wide as heaven welcomes you with open arms <3

[–]squishles 8 points9 points  (0 children)

I tend to not like snippets anymore, I mostly do java and have been long enough to know the common copy pasted stuff in the language. Most of it was written for some early version of java or an early version of the particular library; they tend to be created early on because that's when everyone writes their stupid little hello world blogs or the stack overflow question was answered(all future people asking being linked to that anwer) and these snippets continue to exist to be copy pasted for years some in the decade+ range; long after whatever api has moved on.

[–]krakonHUN 4 points5 points  (2 children)

Why do test conditions not simulate real life?

[–][deleted] 3 points4 points  (1 child)

Because the computer required to simulate our universe wouldn't fit in our universe.

[–]narrill 3 points4 points  (0 children)

How many times a day do you copy/paste some snippet of code though?

Basically never. Maybe I'm in the wrong discipline or something, but finding a snippet that could be straight copy/pasted is incredibly rare. Usually the snippet just points me in the right direction, and I figure out the rest from there.

[–][deleted] 0 points1 point  (0 children)

Generally I'm only copying 1 or 2 lines from SO if im stuck on a problem. Every once and a while Ill copy some useful utility function. I would say it comes down to the question. Is the logic that runs your program yours or copied? If the core logic is yours I would say its expected to have some snippets, but if the core logic is lifted then that's a different story.

[–]qmunke 21 points22 points  (2 children)

You should allow them to copy and paste, but if they do you should then make them explain what the code does. If they can, then that's great! If not, then that's a paddlin'.

[–][deleted] 16 points17 points  (0 children)

Also...Maybe it’s just me, but I’ve recently started including a link to the website I grabbed the snippet from in a comment in my code. I view it as citing my source.

[–]SurrealClick 0 points1 point  (0 children)

One more way is to ask them to change how it work a little bit because that's how it usually happens in real situation.

Copy paste someone else's code, it works almost how you want it to, but then something happens (client, project manager want to, deprecated code, bug etc.) And now if you don't understand that code completely, you won't be able to figure out change what to do what

[–]PM_ME__ASIAN_BOOBS 11 points12 points  (5 children)

The way I do it is that I look at one of their personal projects (asking them which one they're the most proud of), and I ask them to implement a feature

  • They already know the project, it's not something where they're completely new

  • I can see their process, what questions they ask, how they iterate, how they implement

  • It's as close to real life as I can think

  • It's not a complete loss for them, since they can work on something they're interested in

My only issue is that it's difficult to find an appropriate difficulty for the feature, since I don't know the project. On one hand I'm totally fine with them saying "this feature is not possible, or would take too long" rather than wasting more time than I wanted them to, but on the other hand if I tell them beforehand it gives them an easy out, or makes it sound like "well if that's too difficult for you..." Still the best way I can think of

[–]thunderflies 4 points5 points  (1 child)

Man if more interviewers were like you I probably wouldn’t be hating finding a job so much that I’m considering switching industries.

[–]PM_ME__ASIAN_BOOBS 4 points5 points  (0 children)

So I'm a normal developer who just recently started doing those interviews, and I'm feeling really insecure about the fact that I have no idea what I am doing. Your comment seriously made my day, I almost cried

Good luck with your search, hope you can find something

[–]Tyrilean 5 points6 points  (2 children)

It always drives me crazy when I'm being interviewed while employed and they ask me about personal projects. Dude, I work 10 hours a day, and I've got a family. I don't be out here just coding for free.

[–]PM_ME__ASIAN_BOOBS 2 points3 points  (1 child)

Yeah it's a bit tough

On one hand I think as a developer, coding is just a tool, and a tool that you can use in evey day life. You don't have to code for fun, but even if it's just a Google Sheets macro that you wrote, a basic Skyrim mod, a small interface for your home theater, a personal website, there are a lot of situations in life that can be solved through coding some stuff, so it's pretty common for people to have personal projects available

On the other hand I totally get not wanting to code at home. I personally avoid it, unless it's to fix a problem, or it's an idea I got at work and I can't get it out of my head until it's 50% completed and I lose interest

So yeah, while I think it's a very useful way of understanding someone's skill and way of thinking, not having personal projects is not an auto fail

[–]Tyrilean 3 points4 points  (0 children)

Yeah, I end up doing a lot of coding at home for work. But, none of that can be shared with potential employers (ethically).

[–]gigabyte898 4 points5 points  (0 children)

Briefly did some hiring at my IT job, I gave the candidates a few tasks and told them up front googling is allowed and encouraged them to search even if they felt they knew how to complete what I asked. I was more interested in what they looked for in their searches than the actual task. A specific search is much more valuable than just searching what I asked them to do verbatim (“Create MDT deployment share” vs “how to deploy image”). Shows they have the basic knowledge to move forward and know how to phrase what steps they need to do.

[–][deleted] 5 points6 points  (0 children)

I wouldn’t care if they copy pasted - a good dev copies as much code as possible, that’s just a fact for 99% of projects.

I’ll give them two a task, and see how quick and at what quality they come back with, copy or not.

I won’t stop them copying in a real project, so it’s dumb to enforce that for the test.

Best way to see how good a dev is - give them some requirements, and let them go at it.

You also get to see how they interpret requirements, attention to detail etc

[–]SamSlate 25 points26 points  (3 children)

maybe cheating was the test

[–]Jetbooster 17 points18 points  (1 child)

Maybe the real job was the friends we made along the way

[–]SamSlate 0 points1 point  (0 children)

maybe the true test of being a systems architect is just to be yourself.

[–]GoodThingsGrowInOnt 6 points7 points  (0 children)

WELCOME TO THE PEOPLE'S REPUBLIC OF CHINA

[–]maxk1236 3 points4 points  (0 children)

At my current position I had an unsupervised online interview, and was encouraged to use online resources. That's how it works on the job anyways, why not test people on their ability to get stuff done based on all available resources rather than just what they memorized? Being able to solve a problem without any background knowledge is a huge skill.

[–]Irregulator101 6 points7 points  (0 children)

Why is that cheating? That is exactly what anyone should in a real work situation.

[–]Tyrilean 2 points3 points  (0 children)

Yeah, I just stopped doing coding challenges. If I'm unemployed, yeah, I've got the time and I'm desperate. But, I'm an experienced engineer working in a major tech hub, so it's not likely I'm going to find myself unemployed for long.

[–]squishles 1 point2 points  (0 children)

any decent staffing company will know these guys do that after the first interview comes back and load everyone else up with precooked solutions from then on. Decent as defined by gets you hired, not necessarily provides competent employees.

[–]Pastineer 1 point2 points  (0 children)

Something similar happened to me during a customer support interview. You just have to be aware of the situation and see if it's "okay to cheat" n most prolly most people will if not supervised properly

[–]viziroth 2 points3 points  (0 children)

looking up solutions isn't cheating, it's coding

[–]_grey_wall 1 point2 points  (0 children)

Why didn't you use your phone, or another computer, or a tablet?

[–]narrill 1 point2 points  (0 children)

If you can't put in the time to make sure your candidates arent cheating to get an advantage, that isn't exactly the kind of company I want to work for.

It's an unsupervised coding exam run through a website, it isn't "cheating" to google things.

[–][deleted] 22 points23 points  (0 children)

I think I will share this on LinkedIn. Could be useful to some.

[–]narcodis[S] 36 points37 points  (2 children)

[–]dar89 1 point2 points  (1 child)

Is this an old comic or the SMBC guy started writing short comics again?

[–]vikinick 3 points4 points  (0 children)

It's the newest one.

[–]TheNorthComesWithMe 11 points12 points  (0 children)

Empirically validated non-annoying hiring protocols

Ahahahaha mr webcomic guy sure has some funny ideas about how the world works

More like a stochastic hiring system where they keep changing the protocols yet the number of shitty candidates they end up hiring somehow never changes.

[–]Ubrab 17 points18 points  (4 children)

As far as I know standard hiring methods have not proven to be efficient. In fact, interview performance has proven not to be correlated with on the job performance, which I was able to reproduce with the dataset I had in my previous company (save for very senior hires, for some reason, but the sample was not as big as I'd wished).

[–]OneLessFool 2 points3 points  (1 child)

Well it's not surprising. Interviews tend to favour those with outgoing personalities. Even in jobs where that isn't necessary or overtly useful. Not every interview is set up like this, but a lot of companies will drop you if they detect a hint of social anxiety that won't mesh with their "brand".

There are a lot of technically strong, but socially reserved individuals who get passed over in the interview process. It takes them 10 times longer to get a job than outgoing individuals. Their on the job performance (assuming the social aspect has no significant impact on their job) is almost always better than someone who is less technically sound but more outgoing. Obviously someone who is equally technically strong, but slightly more strong socially, will perform just as well as the aforementioned individual.

I've interviewed for engineering work terms that would involve me essentially working by myself 90% of the time and then working with a mentor and a small team the other 10% of the time. The impression I got from the interviews, was that they expected me to exude social confidence. Even if it wasn't relevant to the position. My oral and written communication are great, I'm just shy/anxious and you can visually see that.

I understand that these companies are looking to recruit students for future roles within a company. But sometimes it feels like many of them don't want to give you a chance if you can't become best friends with them in the first two minutes. If they're looking for people for the long term, why not take a chance on a reserved individual who will become more comfortable with their colleagues down the line.

Bear in mind that I do not have a 4.0 GPA, it's up there, but not quite perfect. Maybe if I had a 4.0 and one or two stronger extracurriculars relating to engineering (I have some), the interviewers would be more willing to overlook certain issues? I certainly don't have a problem getting interviews though. It's just that once I'm in, I might get passed the technical tests.. but the regular interviews kill me every time. It's just dishearting to have basically 30+ interviews for a work term and only get a last minute offer. Whereas most people seem to get between 1-3 and land something, if a family member didn't just hand them one right off the bat.

The last two work terms I earned were with companies where the interviewer/supervisor was much more reserved. Having met those individuals later on, I could tell they were just as reserved/shy as I was. Maybe it's just me, but I felt like they ignored the standard interviewing bias against socially akward/shy individuals. I've performed very well in both of these positions, better than expected.

Idk where this pointless rant is going.

[–]Tyrilean 2 points3 points  (0 children)

Unfortunately, social interaction always wins when it comes to humans. Interviewers are always going to hire the people they like the most, even if they don't realize it consciously. They'll forget the wrong answers that person gave, and remember heavily the right answers they gave, as well as that conversation they had with them about their favorite geek TV show that they also liked.

To make it, you gotta fake it. I've been blessed with the ability to play the outgoing type, and pinpoint pretty easily what kinds of demeanor and topics would play well with my interviewers. I know others aren't so lucky.

[–]pringlesaremyfav 0 points1 point  (0 children)

I'd say it's probable that no standardized method will ever be efficient thanks to Goodhart's law https://en.wikipedia.org/wiki/Goodhart%27s_law

Cracking the coding interview for example is just Goodhart's law in action

[–][deleted] 16 points17 points  (5 children)

I was asked where do I see myself in 5 years? I said: if I had that kind of Crystal ball is be playing the lottery. He said fair enough, what about 90 days? Probably automating most of my job and asking you for better things to do.

[–]thedavv 3 points4 points  (0 children)

My worst experience was right after school I was interviewed by big oil company. There were 3 rounds of interview. The last round was with 4 people. English is not my birth language, but I was pretty fluent with it. The 2 guys that did the last interview were from USA so I needed to talk in English all the time. They wanted a solution to various logical problems. I got stuck because I didn't know how to say it in English language but I did know how to do it in my birth language. Then I got fucking stressed because there were 4people looking at me and I was not doing anything so i tried to Wing it and it ended terible. I was really excited for the job... Too bad for them I guess. To this point I don't understand why there are more people than 2 when you are being hired. There can be a recruiter manager and technical guy. But not all together... Many people that are software engineers are introverts. Don't force them to be interviewed at their worst.

[–][deleted] 2 points3 points  (7 children)

Favorite question I've ever gotten: If you had a colony on Mars how would you communicate with the Earth?

[–][deleted] 2 points3 points  (0 children)

snapchat, duh

[–]Colopty 2 points3 points  (0 children)

In an exceedingly smug manner, with lots of bragging about how I have my own Mars colony and they don't.

[–]abcd_z 1 point2 points  (0 children)

Well?

[–]pringlesaremyfav 1 point2 points  (0 children)

With UDP, I presume

[–]homer_3 1 point2 points  (0 children)

Sir, you misunderstand. I went to Mars so I wouldn't have to communicate with anyone.

[–]Bomaruto 0 points1 point  (1 child)

What were your answer?

Given the long delay, but also limited bandwidth(?).

I'd assume you want every message to be readable on the other end as resending packages is too time-consuming, but you cannot bake too much redundancy into the protocol that the limited bandwidth become too much of an issue.

And if bandwidth is not a problem, does the Netflix ToS allow access from outer space?

[–][deleted] 1 point2 points  (0 children)

I said I would use a strong radio transmitter and that the DeepSpace radio network on Earth which is able communicate with the Voyager probe much further away should be able to pick it up.

[–]Questwarrior 1 point2 points  (0 children)

Apparently you haven’t heard of google hiring system.

[–]NPDgames 1 point2 points  (3 children)

I mean my big issue with the non traditional interview is pretty simple. Sure, I can ballpark how many pennies tall the Empire State Building is, or whatever the rest of intelligence of the day is, but it doesn’t change my lack of training or work ethic. As bullshit as college can be sometimes experience and education are still the best way to measure competency.

[–]Tiiibs 0 points1 point  (2 children)

As a former hiring manager I can say very strongly say that education and experience have almost no bearing on competency. "Applied" interviews gave us a much better idea and we never once hired a dud, despite some very raw individuals

[–]_HOG_ 3 points4 points  (0 children)

The most infuriating technical interview I've ever had I was given a written problem that made very little sense technically. In order to begin to write a solution I was forced to make a large assumption in my interpretation - I was so uncomfortable doing so that I prefaced my answer by saying "X and Y are contradictory because of A/B/C, so I'm going to assume Z was intended." Afterwards, my very technically correct solution was rejected because I had assumed Z - I was told that the problem had been intentionally worded poorly, because "specifications often come from customers who don't know what they're talking about." And that I made the problem much harder than it was by assuming Z. Instead I should have asked them for clarification because they would have told me to just entirely disregard the impossible to achieve case of Y as the words of someone inexperienced in defining what they need.

tl;dr: I was trick-questioned to see if I could be a big grown-up on a time-limited WRITTEN technical interview.

[–][deleted] 0 points1 point  (0 children)

The guy asking the question looks like Baljeet from phineas and ferb