I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
Reflecting on the Soul of a New Machine
21–30 of 50 posts
Re: Reflecting on the Soul of a New Machine
#22Re: Reflecting on the Soul of a New Machine
#23Re: Reflecting on the Soul of a New Machine
#24I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
Re: Reflecting on the Soul of a New Machine
#25I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
Re: Reflecting on the Soul of a New Machine
#26I took a valuable lesson from the book that has served me well over the years. At one point the CEO injects a critical piece of wisdom by telling the engineers they are not allowed to use a mode switch to preserve backwards compatibility. In any system, the presence of mode switches often points to where things will go wrong. If a system has two modes, then inevitably, one of them will be more unloved, untested, unde…
* Roll out the code with support for a new feature
* Flip the mode switch on a few nodes to use the new feature
* Wait a while, watch for anomalies
* Enable the new feature on more nodes, until it's on all
* Disable support for the old feature (another mode switch)
* Eventually, roll out new code with the old feature entirely removed
It's not quite a whole-system mode switch as in SoaNM, but that's kind of the point. In a distributed system actions do not affect the whole system all at once, so different rules apply.
Re: Reflecting on the Soul of a New Machine
#27Re: Reflecting on the Soul of a New Machine
#28I struggled with this a few times: “When a person signed up to do a job for him, he would in turn trust that person to accomplish it; he wouldn’t break it down into little pieces and make the task small, easy and dull.” I’m not particularly talented, far from it actually, but many times I’ve worked in teams with non-junior people who were tasked to do some portion of a project, and simply delivered garbage: a terribl…
my conclusion is that people don’t really like simple things and they believe that complex=good and it’s a sign of how good/smart you are. so people are suckers for complexity. nobody is going to receive a medal or a promotion for well written and simple code that “just works”. you won’t know it’s there.
now, the reaction you’re describing comes from the “i’ve seem some shit” syndrome where not only you can see the layers upon layers of unnecessary crud but you can also see how it’s going to break in the future. it’s terrifying.
Re: Reflecting on the Soul of a New Machine
#29Re: Reflecting on the Soul of a New Machine
#30I've always considered myself lucky that one of first minicomputers I got to know and love was a DG Eclipse. I had the experience of reading the book in college and learning the weird, wonderful, and amazing AOS/VS operating system at the same time. In the late 1980s I got to learn a ton about an operating system that had threads (tasks), virtual memory, shared memory, rich filesystem ACLs, symbolic links, and a biza…
You knew when an Ada compilation job had been started because the other terminals would start getting sluggish...