News for hackers. Stuff that matters.
Re:Common Mistakes When Hiring Software Engineers by kenhwang on Tuesday March 05, 2019 @03:39PM (#19314016)
This might be an unpopular opinion, but I wouldn't want to work at a company that doesn't value whiteboarding or doesn't know how to conduct a whiteboard interview. Whiteboards are excellent tools for conveying abstract ideas, and physically, they're easier to collaborate on. Pen and paper is difficult to observe and contribute as a collaborator; so me, that feels more like I'm proctoring an exam instead of doodling with a candidate. If I wanted to proctor an exam that's an approximation of the work environment, I'd just ask you to bring in a laptop and HDMI dongle.

During an on-site, I'm very much evaluating abstract and interpersonal skills. I'm evaluating how well they communicate, how well our personalities mesh when collaborating, and how well they solve our engineering problems. I'm not evaluating how well they can code; they've already been screened for that before the on-site, typically on a Coderpad in the comfort of their own home with whatever language, tools, and resources they prefer.

Re:Common Mistakes When Hiring Software Engineers by shados on Tuesday March 05, 2019 @03:46PM (#19314069)
Whiteboarding is definitely an important skill...just not writing code on a whiteboard :) Drawing boxes and arrows however? Totally different story.
Re:Common Mistakes When Hiring Software Engineers by drugme on Tuesday March 05, 2019 @04:30PM (#19314429)
This might be an unpopular opinion, but I wouldn't want to work at a company that doesn't value whiteboarding or doesn't know how to conduct a whiteboard interview.

Popular or not -- objectively speaking, this reflects a rather skewed sense of priorities.

I can think of a huge list of make-or-break attributes for a potential working environment - for example:

- Do they value code as craft (like really, at all?)

- Does their business make sense -- both from the money-making perspective and as something I can see myself contributing 70 percent of may waking hours to for many years on end?

- Are they... nice? Jerks? Ego cases? Is it possible to have a normal, adult conversation about whether X is a good idea (without it turning into arm wrestling or "it is because Y said so"-type discussions)?

- Down to finer points like actual working conditions, tooling, and a minimal degree of sanity with respect to time off + vacations.

In this context -- "Are they well-versed in the finer points of whiteboarding?" doesn't even remotely figure into that list.

Re:Common Mistakes When Hiring Software Engineers by intuitionist on Tuesday March 05, 2019 @03:46PM (#19314070)
Whiteboards are great; the small company I work for currently has a whiteboard for every two engineers. “Whiteboard interviewing” is an unfortunate metonym for making candidates solve tricky CTCI-style questions on a whiteboard with no help.
Re:Common Mistakes When Hiring Software Engineers by pixelrevision on Tuesday March 05, 2019 @04:12PM (#19314296)
I think this is a really important distinction. A whiteboard is a good place to draw out a system design and inform the whole room how the pieces need to fit together. It is an important skill as a developer once you get to a certain point and is not a bad thing to ask a candidate to do.

Asking to come up with a recursive pathing algorithm for your custom tree implementation in c on a whiteboard when they are applying for a ruby job maybe not so much....

Re:Common Mistakes When Hiring Software Engineers by kenhwang on Tuesday March 05, 2019 @03:57PM (#19314170)
CTCI-style questions on a whiteboard without any interaction from the interviewer is definitely a big red flag. Most of our whiteboard questions are solvable with simple if-statements, loops, and basic data structures; boxes and arrows are also appropriate if you communicate what's being abstracted away.
Re:Common Mistakes When Hiring Software Engineers by JohnFen on Tuesday March 05, 2019 @03:55PM (#19314150)
> I wouldn't want to work at a company that doesn't value whiteboarding or doesn't know how to conduct a whiteboard interview.

But using the whiteboard as an interview technique is a terrible idea. It's not representative of the work that the candidate would be doing, and it doesn't give the interviewer much in terms of useful information about the abilities of the candidate.

Re:Common Mistakes When Hiring Software Engineers by alangpierce on Tuesday March 05, 2019 @04:28PM (#19314422)
> It's not representative of the work that the candidate would be doing

I have absolutely used whiteboards on the job at every software job I've had. Collaboratively brainstorming a system design, working through examples, and conceptual context shares all work much better in a whiteboard environment than pretty much any other environment that I know. I get that it's good to cater to introverts, but I don't think that means it's unreasonable to expect someone to present ideas and collaborate while on the job.

It's fine to criticize whiteboard coding as unrealistic, but the author is saying that whiteboard-based interviews as a whole are "social ignorance and intellectual dick-waving". (Technically they just used the term "whiteboarding" without defining it, but I think if they meant "whiteboard coding", the article needs to be more specific about that.)

Re:Common Mistakes When Hiring Software Engineers by ngngngng on Tuesday March 05, 2019 @03:59PM (#19314187)
What if you keep that in mind though? For example, I believe myself to be TERRIBLE at brain teaser type questions, especially in interviews. Keeping this in mind while interviewing candidates, I can still learn many useful things.

Does this person ask good questions? Do they respond to my hints well? Do they give up easily?

Re:Common Mistakes When Hiring Software Engineers by gomez9 on Tuesday March 05, 2019 @04:18PM (#19314348)
Problem with a whiteboard is that once you start writing, you are almost committed to your initial attempt. You cannot copy/paste and move bits of logic around. Left out an if(xyz)... conditional? Well then hopefully you've spaced out your code so that you can sneak extra pieces in as you work your way through it. I would much rather solve a problem on a laptop hooked up to a projector.