PRINCIPAL DUTIES AND RESPONSIBILITIES: Responsible for the application architecture, work with different teams, engineers and third parties as necessary Writing code and unit tests, automation, code reviews and testing Applying design patterns in developing scalable and highly performant application