We've all encountered people who use big words just to impress folks. I think the smarter people communicate with succinct phrases that their audience immediately understands and cleverly convey specific concepts. Some of my favorite vocabulary:
- Future-proofing: Trying to build in flexibility to a product so that it can deal with future scenarios. This may include adding hooks or knobs, or just doing good design. IMO, making all the methods on a class virtual is an example of attempting to future-proof something (although arguably a bad idea).
- Policy-Shield: When you don't know the policy for problem X, show that problem X is the same as another higher-profile problem Y for which you do know the policy. Then problem Y serves as a policy shield for problem X.
- Design-Shield: Design your product to solve problem Z not because problem Z is so important, but because the solution for Z likely solves many additional unforeseen problems. Design shield has similar piggybacking as in policy-shield, and also has aspects of future-proofing.
- Feature-creep: When more features continually get added ("creep") into the product.
- Sacrificial Thread: I first heard Chris Brumme use this phrase when talking about creating a dedicated thread to do one task and die, rather than contaminate the main thread. This could be used with other nouns like "Sacrificial Process","Sacrificial message", etc.
I'm problem missing a ton. What are you favorites?
Why not "synergy"?
Words like "Synergy" became an insanely common buzzword in the 90s. However, "synergy" is so lame because it's just a synonym for "teamwork", but doesn't really describe anything new and is no more articulate (and is even an additional syllable).