We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
🚀 Achieving Technical Excellence in Your Software Teams (Peter Gfader)
Achieve technical excellence in your software teams by mastering software development, practicing technical skills, and understanding business requirements.
- Achieving technical excellence is about mastering software development, not just writing code. It requires understanding of software craftsmanship, technical skills, and business understanding.
-
Practicing technical excellence:
- Learn from failures, don’t fear them.
- The more you know how to do something, the less you need to do it.
- Complexity is a management problem, not an engineering problem.
-
Software craftsmanship:
- Empathy is a key element of software craftsmanship.
- Technical excellence is not just about writing code, but also about communicating with others.
- Don’t just do what’s asked, but also try to understand why it’s being asked.
-
Agile development:
- Just-in-time learning is key in agile development.
- Use pair programming to learn from each other.
- Separate teams should not be forced, but teams should be separated by skills.
-
Technical debt:
- Don’t use the term “technical debt”, it’s not a debt, but a misused term.
- Invest in quality, not in shortcuts.
- Technical excellence is not just about writing good code, but also about having a sustainable pace.
-
Architecture:
- Conway’s law: organizations that design systems they cannot operate, cannot operate the systems they design.
- Try to keep the architecture simple, don’t let it get too complex.
-
Code reviews:
- Code reviews are not just about finding bugs, but also about learning from each other.
- Use code reviews to learn and improve.
-
Stealth mode:
- Working in stealth mode can be beneficial, as it allows for a sustainable pace and a better product.
- New products should not be handed over to external companies, but should be integrated into the existing workflow.
-
Failures:
- Failures are essential for learning and growth.
- Don’t be afraid to fail, but also don’t repeat the same mistakes.
-
Software development:
- Software development should be a collaboration between business and development teams.
- Business teams should understand the technical implications of their requests.
- Developers should understand the business side of things.