An engineer working for a CSE project...
- Has responsibilities to their team – mentor, coach, and lead.
- Knows their playbook. Follows their playbook. Fixes their playbook if it is broken. If they find a better playbook, they copy it. If somebody could use your playbook, give them yours.
- Leads by example. Models the behaviors we desire both interpersonally and technically.
- Strives to understand how their work fits into a broader context and ensures the outcome.
This is our playbook. All contributions welcome! Please feel free to submit a pull request to get involved.
Note: If you are reading this on github - head over to https://microsoft.github.io/code-with-engineering-playbook/ for a better reading experience
- To increase overall efficiency for team members and the whole team in general.
- Reduce the number of mistakes and avoid common pitfalls.
- Strive to be a better engineer and learn from other people's shared experience.
If you do nothing else follow the Engineering Fundamentals Checklist! It's here to help follow the Engineering Fundamentals.
A breakdown of sections according to the structure of an Agile sprint.
- Keep the code quality bar high.
- Value quality and precision over ‘getting things done’.
- Work diligently on the one important thing.
- As a distributed team take time to share context via wiki, teams and backlog items.
- Make the simple thing work now. Build fewer features today, but ensure they work amazingly. Then add more features tomorrow.
- Avoid adding scope to a backlog item, instead add a new backlog item.
- Our goal is to ship incremental customer value.
- Keep backlog item details up to date to communicate the state of things with the rest of your team.
- Report product issues found and provide clear and repeatable engineering feedback!
- We all own our code and each one of us has an obligation to make all parts of the solution great.
- Agile Development
- Automated Testing
- Code Reviews
- Continuous Delivery (CD)
- Continuous Integration (CI)
- Design Decision Logs
- Design Reviews
- Developer Experience
- Engineering Feedback
- Observability
- Security
- Source Control
- Reliability
See CONTRIBUTING.md for contribution guidelines.