Live data from Hacker News

Dear Programming Job Applicants (2010)

joshcarter.com

71–80 of 199 posts

Re: Dear Programming Job Applicants (2010)

#71
post #3

> So, your code isn’t working, what do you do? Stare blankly at the monitor? This always gets me. When the interviewer asks a question, the correct answer is literally never, “let me think about it quietly for a moment”. This is one of the disconnects between interview programming and real programming people get frustrated over.

When I interview people, and they get stuck on a programming problem like this, I tell them "it is completely acceptable for you to show me your Google fu to overcome this problem". Google-fu is just as important a skill as knowing how to exit vi.

What's a fu?

Re: Dear Programming Job Applicants (2010)

#72
post #30

Earlier quoted context omitted.

It’s kind of weird to NOT know basic vi/vim if you get to a certain point in your career. If you can’t at least open the software, go into insert mode, and save/quit, have you ever had to ssh into a remote server and edit a config file before? Only excuse I could think of is if you literally did everything in windows for your entire career.

What's wrong with using nano for that?

vi is enshrined in POSIX; nano isn't.

Re: Dear Programming Job Applicants (2010)

#73
post #64

Earlier quoted context omitted.

> - "Let's see if you can do Fizz Buzz!" Yes, exactly. I'd like to verify that you can string a few lines of code together to solve a trivially simple problem. This is not an unreasonable ask, and I really don't care how impressive your CV is. If you can't solve fizzbuzz you're not going to be able to solve any of the much more complicated problems we wrestle with on a day to day basis.

It's such a simple task, but in reality it's a fantastic way to weed out those that really don't have a clue what they're doing. Saves a lot of time interviewing.

...unless the person you are interviewing decides you are childish, immediately walks away and doesn't respond to your mail ever again, and your business goes belly up as you can't find anyone on the market with the skills that person was bringing, essential to your business. Frankly, not sure why anyone competent in the current climate should take you seriously if you attempted that.

It's equivalent to asking a partner of another law company you want to join you what were the most important things that happened in 1753 and then rejecting them because they didn't know.

Re: Dear Programming Job Applicants (2010)

#74

"I'll spend hours brushing up on Scheme just to test you on something completely irrelevant to the role just because I like playing Resumé Gotcha". Yeah that's a thanks but no thanks from me. I wouldn't work for this guy in a thousand years.

I think the problem is that programmers have been taught to list every language and tech they have used on order to pass through HR. So, for example, when I was a student I wrote a ton of c# code. I’d be inclined to put that on a resume. But if they then asked me to code something in the language, it would certainly go poorly due to rust. Heck, I was a TA for a course where we taught lisp, but that doesn’t mean I can just start coding.

But if it’s listed as a job requirement, sure start quizzing.

Re: Dear Programming Job Applicants (2010)

#75
post #16

Most of this is good, but one real WTF: "Editor Flailing It’s funny how many people can’t edit text on any machine but their own. I tend to interview people on a laptop running Ubuntu, and I open gedit for them to use, with the offer that they can use any other Unix editor they like. Most can barely navigate gedit, and it’s stupid simple. Don’t ever let yourself get hung up on the editor. If you can’t figure out the…

This is a great reason to learn vi for basic editing tasks. It's everywhere. Even if you typically use a different editor/ide, vi is a common ground. Disclosure: I'm an emacs user

Pity I cant upvote you more than once, everyone who works on a unix system should know the basics of vi.

And I would argue that you could apply that to all programmers

Re: Dear Programming Job Applicants (2010)

#76
post #71

Earlier quoted context omitted.

When I interview people, and they get stuck on a programming problem like this, I tell them "it is completely acceptable for you to show me your Google fu to overcome this problem". Google-fu is just as important a skill as knowing how to exit vi.

What's a fu?

It's like "kung fu" but for Google (or whatever). It's meant to imply mastery of some technique.

Re: Dear Programming Job Applicants (2010)

#77
post #3

> So, your code isn’t working, what do you do? Stare blankly at the monitor? This always gets me. When the interviewer asks a question, the correct answer is literally never, “let me think about it quietly for a moment”. This is one of the disconnects between interview programming and real programming people get frustrated over.

Actually, in an interview situation, "Let me think about that for a minute." followed by 120 seconds of silence, followed by a solid answer is a GREAT response.

That's different from when the candidate is asked a question and they literally just become silent, with a "deer in the headlights" expression.

Re: Dear Programming Job Applicants (2010)

#78
post #69

Earlier quoted context omitted.

It's a very easy way to find the 0.5x engineer. But I agree, it should not be a show stopper. (Emacs and vscode user here)

I believe todays programming field is vast enough that you can actually have a really good engineer that never needed to touch a command line editor. An iOS or android developer with 8 years of experience for example. Other front-end positions too. I love vi and set it as editing mode everywhere, nevertheless I accept that it might not be something people actively seek. If I was looking for a unix server admin then I…

not for realy good Engineer in my book.

Re: Dear Programming Job Applicants (2010)

#79
Something I don’t see enough of is developers who have a lot of recent interview experience (as an interviewee) being the interviewer. These devs are inevitably contractors so they are rarely chosen to be the interviewer in a company. Rather, the team lead who has been there for years is chosen. The thing is, as a person who has a lot of experience at being interviewed, I know the mistakes that interviewers make and they never get to learn this information. An candidate gets to correct their mistakes and become better at the interview process in preparation for the next one they do. An interviewer learns, 3 months down the line, that they have made some mistake but never learn what went wrong.

Here are some common mistakes that interviewers make:

1. Not testing the candidate’s argumentative skills. The interviewer should take a questionable stance on a topic and see how the candidate argues their point.

2. Never testing a candidate’s ability to read and understand code. Without this skill a candidate is more likely to reject your team’s existing code base and rewrite things from scratch. Instead of asking them to implement an algorithm (which, btw, they already may have practice doing - making the test pointless) get them to read a lot of regular code. Not a complex algorithm but something that spans multiple files and is quite large. It could be your codebase or something you found on GitHub. “Tell me what this does” “Tell me what you think is wrong with this code” “How would you change it?”. Being able to read code and write it are two separate skills and both need to be tested in the interview.

3. Making the candidate feel uncomfortable. For example, two interviewers against one candidate could make certain devs uncomfortable. Why is this important? A developer is going to get settled in the team at some point and feel comfortable. Wouldn’t you rather test them in that state rather than a state they would rarely be in? Unfamiliar text editors, interviewers watching you code; these are further examples. Sure, some devs are unfazed but others are, and they may be good devs that an interviewer is chucking away.

3. The interview should always involve a tech test and I strongly believe that the candidate should be left alone to do the test. However, this depends on how pair-programmer heavy the team is. Regardless, the most important part comes later when going through the results. So many interviewers miss the opportunity to question the interviewee on what they have written. It can be quite distracting if the interviewer is constantly picking through the code as it is being written.

4. Not going through the candidates cv during the interview. This should happen first and is part of the prep that an interviewer should make. As boring and full of exaggerations as other people’s CVs sometimes are, it is a good way to increase the confidence of the candidate so that the interviewer can get the most out of them for the rest of the interview.

Re: Dear Programming Job Applicants (2010)

#80
post #38
post #10

- "Hey, I worked at FAANG or better, creating latest super-duper tech you use daily, was featured on TV, got multiple awards etc." - "Let's see if you can do Fizz Buzz!"

Well, if you are a good programmer then getting a Fizz Buzz on the interview is a jackpot no? It seems weird that half of the complaints about tech interviews is that they are too easy and the other half is that they are too tedious (I know that these are not mutually exclusive). The one alternative I see is to give one, really hard problem to people, but then the complaints about difficulty would come.

It's like telling the candidate "we are a bunch of idiots that don't appreciate your time, we are infantile and joyous about it, and in this place we don't really solve anything interesting as we have time for these stupid tasks."
Post reply on HN