5 ms·
After I read Zen and the Art of Motorcycle Maintenance, I went and bought myself a ‘71 Honda CB350, almost the exact bike Pirsig rode in his book. I found that
by tjridesbikes 7y ago
After I read Zen and the Art of Motorcycle Maintenance, I went and bought myself a ‘71 Honda CB350, almost the exact bike Pirsig rode in his book. I found that fixing this motorcycle, taking it apart, fixing internal component, figuring out how everything ties together, and upgrading worn out or otherwise non-functional components, and putting it all back together, felt extraordinarily similar to my day job as a software engineer. There’s even the same “loop”: fix one thing, turn it on to test, then turn it off again and fix the next thing. The turnaround time is waaaaayy slower, and there’s a lot more opportunity to hurt yourself, but the skills as a programmer translate very well to motorcycle maintenance. Interesting to see that I’m not the only one who sees these similarities.
- jypepin 7y agoI've seen "Zen and the Art of Motorcycle Maintenance" recommended on book threads on HN multiple times, by multiple people, so I would agree that yes, a lot of other engineers see the similarities! The way the author explains how to go about to find the issue, fix it, etc. has made me much calmer about finding my own bugs and fixing them indeed.
- forinti 7y agoThere's a passage (page 123 in my edition) I really like about combining your mental model of something with the stimuli you get from your senses that I think has a lot to do with systems analysis and modelling. You have to build up your mental model (and often your client's too) and, at the same time, evolve your interface to reflect this model and permit your client to do what he wants to do effectively.
- dfraser992 7y agoI recommend you investigate plumbing. Yeah, seriously.... I have not done anything very complicated, but it takes much of the same mindset (or skillset), it is satisfying, and you will have a job for life (aka I have just hit 50 and sort-of age discrimination (or just can't deal with the nonsense anymore-ness - or everything is so familiar it is so tedious))
- ken 7y agoAnd yet, even after seeing firsthand that computer programming is "extraordinarily similar" to the work of a vehicle mechanic, you still refer to it as "software engineering". Do we think it has anything in common with engineering? Why not call your work something like "software mechanic" or "software artisan"? What is with the continued need for programmers to try to aspire to engineering, while not actually being licensed engineers or practicing engineering? I don't think anyone outside the field takes programmers any more seriously when they call themselves "software engineers". Software overall is still late, slow, hard to use, buggy, and insecure. Nobody's fooling anyone.
- amiantos 7y agoTo engineer something is, apparently, by definition, to "design, build, and maintain [a physical thing]". What I do as a developer is "design, build, and maintain" some software, and while it may not be physical, the use of the software is a physical activity. In this way, software has a physical existence at the very end of the process, same as a bridge or other object, though you just touch or fiddle with it through an intermediary physical object. I'm not sure I see why someone would be upset about use of the term engineer, unless they are an engineer and somehow see developers as 'other' and it makes them angry that someone may be intruding into what they perceive as some private club. Besides, I didn't decide to be called a "Software Engineer", that was a title bestowed upon me by a company. Before that I called myself a "programmer" and that's what I tell people I am. Now that I know "software engineer" might annoy someone and/or make me seem loftier / more worth taking seriously, perhaps I'll start calling myself an engineer.
- pixelbash 7y agoWhile I quite like the term artisan in some ways, mechanics do not build new things. You could call a maintainer a digital mechanic if you really wanted I suppose. From my perspective software engineering will become more like engineering is now over time, just as engineering itself has become more rule bound and safety conscious over time, presumably since around the start of the industrial revolution. The term engineering carries gravitas because getting it wrong is a big deal, and its becoming apparent the same is true when software goes wrong.
- 7y ago
- pixelbash 7y agoThat is very cool, I've owned a few bikes (all Japanese) with years from 1991 to 2013. It has been fascinating to compare how carbs evolved through CDI to ECUs, and how bikes are designed to be somewhat maintainable while being more complex than ever. I don't think I'll dare get into the gearbox any time soon though, the tolerances on everything now are just crazy.
- m463 7y agoI hope you used genuine honda parts and didn't use a piece of beer can to shim anything.