On May 17, 2011, at 3:22 PM, Mike Miller wrote:

> On Tue, 17 May 2011, Jason Hsu wrote:
> 
>> Thanks for your thoughts.  Now I wonder what else from Paul Graham and Joel Spolsky I should take with a shaker of salt.
> 
> 
> Maybe what you really want, and what they were trying to recommend, is to work with people who love programming.  If they love it, they will be happy and competent and fun to work with.  If they are miserable worker drones, robbed of all creativity, you won't like your job either.
> 
> Mike

I think this is exactly what Paul and Joel were trying to get at.  I have been at places where the majority of people go into the office, write their code, and then leave grumbling the end of the day.  Often this has to do with the environment they're in, as well as whether or not they actually enjoy programming.  If a company has a lot of people who just hate coding, those negative attitudes are absolutely toxic, and it really hurts the work environment in the long run.  On the other hand, a company who has a bunch of people who absolutely love programming tends to have a much better work environment.  Ultimately this comes down to who management hires.

I know that for me, if I'm not enjoying my environment I no longer enjoy programming, and I am a complete hacker... if I'm not programming and having fun doing it, then I won't stick around for long.  On the other hand, I've been at companies (like my current one) where the majority of people I work with on a daily basis do love programming.  Some don't, but most do, and the environment at companies where people love coding is just awesome compared to the places I've worked where nobody really "gets" programming and "hacking".  This isn't to say that you will have fun all the time programming in an environment like that, but generally its better than an environment which doesn't foster a good programmer culture.

Also, I do want to defend the term of hacker a little.  I think you can definitely be a "hacker" and still be an excellent team programmer.  I've seen a lot of hacker-types who never get past the "I'm effing awesome" stage of their career.  They tend to be lone-wolves and cut every corner they can to get the code done as quickly as possible, and they rarely end up being someone you want on your team.  Then there are the hacker-types who get past that stage, and what you end up with is programmers like Larry Wall, Joel Spolsky, and Dennis Ritchie just to name a few of the famous ones.  There are thousands, possibly millions, more out there who never even reach fame, but honestly, I've met very few hackers who want fame and fortune... ultimately their goal in life is to learn and code and have a blast doing it.

Hacker in this context has, to me, has always meant someone who loves programming and understanding as much as possible about computers to become even better at programming.

I would say just keep doing what you're doing and don't worry about being better or worse than anyone else.  As long as you're working hard and having a blast doing it you'll go very far in your career.

-Adam