4 ms·
Creating engineering principles for your team
- almostdeadguy 5y agoI'm very skeptical of the idea that we can use principles to effectively instill the practices we hope to capture of a well functioning engineering team. Wittgenstein was right that language is given meaning by its use. Any principle has a context that assigns meaning to the words and sentences we use, and in an engineering culture that context is the practices of a team. When we try to lean on short principles and reiteration of them to steer our practices, we encourage a simplistic understanding of complex topics with many corner cases. I can think of dozens of instances where dogmatic understanding of ideas like DRY, YAGNI, etc. lead to poor decisions by teams I've worked with. These are turns of phrase that have a specific context of use, but when we divorce them of that or rely on the phraseology to produce the phenomena we value, the concepts get corrupted.
- ctvo 5y agoNinjas, high on delivery, bad tripping when issues are in pending, etc.. No thank you. Speak like an adult to other adults.
- analog31 5y agoGranted, I'm neither a software developer nor an engineer, but a scientist in a multi-disciplinary R&D team. Still, I have a handful of sayings and "laws" that I find to be useful. I'm certainly not trying to codify engineering into a list of rules, but rather, capturing lessons that I've learned over the decades. Some of my laws seem like general principles, others are based on physics laws captured as rules of thumb that the engineers can use for thinking their way through design problems specific to our industry. Some poke fun at engineering habits, in a way that reinforces why those habits are usually a good thing. If you write down too many principles, chances are, someone will figure out a single principle that summarizes all of them, and it becomes the new principle. I think it was Taleb who pointed out that for every saying, there's usually a contradictory saying, allowing you to reinforce any idea by choosing the right sayings.
- drewcoo 5y ago"Can you check this part of your code against our YAGNI principle?" seems sufficiently passive-aggressive for software. But everything from the language used to the memes to the emoji-splosion on the page made me miss Angelfire because it was peaceful in comparison.