1. Must possess strong analytical skills to be able to break down complex problems into smaller atomic units of work. 2. Must be able to develop application modules independently and fix any bugs promptly. 3. Do unit testing for the development work carried out. 4. Act as a mentor to the junior resources and provide technical guidance. 5. Troubleshoot problems and provide solutions. 6. Conduct and participate in project planning & scheduling, design discussions, and provide assistance during testing. 7. Willing to learn and adopt new technologies in a short period of time as required by the project. 8. Will require to produce technical documentation as the requirements of the project. 9. Remain up to date with the modern industry practices involved in designing & developing high-quality software. 10. Should be able to do performance engineering and identify and fix bottlenecks.