- Responsible for implementing effective software and tools for given designs.
Key Responsibilities and Accountabilities
- Develop effective software that meets given specifications.
- Review and give feedback on others’ code.
- Write tests using automated test-driven techniques for ensure code quality.
- Integrate the software with monitoring and support tools.
- Support system integration in its operating environment.
- Write and review technical documentation.
- Help troubleshoot and resolve issues throughout the product life cycle, including out of hours support for incident resolution.
- Participate in the team’s agile planning and delivery process.
- Participate in the team’s software development methodologies, such as pairing, code and documentation reviewing, and continuous delivery.
- Learn new technologies and keep informed of existing technologies.
Knowledge, skills, training and experience
- Experience writing and maintaining robust production software.
- Competence in one or more mainstream development languages and frameworks.
- Competence with one or more mainstream development and deployment tool chains(Integrated Development Environment (IDE), Source Code Control System (SCCS), Continuous Integration (CI)).
- Knowledge of the web architecture and key technologies (Hypertext Transfer Protocol (HTTP), Domain Name System(DNS), distributed design).
- Competence in test driven development and broader testing & QA concerns.
- Competence in developing for operational concerns (monitoring integration, performance testing, security considerations).
- Experience of project working and professional software development processes, including agile
- Collaboration within a team – ability to speak up, challenge, agree and commit.
- Experience of database design and use in software applications.
- Takes responsibility for delivering tasks to completion.
- Understanding of designing and implementing for non-functional concerns.
- Worked in a professional software development environment on several projects (including experience in testing, design and release).
- Experience of releasing software to a production use case.
- Participated in reviews and inspections of code.
- Software Engineering or Computer Science Degree or equivalent.