Live data from Hacker News

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

zef.me

51–60 of 268 posts

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

#51
post #11

The problem isn't with him, it's with programmers who have an inflated view of how smart you have to be to be a programmer. There are plenty of smart programmers, and there are plenty of problems that would benefit from smart programmers, but the vast majority of problems just need a spark of creativity and a lot of hard work from a person with a reasonable base of knowledge.

Whats more, I question the validity of equating smartness with puzzle solving abilities. It's a bit like equating quality work with having academic credential : no obvious link. Being able to discriminate the worker quality is still a non solved problem - at least not with number. Good judge of character are still way better at that - and well, they're pretty exceptional.

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

#52
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.

That's true. I think the OP is talking about puzzles in the more general sense (e.g. designing novel algorithms). It seems to me that it takes a specific type of mental state to enjoy theoretical CS and math, since much of your time there is spent banging your head against things until everything clicks into place.

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

#53
I think some of it comes from our notion of human intelligence being universally applicable to all problems. Puzzles and chess are often used as a proxy for that. The thinking goes is that if you're smart then you'll be good at puzzle solving. If you're smart then you'll be a good programmer. It's not really something that has a lot of evidence for. One of the best career advice I've received is to interview with lots of companies but do it in the order of least wanted job first so by the time you're interviewing for the job you really want, you have had lots of practice. It works pretty well. Puzzle solving and programming are both skills that you get good at with practice.

Someone else already commented that if you program then you're a programmer. I think that's really the only definition you should use. Everything else are just proxies, mostly bad ones, for if you're a good programmer or not.

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

#54
Interview questions you don't like/fail shouldn't be viewed as reflective of you, but reflective of your fit at that company.

They asked a puzzle-y question you couldn't solve? Either their problems are puzzle-y, or they have terrible criteria for evaluating people; either way, do you really want to work there?

They asked a hard algorithmic problem, the kind that was someone's PhD thesis 30 years ago, and which you'd only get the optimal result to if you'd seen it before? Either they really do expect you to know stuff like that off the top of your head, or they expect you to behave a certain way when confronted with stuff you don't know; either way, do you really want to work in an environment with those kinds of expectations?

They asked you to code something hard withing a short time limit, and while you can code it, you failed the time limit; do you really want to work somewhere where speed is -the- criteria to optimize, rather than quality/maintainability/whatever (or at least where they're selecting for that rather than those other attributes)?

Etc.

In general, as others have said, if you program, you're a programmer. What specific roles you're a fit for is largely orthogonal to that.

If you don't pass a company's test, view it as having dodged a bullet, not having 'failed'; either they expect you to have something from day one that you don't have, or they are terrible at testing for what they really want, and so their culture, codebase, etc, is likely miserable. In neither case do you want to work for them.

You want to work for a place whose expectations for what you have on day one fits what you actually have (whatever they may be), -and- whose interview process tests for that (even if it's a little flaky), so both you and they can expect, going into the job, that you can handle it.

Remember, too, that there are false positives and false negatives even when they're testing specifically for what they want. Failure to figure out a puzzle doesn't even mean the person isn't good at figuring out puzzles; just that in this case, in this contrived, high stress set of circumstances (an interview), they were unable to come up with an answer in the time limit.

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

#55
I really like certain types of puzzles - figuring out the causes of bugs, figuring out how to implement something in code cleanly and elegantly, figuring out how to make sure something is designed maintainably and intelligibly to spare future grief, figuring out the mysterious ways of programmers who wrote code I now maintain.

I also like figuring out and implementing the right algorithms for a problem, but it's a pretty small part of what I do at work, and if it's complex, it's something I like to take some time to think through and sometimes read up on to make sure I really understand what I'm getting into, so I really don't like playing the logic puzzle games they use in interviews at some places. Being quick with an algorithmic answer is a nice skill, but being a good programmer is a craft that involves more than cleverness with algorithms.

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

#56
It is well known that the ability to solve mathematical puzzles was used as a screening tool at places like Google to screen new hires. It seems to me that this practice was based on the belief that there was an affinity or correlation between the interest and ability to solve mathematical puzzles and programming. I suspect there is such a correlation, but it is a weak one and is not useful as a screen tool for hiring which is why the practice has been dropped. But, jigsaw puzzles are not mathematical puzzles, so there may be no correlation at all there. I love mathematical puzzles, but I am bored with jigsaw puzzles.

So, since it is not the case that loving jigsaw puzzles implies "ability and desire to be a programmer", then the fact that you hate jigsaw puzzles implies nothing with respect to your status as a programmer.

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

#57

> 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.

I think there are categories, and we haven't figured out what to call them yet or how to define them. I see archetypes emerging over the years, and patterns. I've worked with career programmers that are done at 5:00pm, and never crack a book. They work fine in their niche, and when layoff come, they're working tech support. I know others that love problems but can't seem to make their ideas become manifest, yet kludg…

The best programmer I've ever worked with is done at 5. He has lots of other hobbies. But at work he's incredible efficient and solves really hard problems in brilliant ways. You don't have to give up your whole life to be a good programmer, contrary to what many people on HN seem to think. This mentality drives me crazy.

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

#58

> 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.

Exactly this This also applies to: - Having a Github page - Contributing to Open Source Projects - Knowing (or not) a certain language - Knowing (or not) a certain technology - Knowing one of the latest fads Of course, this affects whether you can work on certain projects or not, but not that "every programmer knows that" is a fallacy (except for something really fundamental)

Many companies have a hiring process that favors hiring very similar engineers. Hiring different types of programmers would increase their diversity, which for me is a great quality of a team. The challenge here is to identify the competent engineers when you can't use cookie cutter assessment tactics.

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

#59

> 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.

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…

[deleted]

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

#60
post #4
post #3

Anyone have a not-dead link to the comic he's referencing? (looking forward to a future where an image's URI is its hash and this problem evaporates)

Here you go: http://mu.ms/f/pxYcdb.png

Lol, this made me laugh out loud.
Post reply on HN