How to Build Good Software
This struck a chord with me: "Software Is about Developing Knowledge More than Writing Code"<p>I've experienced more issues caused by management passing around tasks between teams and never paying attention to knowledge and knowledge transfer.<p>What's amazing, is that in over 18 years as a software engineer, I've seen this so many times. Teams will function well, then the institution tries to change. Often they will try to open up the "innovation" by throwing money at R&D, basically trying to add bodies in order to grow. Then you have tons of teams, and communication becomes very challenging, so then they grow some kind of "task management" layer. Management that never understands who actually _knows_ something, just tracks how much "theoretical bandwidth" they have and a wishlist of features to create. And then the crapware really starts flowing. And then I get bored and move on to the next place.