Live data from Hacker News

It doesn't take much public creativity to stand out as a job candidate

simonwillison.net

351–360 of 387 posts

Re: It doesn't take much public creativity to stand out as a job candidate

#351

Earlier quoted context omitted.

> It seems modesty is going the way of the dodo. Though it leads to an interesting quandary - is it possible to have an online presence and still honestly call yourself a modest person? If by "modesty" you mean not bragging and not presenting yourself as better than you are, that's absolutely a desirable quality. And that's perfectly compatible with publishing your work. If by "modesty" you mean keeping your work unp…

> If by "modesty" you mean keeping your work unpublished, or presenting yourself as worse than you are, that's neither a useful nor a desirable quality. To be fair, historically the entire point of modesty was to present yourself as worse than you are (historically this was done with attractiveness specifically). Has modesty taken on a new definition where it means simply not bragging? I honestly wasn't aware.

>historically this was done with attractiveness specifically

And money. Mostly money, at some times and places. Many examples of ostentatious displays of wealth being discouraged or forbidden. Lots of good reasons for that, social and individual.

e.g. 1 Timothy 2:9.

Re: It doesn't take much public creativity to stand out as a job candidate

#352

Earlier quoted context omitted.

The book Disciplined Minds goes into some of this. It helps one understand the answers to questions like why companies prize things like performance on coding tests that don’t correlate very well to the job. Even FANGs are not looking for truly innovative engineers. Most of the innovation comes via acquisitions or when they hire some industry luminaries to lead projects. The rest are only there to fill in the lines a…

> Even FANGs are not looking for truly innovative engineers. Most of the innovation comes via acquisitions or when they hire some industry luminaries to lead projects. The rest are only there to fill in the lines and be highly productive coding machines that will learn the “syllabus” just like they learn to leet code. FAANMG also has a deluge of resume thrown at it every semester. Ever since mainstream media filmed a…

There's a big world between "cannot write 2 lines of code" and "studied Leetcode full-time for only two months instead of three." I give a lot of interviews, the majority of candidates who fail are in the latter category.

Re: It doesn't take much public creativity to stand out as a job candidate

#353
post #285

Earlier quoted context omitted.

I highly recommend interested readers to follow through to the Quora page. It’s more or less a public apology, and helped break me out of the echo chamber that occurs here and on Reddit related to interviewing at Google.

It looks like there are a bunch of programmers who think that having taken the first year uni course on data structures is more important than having experience actually building product and having it used by millions. It's kind of silly. Most programmers out of school have a lot to learn about building product and actually getting a big project done - which they are supposed to learn on the job. At a place like Goog…

I have a traditional Computer Science background and I'm still intimidated to even apply to Google. I got out of bigCo Software Engineering in part because I wasn't interested in putting myself through the wringer of whiteboarding memorized solutions.

I'm also the guy that found low hanging fruit in a huge codebase to replace things like frequent linear array lookups with hash table lookups for 10x+ speed improvements in the build process. This is IMO precisely the type of capability that "Oh, that's O(n^2), surely we can do better. Is there any way to do this in O(1)?" is designed to tease out in the interview process. I did it! In a build process effecting 1000+ engineers, used to build for millions of shipped units! But talking about this in an interview makes eyes gloss over as we prepare to move on to sort algorithm trivia, how would I design search, or doubly linked list implementations.

Re: It doesn't take much public creativity to stand out as a job candidate

#354

Earlier quoted context omitted.

Ok, I interview and hire folks where I work. (Mostly looking for C/C++ folks.) If you list projects or GitHub links, I'll DEFINITELY go through them and probably spend a lot of time asking questions about your design and implementation because it's great seeing what folks can tell you about things they wrote. In the absence of that, why might I ask you to implement a binary search or maybe a linked list: I want to gi…

I had a co-worker about ten years ago. His coding question was always: Please implement a linked list for me in any language. He said more than 80% of candidates failed. Incredible. LinkedList! I can understand that people will struggle to write a HashMap, BinaryTree, or BinarySearch (always full of bugs), but LinkedList is just crazy. To be fair, I always get tripped up by the classic interview question of reverse-a…

I had a good laugh from this one xD Thanks for sharing! Almost makes me wonder what's the most "creative" and convoluted way of solving a linked list. "Any language? Well, how do you like this implementation in Whitespace?"

Re: It doesn't take much public creativity to stand out as a job candidate

#355
post #339
post #243

Earlier quoted context omitted.

Yes other people are different, but I have yet to meet good developer who struggle to understand binary search. Yes, people can randomly fail in interview due to stress or whatever. But that can happen on any question. This particular question really should weed out all that many otherwise good people.

I learned the common search algorithms in school. I haven't had to touch them since, if you asked me to write psuedo-code for them on the spot I'd almost definitely fail to implement them properly. There's a huge difference between struggling to understand something and not being able to do it from memory on a whiteboard. Imo conversational questions are much better indicators in an interview of whether someone will…

As a teacher I'd say that depends. If it's relevant to the job, then you should obviously know it, and perhaps even be able to expand upon it. Though after reading the posts here I have a sneaking feeling that things like that usually aren't relevant.

With that said, having a conversation with someone solving a problem right in front of you, gives you a very good insight into how the person thinks. To that end I've censored a lot of pupils where they have to "defend" (i.e. talk about or explain) a piece of code that they made, sometimes beforehand as a bigger project, or sometimes on the fly.

I'd often give them extra problems and talk with them about it as they solved it if I was unsure about the grade. I find that this gives me far more insight in where the pupil is coming from, and hence his level of competence, rather than seeing the code on its own, or having him answer a multiple choice or SAT type test. I can see how an interviewer might make use of a similar technique if he's unsure about the candidate.

Re: It doesn't take much public creativity to stand out as a job candidate

#356

Earlier quoted context omitted.

Binary search? I would never hire anyone who couldn’t implement it from scratch. There’s no complex idea or trick to remember, it’s the most basic algorithmic around.

I feel like I'm pretty good at these things, but I'd 100% have an off-by-one error in my first attempt at binary search. I can get it right quickly if I'm able to test the code, or very slowly if I have to work through several test cases by hand on the whiteboard. There's a lot of room in between "couldn't implement it" and "can do it in 5 seconds" and "wrote a buggy version of it".

One of the best things you could do in a whiteboard interview is just start writing effective unit test cases without being prompted into it.

When I joined my current company, it was still tiny and sketchy and I got shanghaied into a surprise full day interview by the promise of an informal two hour tour. A two hour tour... At one point I was given 1.5 hours to write an implementation of a very core library that most software engineers take for granted every day. Trying to have fun with it, I spent about 20 minutes writing a design document, about 30 minutes coding the implementation, and then the last 40 minutes writing a dozen or so unit test cases (as well as a simple standalone unit test framework). When I ran out of time, only maybe 2/3rds of my test cases passed, and I had just narrowed the problem down to a flaw in one of the assumptions I had enumerated in my design document. All the interviewers seemed pretty impressed by the documentation and test coverage, and didn't really care about the implementation, mostly because it was relatively boring by design.

Re: It doesn't take much public creativity to stand out as a job candidate

#357

Earlier quoted context omitted.

> To play devil's advocate, having a standardized process for all candidates has some benefits. I've witnessed otherwise stellar candidates with amazing open source contributions absolutely bomb coding interviews. Real "write a function that does X" in whatever language you're comfortable with and whatever tools or resources you want. Simple stuff. I'm not sure if you're playing devil's advocate very well here, becau…

> I'm not sure if you're playing devil's advocate very well here, because this suggests to me that the interview process did not work well. Do you want to hire someone who can write a binary tree insertion in 30 minutes, or someone who can make amazing contributions to real software projects? Most companies want malleable, fungible engineers. Most companies are not stable, something is usually in flux -- projects, te…

> Most companies want malleable, fungible engineers. Most companies are not stable, something is usually in flux -- projects, teams, organizations, business models. Most managers would rather have someone who can write a binary tree insertion in 30 minutes.

Okay well that's a bit surprising.

> But that is not how I personally hire, it's just reality. I'd rather have someone I can work with. In my experience, a lot of big open source contributors are not good colleagues. Are they going to focus on their job or spend their hours in the office working on their passion? Are they going to put their head down and get the work done or write essays debating in a mailing list?

Interesting point that I hadn't really considered because I get paid to do what I want with Linux. That said, I'm not here to argue that open source developers are wonderful or this recruiter should have known who I was or been kissing my feet.

> If we can't even have a conversation about algorithm complexity then there are better ways I can spend my time.

You can in the right setting. I happen to think some companies probably take these to absurd levels that can't be a particularly good filter. But they have millions of applicants and have to filter somehow, so as long as they're up front about the process and treat applicants respectfully as you would any other human, they can do what they like. That's not what I'm complaining about either.

> I really don't think this is true contempt, at least not usually. Recruiters, for better or for worse, vary widely. They are rarely good representations of the rest of the business. They're usually just sharks. A good recruiter is worth their weight in gold. But mostly they're ignorant, greedy, and have no care for you or the company you're interviewing for.

The recruiter was not overtly rude and I'm sure they weren't intending to be contemptuous. I'm guessing the the practices and behaviors are so normalized that they might not even recognize there is any problem. So it's the industry as a whole which has some serious problems I think.

> Look, I'll be honest. I've conducted nearly a thousand interviews. I've hired at FAANGs, unicorns, YC companies. I almost never look at a candidate's resume/CV. If I'm not doing a coding interview and I want you to go into detail about something you worked on, I might take a glance. But otherwise, I actually do not care. I don't have time to peruse your GitHub profile or past projects. I don't even have time. One in a hundred applicants even get interviews, and I'm often interviewing 2-3 times a week. If it's important to you, tell me about it! I'd rather talk to you than read about you! In my experience, the resume/CV/published work is not a strong signal for making a good hire. It sounds like it's already helped you get your foot in the door, I wouldn't recommend expecting it to do anything more.

You don't even read the resumes of the 2-3 people per week you decide to interview? The resume is what the applicant wants to tell you about themselves. If I apply for a job, I would be sure to read the position description and read up a bit about the company, their work and people.

But so long as you're honest and respectful of people, and don't think that your time is more valuable than theirs, each to their own. If you tell them not to spend any effort updating their resume because you prefer to cover it in the interview for example, I don't have a problem with not reading them if that's not how you like to do things. Honesty and respect is all I ask.

> I'm sorry you had a shitty experience with this company, but I encourage you to be humble and give them the benefit of the doubt. Unless they're a tiny, boutique company with a lifestyle or OSS-focused culture, they are busy people. If they don't ask these questions, then more often than not, by the time we're in a room or on a call together it's a waste of both our time.

It wasn't a huge ordeal for me that I'm bitter about. I was just flabbergasted that they thought nothing of taking an hour or so of my time without spending 2 minutes to read my email. They were willing to say anything to try hook me and get me into some process. It's not the right way to treat people even if it is a buyer's market, not even if they're a new graduate or have poor credentials.

Re: It doesn't take much public creativity to stand out as a job candidate

#358

Earlier quoted context omitted.

Binary search? I would never hire anyone who couldn’t implement it from scratch. There’s no complex idea or trick to remember, it’s the most basic algorithmic around.

Has anyone who's worked for you had to write binary search from scratch on the job? It's pointless to ask candidates to write code that they'd never have to do in the real world. I've been writing code for 25+ years, 15 years professionally, and the only time I had to write any search algos from scratch was in school. I'm sure I could do a binary search given enough time but I'd probably just refuse and end the inter…

I'll ask algorithmically interesting questions inspired by past problems I've solved within relevant domains. They're often solvable with some element of binary sorting. I don't care if someone uses a standard library or googles something, but I'll notice if they choose to use one and use it wrong. The classic example is assuming a dict in python is a tree rather than an unsorted hash map.

Walking out of an interview like that is certainly a great way to not get hired. That's fine if you didn't want to work there anyway I guess, and nice for the interviewers because they learned enough to end the candidacy confidently knowing they dodged a bullet. Strong engineering teams solving worthwhile problems want to hire people that charge head first into difficult problems and get their hands dirty.

If I were in a similar situation where I was asked to write an algorithm I was unfamiliar with, I would probably just say up front that I have no idea how to do that, and then start asking the interviewer questions about how it might work. I would also quickly try to identify a real world example of a problem they're hoping to solve with that algorithm, and then brainstorm alternative ways to solve that problem in ways I'm more familiar with.

Re: It doesn't take much public creativity to stand out as a job candidate

#359
post #154

Earlier quoted context omitted.

Does this mean that the whiteboard coding interviews are flawed, or that guys like us, who has made a ton of more or less great projects are flawed? Why would a company rather have a guy that can solve binary search in five seconds, than one that has showed continuous progress with several finished projects over the years? Do they think accomplished guys somehow are a liability? Or is it that they want a blank sheet…

Binary search? I would never hire anyone who couldn’t implement it from scratch. There’s no complex idea or trick to remember, it’s the most basic algorithmic around.

The binary search algorithm listed on Wikipedia has a bug. It's addressed much later in the article.

Re: It doesn't take much public creativity to stand out as a job candidate

#360

In my experience, for a pure engineering role, nobody seems to care. I had credits at large companies, posted talks online (interviewers rarely looked at them), but if I forgot how to write binary search in 10 minutes in an interview it didn’t matter. This actually made me realize being just an IC wasn’t actually my goal though. Once I started interviewing for management and sales, all of those things _really_ matter…

Yep. I've had a portfolio of full video games I've coded and released on my own, as the sole programmer, that could be played on the web, had my name credited on the title screen, and you could even see the code on some of them, and I proudly included the link on my resume. Never brought up during the interview process, I was still expected to take the coding tests, and if I did a little poorly on one question I almo…

I’ve interviewed a lot of candidates and I make it a point to review their portfolio. It helps me target my interview to focus on subjects they’re familiar with. Your portfolio should be on your resume. Videos are a great way to show off your game.
Post reply on HN