Candidate should possess excellent communications skills to participate in requirements, design, and code reviews, thoroughly understand version control and software quality attributes, such as testability, portability, and maintainability, and enjoy a self-driven and collaborative development approach