Live data from Hacker News

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

simonwillison.net

181–190 of 387 posts

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

#181

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…

> if I forgot how to write binary search The binary search algorithm isn't something you can "forget". For a literate programmer it's like forgetting how to write the letter 'A' or forgetting which pedal is the gas and which is the brakes.

Your analogies are things that you use a large % of the time, almost any second. Whereas I've been programming for years, and never wrote a binary search (I think?), but perhaps I don't qualify as literate?

I think writing an if-statement would be closer to your analogies.

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

#182
post #172

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…

Thank you for your insight! Hm so perhaps statistics and probability are actually more valuable for companies like that?

Do not think only in terms of technical skills. Large companies operate via easily scaled algorithms for everything including promotions and hiring. The simplicity of these algorithms often means that they can be circumvented. You want to get hired at Google. What do you do ? Spend 3 years doing side projects or spend 3 months befriending and impressing some engineers so you get a referral.

There maybe god level engineers who are stuck at junior levels because they simply don’t know how to fit into the gears of the hierarchy. If you want to get promoted your relationships and trust with the management chain is as important as the quality of your work.

Don’t buy into the official stories about systems and processes work. Learn how they actually do.

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

#183

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…

> if I forgot how to write binary search The binary search algorithm isn't something you can "forget". For a literate programmer it's like forgetting how to write the letter 'A' or forgetting which pedal is the gas and which is the brakes.

How often are you writing binary search algorithms hahah, is it like your variant of a doodle?

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

#184

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 am similar (putting my WebGL games on my portfolio) and I've found it's actually a pretty good filter of employers for me. If they bring it up and are willing to have a discussion about it, it's always a good sign. There's a wide range of topics to talk about that can relate to the possibly more boring requirements of the job.

If they are dismissive of them, it tends to be an early sign that they are unable to think of things in a broader or alternate context. These are also the interviews that tend to have questions with right or wrong answers, even if the questions have multiple solutions and warrant discussion.

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

#185

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…

> if I forgot how to write binary search The binary search algorithm isn't something you can "forget". For a literate programmer it's like forgetting how to write the letter 'A' or forgetting which pedal is the gas and which is the brakes.

Well, but he said "forgot how to write binary search in 10 minutes". This came up here three months ago: "school was years ago...I've forgotten how to implement a hash table in C within 30 minutes. Is that really the gatekeeper we want?"

Well, I thought, yes, I think it is, actually? So I tried implementing a hash table in C—without testing it, as if I were writing it in an interview without programming tools. It took me 15 minutes and had a significant bug: https://news.ycombinator.com/item?id=26593250

I concluded that implementing a hash table in C in 30 minutes is a reasonable thing to ask someone to try during an interview, and how people work on it will probably tell you a lot about their programming abilities. I wouldn't hire them for a C programming job if they said "school was years ago, I've forgotten", but you shouldn't necessarily expect them to succeed flawlessly.

Binary search in particular is notoriously tricky. It's easy to explain the idea in a lot less than 10 minutes, and it's easy to write a version of the code that sometimes works in less than 10 minutes, something like

   bs(k, a, i, j)
   {
     int m = (i+j)/2;
     return a[m] == k ? m :
            a[m]  
But it's easy for the algorithm to hide subtle bugs. That version has at least one type error (in modern C, anyway), one obvious correctness bug, at least one obvious performance bug, and probably some subtle correctness bugs as well. Many years passed between the first publication of a binary search algorithm and the first publication of a correct one.

Also, though, there are lots of kinds of programmers. You can spend a lot of time writing screen-scrapers or CRUD or machine learning models in Python without ever needing to implement binary search. In Python you should probably just use the bisect module in practice, most of the time, rather than reimplementing it.

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

#186
post #183

Earlier quoted context omitted.

> if I forgot how to write binary search The binary search algorithm isn't something you can "forget". For a literate programmer it's like forgetting how to write the letter 'A' or forgetting which pedal is the gas and which is the brakes.

How often are you writing binary search algorithms hahah, is it like your variant of a doodle?

For me it is! It's one of my standard exercises when I'm sketching out a new programming language: what does binary search look like in this language? How general is it? http://canonical.org/~kragen/sw/dev3/paperalgo#addtoc_23

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

#187
You'll miss out on a whole range of engineers that have a life outside of work (which also brings some balance and maturity to the job), and therefore have no time (or inclination) to groom a public presence on the internet. Raising a family, going cycling, volunteering, reading books - these are all more valuable insights into a candidate for me, more so than your retweets.

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

#188
post #154

Earlier quoted context omitted.

For a pure engineering role things like credits at large companies, online talks, side projects, etc. are all really great ways to get an interview. I can't really remember the last time I was turned down for an interview. You're totally right about the other part though. I've lost a lot of jobs I think I could have been great at because I'm really bad at whiteboard coding interviews.

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…

I am an individual contributor and technical leader with multiple degrees in computer science engineering, and about 15 years of experience working on safety critical real-time embedded systems. I've interviewed many hundreds of people for software engineering roles over the years. The majority of people that apply for software engineering roles are simply not a great fit. Onsite interviews are very expensive in terms of engineering time, so as a company we try to vet coding ability via phone interviews and no-time-limit coding challenges. If we do ask a whiteboard coding question, it's because there were potential red flags earlier on in the process. When someone gets rejected after an on-site interview panel, it's either because they flopped multiple interviews, or were mediocre across all interviews. There's detailed notes individually typed up by each interviewer, and you can typically see common themes emerge across the various sessions.

"This person seems really sharp, and their questions were very insightful!"

"They really focused on testing more than the typical applicant."

"I tried giving them a hint four different ways, but they just wouldn't take it. When I explicitly explained what I was looking for, they agreed with me, but I couldn't tell if they actually understood."

"Their solution seemed a lot more complicated than necessary, and had a bunch of unhandled edge cases as a result. Every time I pointed out an edge case, they added another branch rather than fixing the underlying structural problems."

"Several times when I asked a question, they deflected or answered something else, or assumed I was implying something and continued writing more nonsensical code."

Also, many people people tend to attribute a lot of value to their personal/hobby projects. They're certainly very cool and fun to chat about, but it's very rare for projects to be novel in a way that sets you apart when being considered for serious engineering projects. At work we develop UAVs. Your hobby grade FPV quadcopter is totally sweet, but it isn't going to get you an interview. If you built a hardware-in-the-loop testbed for your quadcopter, then let's talk!

"Output" in particular is a funny thing to gauge in software engineering. I'll sometimes go a month without writing a single line of production code. My favorite PRs delete more lines of code than they add. A more junior coworker will have bloody fingertips from coding around a problem for days, and then I'll ask a relatively dumb question about what they're trying to do, they'll think for a minute, and then delete 1000 lines of code and replace it with 50 because they were making incorrect assumptions. It's not just individual productivity that matters, but also team productivity.

"Creativity" is also a funny thing. Within embedded software, the most elegant solution is the most boring one. Any time someone does something creative, there better be an extensive unit test for it, because otherwise it's definitely going to be buggy. With wisdom, discipline and creativity all together one can build more sophisticated and complex systems than otherwise, and that's highly valuable. Lacking wisdom or discipline, though, creativity does indeed become a liability.

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

#189

Earlier quoted context omitted.

Some Doctors publish research, and put that on their resumes.

Doctors are also licensed for their specialty by a medical board.

Yes but at some point there will be a position such as 'senior doctor of whatever' and having a medical licence would be taken as a given, and yet there will be some competition for that place.

I don't know really if these discussions are around hiring for your average SE role or something more specific though.

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

#190

Earlier quoted context omitted.

Most small companies copy the bureaucratic hiring processes of the larger ones at this point.

I'll never understand why business owners want to fail so badly. The principal advantage of small business is that you can happily ignore bureaucracy when it makes sense to. Some of our best employees are the ones who came in with the fewest credentials and the most to prove. There is no candidate I would refuse purely on the grounds of credentials. We are much more interested in side projects and work ethic than for…

>I'll never understand why business owners want to fail so badly. The principal advantage of small business is that you can happily ignore bureaucracy when it makes sense to.

But how are you meant to know "when it makes sense to"? I imagine that lots of small businesses are run by owners who don't necessarily have the confidence to strike a new path in every facet of the business. If you're investing a lot of time and effort innovating on your product/service, it can also make sense to import a tried-and-tested hiring model wholesale from somewhere else.

Of course, in a less generous sense that could be maligned as "cargo-culting", but if at the end of the day the planes show up (you make good-enough hires), you're not going waste time introspecting on the process.

Post reply on HN