The candidate should preferably hold a PHD in Computer Science or equivalent, with required strong knowledge and experience on the following areas:
- Software Engineering fundamentals, including System Requirements, Software Development Lifecycle, Planning and Estimation, Risk Management, Metrics, Testing and QA
- Software Development Methodologies: RUP, Agile, etc
- Software Architecture Principles: Object-Oriented Design, Patterns, UML, Design model analysis, Good coding practices
- Modern Software Engineering tools such as Version Control Systems, Dependency Management, Release Management, Issue Trackers, Continuous Integration, Team Communication and Knowledge Sharing, among others.
- Additional knowledge and practical skills in a modern Web MVC framework (Spring MVC, RoR, Django, etc.) would be appreciated.