

Ask HN: What makes a good programmer? - jeremynolan

What do you think makes a good programmer? Knowing lots of programming languages, efficiency, etc...
======
brianto2010
<http://paulgraham.com/head.html>

> _"A good programmer working intensively on his own code can hold it in his
> mind the way a mathematician holds a problem he's working on."_

<http://paulgraham.com/pypar.html>

> _"I'll call the Python paradox: if a company chooses to write its software
> in a comparatively esoteric language, they'll be able to hire better
> programmers, because they'll attract only those who cared enough to learn
> it. And for programmers the paradox is even more pronounced: the language to
> learn, if you want to get a good job, is a language that people don't learn
> merely to get a job."_

<http://paulgraham.com/avg.html>

> _"Lisp will make you a better programmer, and yet you won't use it."_

<http://paulgraham.com/taste.html>

> _"Whatever job people do, they naturally want to do better."_

<http://paulgraham.com/avg.html>

> _"After a couple years of this I could tell which companies to worry about
> and which not to. The safest kind were the ones that wanted Oracle
> experience. You never had to worry about those. You were also safe if they
> said they wanted C++ or Java developers. If they wanted Perl or Python
> programmers, that would be a bit frightening-- that's starting to sound like
> a company where the technical side, at least, is run by real hackers. If I
> had ever seen a job posting looking for Lisp hackers, I would have been
> really worried."_

Be self-driven.

Be committed.

Think different.

------
Tangurena
This is a philosophical question in the ballpark of "what is good?" So I'll
turn it around and ask "what do you mean by _good programmer_?" Someone who
meets deadlines? Someone who gets the job done? Someone who doesn't upset the
boss?

I think the following video will explain why there can never be a single
answer to your question:

[http://www.ted.com/index.php/talks/malcolm_gladwell_on_spagh...](http://www.ted.com/index.php/talks/malcolm_gladwell_on_spaghetti_sauce.html)

------
makecheck
Someone for whom programming is a passion, and not just income. Someone
considerate enough to help the next programmer who will look at the code.

This type of person then naturally picks up good practices with experience.
For example: using multiple languages (and not being afraid to use the one
best suited to a task), testing carefully, documenting responsibly, and
favoring clarity over cleverness and optimization most of the time.

------
user
Having a life outside programming :)

