What does a healthy software development culture look like?
Reflecting on my own experience from past and present teams, and what (subjectively) motivates me, I've collected a list of eight core principles that I feel produce a healthy and productive development group that is focused on the long-term.
My ideal environment is where:
- People feel like they are doing the best work they are capable of
- Engineering decisions are owned through a chain of engineering peers
- Experienced developers are experts on specific domains or technologies; those with less experience have a roadmap to become an expert
- There is space to work with domain experts to design the right solution
- There are engineering-specific philosophies that all develpoers understand and use to evaluate technical decisions
- Projects are designed and spoken of in terms of real-world domains and not how they fit within an existing implementation
- There is a commitment to a vision for what the long-term platform looks like, and an evergreen roadmap of how to get there
- There are clear role models for junior team members that are championed by the org and make time to participate with the wider internal development community