Knowing when to shift gears
There are many metaphors about software design that I think are useful. Unless you’ve written code, it’s very hard to describe the software engineering process in a palatable way. More specifically, it’s very hard to explain what decisions we have to make, why, when and how we…