Implement simplified and emergent design and architectural principles & patterns to develop a well-engineered, high quality solution.
Implement and refactor code in accordance with agreed coding and quality standards, be fully aware of technical debt.
Practice continuous integration, check-in frequently, resolve build and test failures immediately and adhere to design and coding standards.
Practice test-driven development by writing automated (unit & integration) tests prior to building code to maintain high test coverage
Collaborate with Product owners (PO) and Quality Assurance (QA) to help in the definition of user stories, acceptance criteria and test cases.
Produce appropriate documentation such as design discussion papers, coding comments, key decision register and user documentation.
Participate in design and technical workshop discussions, story definition, planning and estimation sessions.
Participate in show & tell sessions with clients & stakeholders and retrospectives with the team.
Provides guidance and assistance to team in any aspect of program design, creation, unit testing and documentation.
Considers wider impact of code changes when design and implementation (security, performance, operational requirements etc).
Demonstrate continuous improvement by inspecting and adapting new ideas for improving solutions, tools and processes.
Implement technical solution to correct a defective function of the issue. All works must be carried out with the highest quality to ensure the integrity of the product and meet client's expectations.