Ask HN: Which programmer do you look up to?

69 points by kotrunga ↗ HN
Which programmer do you look up to? And why?

Were they a mentor? Someone you didn't even meet, but were inspired by?

What did you learn from them that you can share with us?

44 comments

[ 3.5 ms ] story [ 86.2 ms ] thread
(comment deleted)
Well, Linux Torvalds would be an inspiration, definitely. To start from basically nothing and build Linux into what it's become, is no small feat (of course he had help, but that doesn't detract from the accomplishment).

Other inspirations are a lot of the standard "greats" of the field: Rob Pike, Dennis Ritchie, Bjarne Stroustrupp, Brian Kernighan, Marvin Minsky, John McCarthy, Richard Stevens, Nicholas Wirth, Edsger Dijkstra, Charles Simonyi, etc.

Thousands, too many to name. If you read lots of code and books, you will be humbled at many brilliant folks that are out there.

Peter Norvig - Checkout his page, and his books PPIA, AIMA

Sandi Metz - Watch her talks

Rich Hickey - Watch his talks

Raymond Hettinger - Watch his live coding sections

Brian Kernighan - read "The Pratice of Programming"

Richard O'Keefe - read "The Craft of Prolog"

John Carmack - The master of constraints and doing more by doing less

Jan Weilemaker - maintainer of SWI-Prolog, read the code

Linux Linus - His stubborness and meaniness has kept Linux together, if he was too passive, the kernel would have been a mess. Design by committe rarely works, someone gotta own it. He owns it.

OpenBSD Theo - Unix systems are better secure because of Theo's stubbornness, lots of branches end up incorporating changes that started from OpenBSD.

TJ Holowaychuk - I think he writes 10,000 lines of code a day

PHP Nikita Popov - The kid is brilliant

Anthony Minessale of Freeswitch

Moxie Marlinspike - the guy that brought us signal

Kyle Kingsbury aka Aphyr, checkout Jepsen, checkout his clojure tutorial.

Sergio Moreira, Nagra - famous PSX Hacker

Just curious, Is there any blog or article mentioning this tidbit about TJ Holowaychuk.I would love to read that.
(comment deleted)
My professor of distributed networking. He always pushed for not accepting the status quo and think outside the box. Taught me to look through bullshit and pretense. His use to say TCP is not perfect think of your own protocol
Programmers who found world changing companies, meaning they have strong business acumen.
Tim Sweeney of Epic Games has some very interesting ideas on programming and languages. He inspired me to make a career out of it (for better or worse).

I’ve met and worked with a lot of inspiring good programmers in my life, so it would be difficult to provide a list of names.

Seebs — he writes “programs” for his own brain and then runs them fast enough that he frequently picks up on things that people who are naturally talented in that area would miss.
Surprisingly, at least for me, i don't see here Robert C. Martin, Kent Beck or Alan Key...

Maybe they are old, and not the bussiness-succesfull-type but they are still Gods for me in the academic side. They can clarify a lot of things most people think they understood, or worst, i tought i understood.

Why? For me? Because the power they have modeling, the experience they accumulated in a lot of areas, how they move checking metrics and not only by what they feel or their instinct. And of course, because of the power of their ideas which made them famous.

You dont have to agree them 100% of the time. Of course not. But when you don't agree, check that twice, and check again after some years of earning knowledge and experience too. They deserve that.

Paul Graham - basically I love reading 100% of what he writes. Everything brings unique insights and it's encouraging to see the hacker mindset in someone so experienced.

Joel Spolsky - also a great writer.

Chris Sawyer - anyone who could write a full game in assembly is really badass

A senior dev in a company where I used to work. Helped me break out of architecture astronautism. Always got work done really quickly with simple code, no fancy tricks. 10x developer isn't real but this guy was probably 2 or 3x. Maintained a partial Linux build of our officially Windows only product due to personal ideology. And was really humble and friendly.
Jon Bentley, author of Programming Pearls, which is the clearest explanation of solving the actual problem needed; when I say "software engineering", PP is what I mean.

William Kent, author of Data & Reality https://mdhughes.tech/2017/07/19/data-and-reality-william-ke...

Kent Beck, author of Extreme Programming Explained, for making good engineering practices "go to 11".

David Harel[1], the inventor of Statecharts notation.

“If asked about the lessons to be learned from the statecharts story, I would definitely put tool support for executability and experience in real-world use at the top of the list. Too much computer science research on languages, methodologies, and semantics never finds its way into the real world, even in the long term, because these two issues do not get sufficient priority. One of the most interesting aspects of this story is the fact that the work was not done in an academic tower, inventing something and trying to push it down the throats of real-world engineers. It was done by going into the lion’s den, working with the people in industry. This is something I would not hesitate to recommend to young researchers; in order to affect the real world, one must go there and roll up one’s sleeves. One secret is to try to get a handle on the thought processes of the engineers doing the real work and who will ultimately use these ideas and tools. In my case, they were the avionics engineers, and when I do biological modeling, they are biologists. If what you come up with does not jibe with how they think, they will not use it. It’s that simple.”[2]

[1] http://www.wisdom.weizmann.ac.il/~harel/papers.html

[2] http://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.H...

Aaron Patterson. For the 10+ years I've followed his work, he's always been kind, generous, hard-working, an excellent teacher of the craft and, quite simply, a good person. The same goes for Salvatore Sanfilippo.
Gary Bernhardt. He does a great job at teaching Vim/Bash/Git workflow in his screencasts, which is typically something that's hard to learn on your own. I remember my mind getting blown when he did this in vim `:nmap ,t :w\|:!clear && ruby %<cr>` (if you don't use vim, this remaps comma-t to run the current ruby file you're editing). I still use that little trick all the time and it always amuses my friends.
Chandler Carruth. His talks at cppcon and his work is great.
I see Daniel Bernstein hasn't been mentioned, but looking through his software, not many can match his track record of (seemingly) bug-free C code. In any case, he's a mathematician and it shows.

Since learning about his patricia tree implementation (or rather, crit-bit tree), i've been using it in a lot of projects, and again, very clean and beautiful implementation of an efficient data structure.

So yes, his work (among that of many others) has been a source of inspiration for me.

Greenblatt and Gosper and Stallman back when he was competing with Symbolics. Giants of yesteryear. Whenever I get sick of it all, I read Levy's "Hackers" again and come away inspired.
I'm impressed with and have been inspired by the work many programmers have produced, but I don't look up to them. As a matter of principle, I think it is unhealthy behaviour to idolise others.
There is a big difference between looking up to somebody and idolising him/her.

Looking up to somebody means that you admire them for their character and/or achievements. "Honour to whom honour is due." In a further step, they might become a role model - meaning that you take them as a personal example because you want to achieve similar things in life. This is in line with Newton's "If I have seen far, it is because I have stood on the shoulders of giants." Their example inspires and guides you in your own efforts.

Idolising starts when you admire somebody so much that you fail to see them as human. You refuse to admit to their weaknesses and failures. And instead of seeking inspiration from them for living your own life, you attempt to relive theirs. They have become a god to you - hence the term, "idol".