Live data from Hacker News

The dispassionate developer

blog.ploeh.dk

251–260 of 262 posts

Re: The dispassionate developer

#251

Earlier quoted context omitted.

Our take-home obviously isn't a trade secret, so we have three trivial problems in ours: 1. Write code that takes in a rectangle, coordinate, and distance, and tells if that coordinate is within the distance of the rectangle. 2. Determine whether a string has permutations which are palindromes. (I'm of the opinion this one is too simple, but it's been fascinating seeing what mental gymnastics some developers will go…

> 1. Write code that takes in a rectangle, coordinate, and distance, and tells if that coordinate is within the distance of the rectangle. Distance from the center of the rectangle? Easy. From the closest corner? Easy. From the closest point on the rectangle? I'm not clear how to do this. And will the sides of the rectangle be parallel to the x and y axes?

Break it down into cases. Is the coordinate closest to a corner, or to some point on an edge? You can determine that without actually working out any distance - play around with pen and paper and hopefully that will become clear. Then calculate the distance to either the relevant corner, or the relevant edge.

It's easiest to think about an axis-aligned rectangle, and you can convert any problem to have an axis-aligned rectangle by rotating everything.

Re: The dispassionate developer

#252
post #160

Earlier quoted context omitted.

> we've had many people in the past who've interviewed very well but turned out to be completely incompetent when assigned to a real project. Unpopular opinion on HN: This is actually quite common when you hire based purely on resumes or credentials. Some people are really good at interviewing and being charismatic enough to convince people to hire them. There are a lot of candidates who can talk the talk but really…

Although, if you wanted them to do a longer project, Basecamp’s method where they pay the applicant to do the project seems like a good way to do it. And you’ll get the most complete picture of their expertise (of course, you wouldn’t want to do this until the last step of the process).

This can get sticky with employee contracts, that may (and likely do) forbid an employee from doing contract work for another company, at least without permission.

Re: The dispassionate developer

#253
post #113

Earlier quoted context omitted.

All skills to take time to develop, well said. I am confident that looking at how a candidate interviews will no doubt show the fruits of that time spent without weighting too much the time spent, regardless of whether that time spent comes from contributing to open source, from their full time job, or just studying and honing their skills efficiently under harsher time constraints. We don't want people to target the…

>We don't want people to target the metric of "time spend coding on OSS projects" do we? Nobody said that we did. This is about ignoring OSS contributions vs. reading them taking them into account - i.e. deliberately ignoring a signal of quality because it might, for instance, discriminate against people who chose to have kids. I find it particularly ironic coz part of the reason I wrote open source was to save time…

We OSS contributors with kids are in the worst spot! :)

Re: The dispassionate developer

#254
post #251

Earlier quoted context omitted.

> 1. Write code that takes in a rectangle, coordinate, and distance, and tells if that coordinate is within the distance of the rectangle. Distance from the center of the rectangle? Easy. From the closest corner? Easy. From the closest point on the rectangle? I'm not clear how to do this. And will the sides of the rectangle be parallel to the x and y axes?

Break it down into cases. Is the coordinate closest to a corner, or to some point on an edge? You can determine that without actually working out any distance - play around with pen and paper and hopefully that will become clear. Then calculate the distance to either the relevant corner, or the relevant edge. It's easiest to think about an axis-aligned rectangle, and you can convert any problem to have an axis-aligne…

I see. Thanks!

Quite a few pitfalls there, though. If I was doing computer graphics often, the geometry wouldn't be a problem I guess. But I've not done any such thing in decades.

If the job needs the geometry, then it might be a useful question to ask.

Re: The dispassionate developer

#255
post #245

Earlier quoted context omitted.

Ever been to an onsite interview? It'll take you the same amount of time. Or longer. While being far higher pressure. And probably involve writing code on a whiteboard instead of an IDE.

Does a take home eliminate the onsite interview? Or is it just additional time?

Even if it is additional, it's not consecutive. The OP merely said 4 hours seemed like a long time. My point was not that this 4 hour block would or wouldn't obviate the need for the other; just that the other means 4 hour blocks are standard.

Re: The dispassionate developer

#256
post #85

Earlier quoted context omitted.

> we've had many people in the past who've interviewed very well but turned out to be completely incompetent when assigned to a real project. Unpopular opinion on HN: This is actually quite common when you hire based purely on resumes or credentials. Some people are really good at interviewing and being charismatic enough to convince people to hire them. There are a lot of candidates who can talk the talk but really…

> Some people are really good at interviewing and being charismatic enough to convince people to hire them. Totally agreed. Traditional interview processes select for people who are good talkers. That doesn't correlate well with technical skill: you over-hire glib people and under-hire people who aren't. E.g., the shy, awkward, and anxiety-prone. When I run an interview process, I focus on making it as much like real…

>Traditional interview processes select for people who are good talkers. That doesn't correlate well with technical skill: you over-hire glib people and under-hire people who aren't. E.g., the shy, awkward, and anxiety-prone.

This is true: but "technical skill" is not the ONLY hiring criteria that should be considered. (I say this as a fairly shy, awkward and anxiety-prone person, who has had his share of interviews-gone-wrong).

I'd posit that you DO want to hire people who are good talkers, and are glib. They help build teams. They help with information flow. The greatest ideas in the world are worthless if they can't be executed by a team that doesn't understand them, and the person who came up with it can't communicate that idea effectively. One might say that that is what code is for. But that's not true. If code were to communicate between the developer and the machine, we'd all be writing in machine language. Code is a communication tool for developers to collaboratively tell the machine what to do. And that has to be supplemented by human, interpersonal skills. (especially when you have collaborators who are not coders, like business and finance people who organize the teams and manage projects and programs).

I like that you focus on pair programming. One horribly toxic factor I see at way too many places is where management pits programmers against each other like it's some kind of competitive sport, and collaboration is frowned upon because "if you can't figure it out by yourself, you're a burden on the rest of us".

Re: The dispassionate developer

#257
post #16

Earlier quoted context omitted.

Taking that a step further, we often actively discourage looking at OSS contributions during resume review for the same reason we don't offer take home interview assignments: it's biased against people who don't have a whole lot of extra time at home. When we have done either of the above, the singles who work part time have a bunch of time to perfect their work suddenly have a lot to show over the single parents who…

How do you interview people who are changing industries then? The only way a cook or a librarian can get out of that and into software could very well be side projects and open source contributions. With your heuristics, you'd only consider their cooking experience and say "well that's not software" and pass.

Specifically I don't hire entry level people, so that hasn't been an issue. But if I did, I would likely look at projects and such, general aptitude, etc. because that's all there is.

Re: The dispassionate developer

#258
post #51
post #16

Earlier quoted context omitted.

Taking that a step further, we often actively discourage looking at OSS contributions during resume review for the same reason we don't offer take home interview assignments: it's biased against people who don't have a whole lot of extra time at home. When we have done either of the above, the singles who work part time have a bunch of time to perfect their work suddenly have a lot to show over the single parents who…

>I say "often" because OSS contributions can still be an indicator of something, but it's not really clear what. It's a fairly clear signal of skill quality and attitude. Reading open source commits/PRs and issue trackers tells you quite a lot about a developer which you can't see without some sort of a test (often not even then). >it's biased against people who don't have the time Surely any career that requires a h…

You need time.

A full time job and small children for example don't leave much space for extended coding sessions on side projects, unless you're lucky enough to need little sleep.

I've worked around this by learning at my day job : read books/papers at home (this is relaxing), and look for opportunities to apply this knowledge at the office. Unfortunately, it stays at the office though, and can't be shown as proof of your skills outside of the company.

Re: The dispassionate developer

#260
post #242

Earlier quoted context omitted.

So I am married with kids and I have two separate careers in unrelated industries to balance, only one of which is full time though. Still I find time to spend with the wife and kids and I still contribute daily to open source. It is all about budgeting and balance. What are you willing to sacrifice. I don't have social time outside the family and I don't watch much television unless I am traveling away from the fami…

Does your wife do all the cooking, housework and childrearing?

My wife works a part time job and chooses to do most of the cooking. She does most of the laundry but other house hold chores are spread out amongst everyone including the children.
Post reply on HN