Live data from Hacker News

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

zef.me

231–240 of 268 posts

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

#231
post #70

This is what really irks me about the industry as a whole. Large companies like Facebook and Google have hiring processes in place that aim to weed out the strong from the weak by making them solve complex algorithmic puzzles and solve them on a whiteboard, and for larger companies like Facebook or Google who have massive troves of data, this kind of makes sense to me, but only if you're hiring a programmer to work w…

RegEx is just ludicrous a general requirement to "program" as anything else. I've never particularly wanted it to write the mathematical models I work with. I can think of just a single instance where I've used one in the last year and that was to display integers as ordinal numbers (hardly a sizeable task). Every job needs a spec. Every spec should inform the interviewer and the interviewee of the skills and compete…

I would agree that the minimum requirement should only include relevant data. However, you never know when a skill might be handy (especially if you don't have that skill), and having a broad base seems like it would be beneficial as well. Perhaps allow for people to demonstrate their bonus competencies, and strive for a diversity of auxiliary skills across teams?

Interestingly, my father, who is an applied mathematician, recently requested my help to understand regex and their relation to NFAs to help him with a mathematically related programming task.

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

#232

Earlier quoted context omitted.

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…

As the author of said book who has coached MANY people, I can assure you that many - heck, most developers - could not pass a Google interview regardless of how much they prepared. They'll get better with preparation, but it doesn't just fix all issues.

Gayle,

Don't get me wrong. I made it through the Amazon interviews thanks to your book. I spent a week reading through and cranking out examples before the interview. Then I spewed out all of the desirable answers at each step of the interview process.

Now I'm a highly experienced developer with 15+ years experience across a variety of technologies. I contribute to open source, answer questions on Stack Overflow, present at technical meet ups. I solve problems that need solving even when no one else will step up.

Despite all of my experience, implementing hashes and sorting linked lists in place, as well as many of the other questions asked by these companies just don't come up on a daily basis. A good developer isn't someone who can explain those things in an interview, it is someone that can examine the problem and design a solution. They should have an idea of the tools necessary and then reach for the right book or use a healthy dose of google searching some api docs to build the solution.

The current interviewing techniques are broken. I would like to offer the solution, but quite frankly I've spent plenty of time interviewing people and we haven't gotten it down yet either.

-------

The ideas Malcolm Gladwell discusses in, "Blink: The Power of Thinking Without Thinking", applies here. Some of the most experienced developers will have an intuition for how best to implement a solution, this does not necessarily translate to them being able to well articulate the why and how.

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

#233

Earlier quoted context omitted.

And then people don't know where impostor syndrome come from... With a lot of BS being spewed on the net like "everybody needs to know how to unit test", "everybody should learn how to use Vagrant", "everybody should know Ruby", "knowing the SOLID principles is essential" And then you ask them how to write a regular expression and they fall flat on their face. Or the basics of how to do a Fourier transform. Or how to…

You realize that regexes, fft and canvas APIs can be seen as the same kind of thing - as simply tools - as unit tests, Ruby and SOLID (whatever that is)? Some tools are usable in more contexts, but you can still lead a perfectly healthy life if you are in a domain where the ones you don't know are not needed.

SOLID is a set of (possibly questionable) religious principles often espoused by OOP programmers. It tends to boil down to "keep things modular and don't break abstractions", with specifics guidelines for dealing with objects and inheritance.

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

#234
I love puzzles. I love to ask people who were just interviewed to tell me all about any puzzles they got, and try to see how long it takes me to work them out. I feel fairly confident that I have a knack for them.

But it isn't actually a good interview strategy. I don't think any company should hire me over someone else due to puzzle solving. If I were to do an interview, I would probably leave out puzzles entirely.

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

#235

>Four people need to cross a rickety bridge at night. Unfortunately, they have only one torch and the bridge is too dangerous to cross without one. The bridge is only strong enough to support two people at a time. Not all people take the same time to cross the bridge. Times for each person: 1 min, 2 mins, 7 mins and 10 mins. What is the shortest time needed for all four of them to cross the bridge? 17 minutes, if you…

I think the purpose of the puzzle is one of resource management. It's not a hard puzzle, and I think that it's too easy to try to overthink it to sound smart, like you've done. The reasonable assumption is that the four people are on one side of the bridge, and you want to have them all on the other side of the bridge. The simple answer is that the person that takes 1 minute to cross goes with all of the other people…

> So 10 minutes, 1 back, 7 minutes, 1 back, 2 minutes. Total of 20 minutes.

21 minutes.

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

#236
I don't write programs because I like solving puzzles. I write them because I like creating things, and it's a lot easier to create things with programs than with a machine shop.

I also enjoy the competition with other compiler/language vendors to produce a better product.

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

#238

Best stick to the shallow end of the pool if you can't swim. Do you program? Then you are a programmer. However, in some circles, where extremely complex problems need to be solved, they would say, " No ", because you can't do any of the programming required, and you'd be as useful to them as a rock, only less useful because you take air and food. I play volleyball occasionally, but if I went to the olympic men's tea…

I have to admit, I don't understand what you are trying to say. Are you saying puzzles are somehow the higher level of programming? You are completely wrong.

I don't think puzzles is a higher level of programming anymore then running is a higher form of walking.

However if I see that you can run chances are you can likely walk as well.

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

#239
post #62

> I’ve been programming for 18 years now. Then congratulations, you are a programmer! Despite what you'll hear from people peddling various flavors of Kool-Aid, "programmer" isn't a personality type. It's a job description. If you program, you are a programmer, end of line, full stop. Don't let anyone convince you otherwise.

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.

By discovering puzzles you are still a programmer, and you are a better programmer for it. Make no mistake. Yes you don't need to know algorithms to be a programmer, but you are better programmer for knowing the algorithms.

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

#240

I don't write programs because I like solving puzzles. I write them because I like creating things, and it's a lot easier to create things with programs than with a machine shop. I also enjoy the competition with other compiler/language vendors to produce a better product.

> I write them because I like creating things, and it's a >lot easier to create things with programs than with a machine shop.

Exactly. This is one of the main reasons for me as well - creating things without buying or manufacturing physical materials.

Post reply on HN