Summary:
Sibelius Seraphini, co-founder of Woovi, discusses their unconventional software development practices, emphasizing simplicity and cost reduction, moving away from traditional object-oriented programming, unrestricted technology choices, and overly complex architectural patterns.
- Woovi largely eschews object-oriented programming (OOP) in favor of a functional paradigm, citing issues with inheritance, mutability, and a preference for simpler functions.
- They restrict technology choices primarily to JavaScript/TypeScript within monorepos, minimizing complexity and making team mobility easier, with other languages reserved for highly specific needs.
- Dependency injection is largely avoided, especially in JavaScript/TypeScript, due to the language's ability to mock modules at runtime for testing, reducing unnecessary indirection and "magic."
- Clean Code, Design Patterns, and Clean Architecture are viewed critically, as their rigid application often leads to over-engineering and increased complexity rather than genuine simplification.
- Woovi prioritizes automated integration testing over unit testing for business logic, finding it provides a better cost-benefit by testing the system closer to the end-user's experience, thus increasing confidence for rapid delivery.
- The core philosophy is that restrictions lead to faster development and higher quality, enabling efficient growth and reducing long-term maintenance costs.