Live data from Hacker News

I Hate Puzzles: Am I Still a Programmer? (2011)

zef.me

181–190 of 268 posts

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#181

Definitively: Yes! Everyone has their own preferences. Like you, I lose interest in puzzles after a few minutes. Whatever it is that gives some people great satisfaction out of finding that one missing piece, I didn't get it. I can't speak to your experience, but for me, I like architecture. Finding the right way to glue pieces together is actually very interesting to me. I basically implemented reflection in C++ bef…

I don't think you can determine what kind of SE/CS you have by whether or not they enjoy (tabletop) puzzles.

I have always enjoyed puzzles (although I rarely do them)--I think it's a part of something greater. I like to complete all the achievements in games. I like checking off tasks in task lists. I like cleaning my plate at dinner.

They all feel the same to me, and have little to do with how I operate as a computer programmer (speaking as a web application developer).

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#183
post #68
post #62

Earlier quoted context omitted.

Once upon a time I was a programmer, building CRUD apps for enterprises. I hated puzzles, too. Then I discovered quicksort, and graph search, and Bayesian inference, and Dijkstra, and Karatsuba. I'm still a programmer, but now I love puzzles, too.

> Then I discovered quicksort, and graph search, and Bayesian inference, and Dijkstra, and Karatsuba. I would guess most "discovered" those because they had to interview. The % of programmers who need to Karatsuba or Bayesian inference to finish their project is very much smaller than the % of programmers who thought "oh shit, I better learn this because Google and Facebook keep asking about graph theory". It it is p…

So true; the Google, Facebook, Microsoft, Fill in Here puzzle interviews are pretty silly. Rather than splitting people into groups of "good developers" and "bad developers" they can really be split up into these two categories.

1) People who read Cracking the Coding Interview 2) People who haven't heard of this book.

http://www.amazon.com/Cracking-Coding-Interview-Programming-...

Seriously; any competent programmer can crank through the stuff in that book in a week or two and be solid for the types of silly questions they will be asked in those interviews.

Honestly the best interview I ever had was one where I interviewed with a highly technical IT director and it was just very conversational. We spent about two hours of just chatting about the different types of technologies we had been working with and kept diving deeper and deeper into knowledge areas. At the end of it he just says, "Ok, you are obviously a smart guy; I'm going to send you over to see the VP now so you two can discuss salary requirements."

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#185
post #7

Google and Facebook long ago stopped asking (or at least now they discourage their interviewers from asking) puzzle-like questions in their SWE interviews.

They stopped asking brainteasers, they didn't stop asking algorithmic puzzles (some of which are arguably brainteasers)

...and which seem to largely be collected in the book Cracking the Coding Interview [1]. If you can answer all of their sample questions, you should do fine at a Google interview -- once your brain is used to the task of solving small algorithmic problems, it should get easier, even if the precise question they ask isn't in that book.

Easy for me to say, since I find problems like those easy; I cranked through a few dozen of them with only having to really think about a couple.

If you can't answer them all yet...well, now you have something specific to study.

[1] http://www.amazon.com/Cracking-Coding-Interview-Programming-...

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#186
post #68

Earlier quoted context omitted.

> Then I discovered quicksort, and graph search, and Bayesian inference, and Dijkstra, and Karatsuba. I would guess most "discovered" those because they had to interview. The % of programmers who need to Karatsuba or Bayesian inference to finish their project is very much smaller than the % of programmers who thought "oh shit, I better learn this because Google and Facebook keep asking about graph theory". It it is p…

I distinguish between two types of puzzles: human-made (which I call puzzles) and everything else (which I call problems.) In those terms, I hate puzzles and love problems. Puzzles are contrived by humans and are generally as much psychology problems as anything else. They basically require you to think like the human who created them, and they have bizarre and arbitrary constraints that are totally unlike the real w…

I agree so much and I'm going to adopt your terminology :)

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#188
post #102

> Could you please solve this algorithmic puzzle within half an hour? I failed. Hiring decision made. End of story. If that alone was the reason, then your interviewer did a bad job. The point isn't to trick you. It's to see how you work under pressure when presented with a tough problem. What is your thought process? Do you dive right in or do you take time to chew on it? What parts of your background can you draw o…

>>>If that alone was the reason, then your interviewer did a bad job. Then most, if not all these of recruiters are bad. I like to think through things and take time solving problems. If I see myself doing something and struggling to complete it, I haven't thought it out properly or I have rushed into the problem. Some people will call you "slow" which I find insulting. For example, When I read a book I like to read…

I like taking my time too. The best solutions come to me after days or weeks of chewing on the problem in the back of my head.

Experienced interviewers know that this is how people solve problems. They know that time-boxing the problem is artificial, so they're not exactly evaluating you on how fast or slow you are within that time. The problems should be constructed in a way that lets them evaluate you based on your approach instead of on your solution.

Sometimes it's just a bad interview question, or not the right question for you, the interviewee. Which is why interviewing takes practice, time, and patience, from both sides of the hiring market. It's far from perfect, but more "puzzle"-like questions aren't entirely useless as long as the interviewer really knows what they're doing and how to guide the interviewee.

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#189
post #155

Earlier quoted context omitted.

I don't get why people tend to think that computer science is something different from "actual programming". In the end everything you can program can be expressed formally and vice-versa, the only thing that changes is how much you abstract from the actual implementation, which is handy in order to catch defects in the approach you are taking to certain problem.

The difference between computer science and programming is analogous to the difference between physics and architecture.

I would say engineering

Re: I Hate Puzzles: Am I Still a Programmer? (2011)

#190

Earlier quoted context omitted.

This. So much this. I'm a programmer who loves 'building the brain'. I've been coding professionally for about 16 years. I've written some code I'm really proud of. A couple of specific pieces of code are actually used in a LOT of major websites you probably use. Like almost every health care site or major retailer site. I actually find most code written by 'whiz' startups - even successful ones - to be incredibly si…

I agree. >>> I don't have a GitHub page, nor do I have an interest in having one. Glad I'm not the only one. >>> I don't care about hackathons or solving puzzles. Couldn't have been said any better. I never produce anything good when its tightly timed, under pressure, when people are watching over you. >>> I hate the term 'nerd' or 'geek'. I am neither and I find the terms insulting. Add "ninja", "guru", "rockstar" a…

I see this comment about "nerd", "geek", "ninja", etc. crop up a lot. These are solutions to the problem of "what term do we used to describe an excellent programmer, that both excellent programmers will identify with and other managers will emotionally relate to"? How would you solve that problem?
Post reply on HN