- Contribute in all phases of the development lifecycle.
- Write well designed, testable, efficient code.
- Ensure designs are in compliance with specifications.
- Prepare and produce releases of software components.
- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.