Ask HN: What makes an hacker "great" vs "good"
6 comments
A lot of responses here have been about a hackers technical talents and understanding. In my mind, at least in terms of getting hired, it's not just about technical skills alone i.e. personality and culture fit, are just as important. How you convey things, how you think about things, how you align yourself with the company you're applying for, etc... are equally as important. This is more true for startups than it is for large corporations most of the time (probably, I'm taking an assumption on that last statement), but I think its important to also understand areas outside of code as well as areas inside of code.
In my mind, a hacker has a deep desire to understand
Extremely simple analogy: Most people are happy that when they flip a switch, a light comes on. They might even know how to install a switch and change a bulb. But a hacker isn't happy/content with this surface knowledge. Instead, s/he wants to know what's happening in the background to create the outcome. Once this background knowledge is gained, the hacker has a lot of tools available to solve/invent that the majority of others will not - this makes the hacker extremely efficient. S/he may also take this knowledge and apply it to other domains.
Apply this to telephony, networking, hardware, low-level programming, .... and you should be able to easily come up with similar analogies for any discipline.
Extremely simple analogy: Most people are happy that when they flip a switch, a light comes on. They might even know how to install a switch and change a bulb. But a hacker isn't happy/content with this surface knowledge. Instead, s/he wants to know what's happening in the background to create the outcome. Once this background knowledge is gained, the hacker has a lot of tools available to solve/invent that the majority of others will not - this makes the hacker extremely efficient. S/he may also take this knowledge and apply it to other domains.
Apply this to telephony, networking, hardware, low-level programming, .... and you should be able to easily come up with similar analogies for any discipline.
I wish this question would have received more love. I can't imagine why it did not, especially here on HN where you could get some really great feedback. I'm interested in hearing what other people might say. I like the response kstenerud provided. I'm commenting in hopes some others will see it in the new comments and bring some life to it.
A great hacker isn't caught up in the folkloric mythos of "hackers," and doesn't consider himself one.
A great hacker is able to generate simple, clean solutions to complex problems. You can learn how to do this by pair-programming with an expert and by posting and reading StackOverflow questions and answers.
A great hacker demonstrates deep understanding.
When you encounter a problem in your program, is your first question "How to I make it stop doing that?" or is it "Why is it doing that?".
If you ask the former, you'll never be a great hacker because you have the wrong mindset. The great hacker strives to know not just WHAT it is, but WHY it is. The deep understanding that results from such an approach gives the great hacker a massive edge because he'll see opportunities that nobody else can, and will know off the bat what the fallout will be for any proposed solution to a problem.
The great hacker reads tech manuals for fun. He picks up strange, esoteric knowledge because it's interesting. This trains his brain to pick new things up quickly, and discover patterns in anything he examines or does.
The great hacker's code is as simple and elegant and readable as possible. When you look at it, it all seems so easy. And yet anyone else would have written something far more complex and error prone.
A great hacker is a craftsman. His code is functional art. He looks back on his work with a critical eye, searching for flaws. That being said, real artists ship.
When you encounter a problem in your program, is your first question "How to I make it stop doing that?" or is it "Why is it doing that?".
If you ask the former, you'll never be a great hacker because you have the wrong mindset. The great hacker strives to know not just WHAT it is, but WHY it is. The deep understanding that results from such an approach gives the great hacker a massive edge because he'll see opportunities that nobody else can, and will know off the bat what the fallout will be for any proposed solution to a problem.
The great hacker reads tech manuals for fun. He picks up strange, esoteric knowledge because it's interesting. This trains his brain to pick new things up quickly, and discover patterns in anything he examines or does.
The great hacker's code is as simple and elegant and readable as possible. When you look at it, it all seems so easy. And yet anyone else would have written something far more complex and error prone.
A great hacker is a craftsman. His code is functional art. He looks back on his work with a critical eye, searching for flaws. That being said, real artists ship.
What makes a hacker great? Let me quantify this by saying I don't really care about what a great hacker has done but rather what qualities, knowlage and skills they have that make them great.
If you want to think of it in terms of candidates, what makes you want to hire one guy over the next?