9 ms·
What a Year at a Mechanic Shop Taught Me About Process (2016)
- xyzal 7y agoI used to be a biomedical engineering technician before becoming a software dev, and I have to say I somewhat miss the immediate positive feedback from actual users when you solve a problem. If anyone feels similar after moving into software -- what do you do to keep your motivation up?
- systemsdude 7y ago1. Find a metric you care about 2. Graph that metric 3. Be happy when you deploy something that makes the graph better
- yodon 7y agoI've been looking for similar dev relevant discussions of traditional manufacturing or ops processes - any other favorite articles?
- qes 7y agoSoftware development sure would be a lot simpler to manage if it were like auto repair, where every bit of work is well scoped, short, with absolute boundaries and near complete independence from any other work happening. Perhaps I'll think lessons from an auto repair shop can apply to software development after they've spent 2 years rebuilding a vehicle from the inside out while it continuously journeys across the interstates. https://i.imgur.com/cD8Y7fh.mp4 https://i.imgur.com/cD8Y7fh.mp4
- maxerickson 7y agoLots of shops do ground up builds. I think it's also not the case that software development is so heroic, most deployment strategies draw a line between development and the version people are using, and there is quite some power in the ability to go back to a previous version.
- semiotagonal 7y agoI'm beginning to think the real answer for software development is to stop wanting a process. A team either clicks, or it doesn't. I think this happens no matter what process is attempted. EDIT: Obviously there should be acceptance criteria for the product, especially where safety is a concern; but the day-to-day process is just going to be what it is.
- ken 7y agoI don’t understand why some areas would warrant the response of “sometimes it works and sometimes it doesn’t”. What if we left other areas examined? “Let’s not bother to research sorting algorithms further. Some people write a sort and it goes fast, and some people write one and it goes slow, and that’s just the way it is”. If a team can just “click”, isn’t it critically important to figure out why this occurs, so we can create other teams that click? It would be an awful shame if we were not as a species able to make effective use of all of us because we preferred to leave this to chance.
- semiotagonal 7y agoI think it's just very hard to generalize from the performance of a combination of people that each have unique personalities and abilities. It's hard to even know what to measure. For a sorting algorithm, you know what to analyze, and you know the result is generalizable.
- juped 7y agoNo one has even bothered to use Fred Brooks' recommendations in nearly 50 years, despite praising his book up and down without reading it.
- kingludite 7y agoEventually everything will be sealed in lego like blocks. We will then stop calling software technology.
- gtirloni 7y agoHow far away from that do you think we are and why?
- kingludite 7y agoIt wont happen overnight (if at all). For hardware we are already there. We use a single cpu or video card that just works and cant be matched by combining a bunch of smaller components. We do have instances trying to combine the 2. We also have lots of and continue to have more software monoliths that at first are just to good, one wouldn't bother writing their own. Later we wont even remember how to do it and end up with a final design. Could be epic, could be aweful. (I mean every ready made thing available for use either for end users or programmers) Why? Software is a fantastic prototyping tool, its so good we don't bother making things into a chip. This for the most part because we wouldn't be able to update it. The need for updates will eventually go away. Things for now continue to be improved but at some point it stops making sense to do so. What [say] an email application should look like was completely unknown in the 80's but we all have expectations today. It seems unlikely for us to continue to write [say] new email clients from scratch forever?
- ken 7y agoThat’s called hardware. The whole point of software is that it’s soft.
- modoc 7y agoI think you’re over simplifying auto repair work. Sure, sometimes it’s an oil change, which is short, well scoped, etc... But a lot of times it’s “Sometimes, when I’m turning left, the car makes this noise... you know, like a whining grinding popping noise. It’s not doing it today though.” And you don’t know if it’s a 5 minute fix or a 5 day investigation and replacement of major drivetrain parts...
- t34543 7y agoAuto repair is 90% diagnostics and 10% wrench turning. A lot of newer vehicles have symptom matrixes with a process for repair. Lowering the skill floor for mechanics. What’s interesting to me about auto repair is how techs are paid. A lot of shops do book rate. Example let’s say you have to replace a front half shaft. Book rate pays you for 30min. If you take an hour to do it - you lose money.
- jcims 7y agoHVAC repair starts getting into black magic territory. Giant, incredibly dynamic systems with hard physics, positive/negative feedback loops, control theory operating with very few inputs and very uncomfortable humans dripping sweat on the back of your neck while they watch you work. I feel like everyone that frequents HN would have a good time spending a year working in that industry.
- BLKNSLVR 7y agoI've had a tangential interest in the physics / mechanics of air-conditioning since working in an office with two people on opposite ends of the "comfortable temperature" scale, and noticing that one of them opens their window in order to "solve the problem". I've since noticed various other people open windows to try to "fix" the air-conditioning temperature. My assumption is that opening the window fucks it up for the whole system, but very few people are aware of this, and the office folks aren't made aware of it by the air-con techs. Am I way off? Am I overstating the effect that an open window has on the system?
- jcims 7y agoSoftware development is more like manufacturing engineering. Auto repair is probably closer to working an operations ticket, only without all of the fancy telemetry and diagnostic tools, and a lot more bloody knuckles.
- Scoundreller 7y agoThe OBD port can tell you a lot. Especially if you can google it to get pointed toward the more common failure modes that lead to code XYZ.
- peterwwillis 7y agoRead the 12 Agile principles and replace software with cars, development with mechanic. It all makes a lot of sense because they're general business principles. Comparing it to Scrum is pretty inaccurate, though. Scrum is designed to deliver a unit of shippable work over weeks; auto mechanics ship every day. Mechanics work much closer to an Agile kanban-based tech desk, where you have a pool of random requests to execute as efficiently as you can, and you pull new work from backlog as you go. None of this "oh I can't pull in / take out that work, it would throw off the sprint". Every day is a sprint. And most every job that has coordinated high-paced work has a morning meeting.
- type0 7y agoGood points, I think the author of this article draw parallels to closely. That auto shop had good routines that's all. A bunch of them don't have good routines but instead have good enough ones and they can still manage and get by if there are not too many competing car services around. In software development it would often mean that the business won't succeed because you are competing at almost a global scale and location means little or nothing to your customers unless of course you're in SV.
- mattrp 7y agoI’m a developer but have built a side gig renovating 100 year old homes. My partners in the effort are a carpenter who can do pretty much anything and a former machinist who can take anything apart and put it back together (whether that’s a motor or a house). He recently completed a vr6 engine swap on a gen-ii golf. What the article mentions about the parallels with the auto body shop and agile are true. We don’t intentionally run it this way it just organically works like this. Over two years of doing this we’ve had numerous conversations about how the mind of a carpenter or fabricator is very much like the mind of a developer. You have to visualize the problem, evaluate multiple approaches and then ultimately work uninterrupted to create the solution.
- itronitron 7y agoCurious to know how often you or the carpenter replace mud sills on 100 year old homes.
- mattrp 7y agoHah, haven’t seen any myself but I’ll ask him. Why do you ask?
- itronitron 7y agosince the mud sill connects the house to the foundation (on a wood-framed house at least) it is often the most heavily damaged and awkward to repair, but if it is squared away properly then later work is built on the same ground truth. I am wondering what the analog for mud sills is within software, i.e. what do you have to get right at the start to ensure that your later work won't need to be reworked?
- code_biologist 7y agoData modelling. The data model pervades any given piece of software, so it's hard to change. If there are mistakes in it, you will see workarounds all throughout a codebase.
- OldGuyInTheClub 7y agoI was surprised by "It was really interesting to work in an industry that was completely different from technology." Cars aren't technology? When did the term get redefined to mean software?
- orev 7y agoYou are of course technically correct, but it’s pretty well established at this point in time that the “tech sector” refers to IT and Internet companies. Taken to the extreme, you can technically call pretty much all human endeavors “technology”, so you need to follow current conventions in order to have a productive discussion.
- erikpukinskis 7y agoWords often go through phases where they stop meaning what they mean to groups of people. Sometimes large groups. “Feminism” is the classic example in my head. You don’t have to bend to that. People often try to destroy words for political reasons, but in then end, I think, the words often stand resilient. Our languages are really impressive structures that define real spaces. There is power to learning them and knowing how to use them well. That power does diminish when words are abused, but it doesn’t disappear. Personally, I am happy to have words be refined, but when people try to redefine them to the point where they are useless... I listen, and parse their words as intended, but I keep using those words correctly with others.
- OldGuyInTheClub 7y agoPerhaps I should have considered that this forum would use your definition. I do believe that technology is much broader than IT and internet. The author didn't refer to the tech sector, by the way.
- stretchwithme 7y agoI prefer to call all human inventions technology, because even if a technology is old, it's still serving its purpose. Even if we're taking it for granted. Plumbing put us all out of the water carrying business. But without it, daily life would be very, very different. Google's definition of technology is interesting. - the application of scientific knowledge for practical purposes, especially in industry. - machinery and equipment developed from the application of scientific knowledge. I guess technology is the process of making technology. Pipes are a technology, but most of technology is over. But it also sounds like technology when a plumber is applying his knowledge of metal and fire and gravity to solve a new problem.
- harsan 7y agoWould love if anyone could elaborate on the difference between a manager and a coordinator within the shop.
- Animats 7y agoThat's a very well run auto shop.
- stopadvertising 7y agoThis is the most oddly written article ever. Look, these normal humans also take breaks to eat and socialize together. Hahahah how bizarre! Anyway, the agile scrum lessons we can take from these subhumans that also communicate effectively are A, B, and C. Just awkward and condescending as hell. I doubt this person actually worked in a blue collar role in any real capacity.
- jeffrallen 7y agotl;dr: healthy organizations act humanely.