- Research and introduce new technologies
- Systems analysis and design of sub-systems
- Identify the effective technical solutions (programming language and framework etc.) suitable for the system being developed.
- Write clean code and observe the coding guidelines
- Develop testing strategy and test cases
- Be able to code efficiently in one of the mainstream programming languages
- Has experience of taking part in every phase of software development