Wicked Features
5 hours ago
- #tech complexity
- #enterprise features
- #software engineering
- Wicked features are requirements that must be considered when building any other feature, dominating complexity in large tech companies.
- Examples of wicked features include adding new user types, on-premise SaaS versions, data sharding, data locality support, and internationalization (i18n).
- Wicked features are hard because they interact with each other like rules in the Password Game, requiring coordination and often leading to underestimation by engineers.
- Some wicked features are unavoidable due to high-paying enterprise demands (e.g., on-premise offerings, data locality), while others stem from overengineering or poor design choices.
- Good engineers should prevent unnecessary wicked features and limit their impact through sensible factoring to avoid polluting the entire system.