6 ms·
I enjoyed this article. Humility is certainly something to strive for, however I disagree that you should envision yourself as a "terrible" programmer. Just app
by hunterjrj 18y ago
I enjoyed this article. Humility is certainly something to strive for, however I disagree that you should envision yourself as a "terrible" programmer. Just approach each problem as a student, not an expert.
I doubt Wayne Gretzky skated down the ice thinking "I'm a terrible hockey player", but I do know that he was a student of the game and as a result, one of the hardest working players both on and off the ice - with the results to prove it.
- albertcardona 18y agoNot just humility: the author goes on to explain all his practices to defend himself from himself. These attracted my attention, for no programmer I know enjoys them: 3) Be a testing masochist, i.e., I ruthlessly try to break my own code. 4) Have other programmers inspect my code. The author goes on to explain how he approached fixing a broken program: to stop catching errors and letting it crash. Which meant getting stack traces and fixing them on the spot. Combined with his aggressive use of assertions, no wonder he fixed it.
- andreyf 18y agoThese attracted my attention, for no programmer I know enjoys them... Really? Maybe I have competitive split personalties, but testing my code is a lot of times more fun than writing it. And at least for junior developers, getting feedback from those with more experience is probably the most valuable part of a job. It kind of blows my mind to hear that some programmers commit code they haven't thoroughly tested, or avoid showing their code to other people...
- ewiethoff 18y ago> 3) Be a testing masochist, i.e., I ruthlessly try to break my own code. 'Hap' means luck. Therefore, the happy path is the lucky path. Being a natural pessimist, I can't help picturing unlucky paths and believing they will be followed. So I enjoy trying to break my code. Not trying to sound arrogant here, I also think of end users and client coders as "idiots." I find joy in trying to make stuff "idiot-proof." A humbler term would be "bullet-proof," but I picked up "idiot-proof" almost thirty years ago, and I'm stuck with it.
- dangoldin 18y agoYour post reminded of Gladwell's piece on "Physical Genius" http://www.gladwell.com/1999/1999_08_02_a_genius.htm http://www.gladwell.com/1999/1999_08_02_a_genius.htm From the article: What sets physical geniuses apart from other people, then, is not merely being able to do something but knowing what to do--their capacity to pick up on subtle patterns that others generally miss. This is what we mean when we say that great athletes have a "feel" for the game, or that they "see" the court or the field or the ice in a special way. Wayne Gretzky, in a 1981 game against the St. Louis Blues, stood behind the St. Louis goal, laid the puck across the blade of his stick, then bounced it off the back of the goalie in front of him and into the net. Gretzky's genius at that moment lay in seeing a scoring possibility where no one had seen one before. "People talk about skating, puck-handling, and shooting," Gretzky told an interviewer some years later, "but the whole sport is angles and caroms, forgetting the straight direction the puck is going, calculating where it will be diverted, factoring in all the interruptions."
- ankhmoop 18y agoI believe that there is value in humility as a programmer. I can't speak to hockey. I don't view myself as a student, that leaves the door open to hubris, and hubris is the primarily failing of programmers. Accept that you are a terrible programmer and that you will fail, you will make the wrong decisions, and you will design poorly. Plan accordingly, and you'll be more successful than all the other terrible programmers. I am a very successful programmer because I do not trust myself to write great code. I leverage the type system, the compiler, and many other points he discussed in his article. By leveraging these tools, I prevent myself from failing as often or as severely. I have rarely seen programmers fail so profoundly as those who hold the belief that they are too smart -- too good of a programmer -- to fuck up.
- hunterjrj 18y ago"I have rarely seen programmers fail so profoundly as those who hold the belief that they are too smart -- too good of a programmer -- to fuck up." Well put.