- Simplicity of code, low cyclomatic complexity
- No duplication
- No warnings & static-analysis findings
- Continuous-integration gating to safeguard these qualities
- Handling of expected errors and unexpected exceptions
- Error-messages understandable to a user
- Unit tests of logic
- Integration tests with off-the-shelf components
- System test with the full integration
- Clean repository: avoid off-the-shelf components
- Clean deployment: production (Release build), automated setup,
- Error-messages understandable to service/operations.
- Utilize the full capability of the platform. Example: build 64 bit if the runtime environment supports it.
- How have you worked as a team and as individuals?
- Illustrate parts where you worked together and individual contributions, backed by GitHub commits
- Ability to relate to real-world users and situations
- Sequences of actions documented in scripts / automation
- Document manual steps in markdown files
- Rationale documented in markdown files
- How did the second team receive your knowledge and deliverable?
- What did they find easy? What parts were difficult?