Reading 04: Nerds and Hackers
Overall, I found Paul Graham’s commentary on the modern hacker to be insightful and compelling.
I found it interesting how he starts this essay series talking about middle and high school. He thinks the core of being a hacker is tied to your tendency of what you value, and those years is when this tendency starts to develop and shape your life. He draws a connection from being smart to being a nerd, then to being unpopular (in the context of school), and finally to applying this in being a hacker. Personally I found this to be true in my school experience, but nowhere near the horrors he described. There were certainly dividing lines in the student body, and I certainly tended towards the nerd side, but at my high school it was “cool to be smart” so I can’t relate so much to the Lord of the Flies experience.
The essay drawing parallels to painting was the one I found to be strangest. I absolutely relate to his points about computer science being like Yugoslavia - especially in academia, the field seems to include everything under the sun. Personally I do find the hacking part to be one of my favorite parts of the area. But I’m not sure how I feel about it being compared as more of an art than a science or engineering discipline. There is absolutely a lot of beautiful software and on a surface level I completely relate to the comment about cringing from poorly indented code (especially after TAing). However I do not really understand his dismissal of “software engineering”. I think that most of us in this field that will be writing code do it to solve a particular set of problems, not as a work of art that should be admired. I personally think engineering is a good word to describe that. Additionally, he talks a lot about the design process in his comparison to painting, but I still fail to see how that could not just be included in engineering. He brings this into a discussion about programming languages, where he makes the case that dynamic typing helps the design process because you can be more flexible. As someone that has written vanilla JavaScript, this is a crazy idea to me. Sure you can write something that kinda works quickly, but quickly gets out of hand and hard to maintain because the code is too flexible. Of course I think an appropriate balance is the correct answer as pg makes many valid claims. I think you should spend a good amount of time in the design phase outside of code, but should not spend too much time where that becomes the primary activity. Debugging driven development is IMO very underrated and being able to lean heavily on your tooling to write better code faster makes everything more pleasant. Finally, the point about code being written first for a human audience, and second for a computer, is definitely a good objective and probably the closest analogy of code and painting.
I think Graham has some interesting insights about the culture of hackers in relation to Americanism. It makes sense that hackers have historically been counter cultural, at least counter authority, in the context of Levy’s account of hackers. The true hackers disregarded the rules of MIT when it got in the way of their hacking, just as pg discusses the modern issues of IP laws especially in the era of DMCA. This seems relevant to Jefferson’s quote encouraging a healthy dose of resistance to government. So I think the spirit of hacking as described by Levy is compatible with Graham’s. In broad strokes, Graham’s account preserves all of the love for hacking and making that Levy discussed throughout his book, but Graham builds off the spirit of the hardware hackers to make money with his work. Again, this is a lifestyle I am partially drawn to and partially cautious of. To go back to pg’s discussion of nerds not being popular because they are consumed by being smart, I want to find the balance where I can smart and a nerd without it compromising the other parts of my life.