C++ Developer - MFC/TDD/API (3-5 yrs)
Job description :
- A Developer for the India Development Centre (IDC) is responsible for the design and development of software on the Peloris Tissue Processor system in line with Leica Biosystems processes and quality standards.
- The Peloris Tissue Processor is a product of the Core Histology Systems business unit.
Key Responsibilities :
- Design and develop of software utilising C++, Microsoft Foundation Classes (MFC) and Windows application development.
- Execute Software Engineering processes.
- Writing high quality, testable code.
- Perform structured code reviews, critiquing code produced by others and providing constructive comment.
- Perform proof of concepts to resolve complex technical challenges.
- Mentor, train and lead developers in line with project objectives and priorities.
- Delivering working, tested software with each sprint with early engagement of testers.
- Deliver detailed effort estimates for software design implementation in line with defined Agile processes.
- Investigate and analyse software related issues.
- Contribute to technical documentation.
- Translate product requirements into application design.
Reporting Structure :
- On a day-to-day basis, this role reports into the Peloris Project Manager.
- The incumbent will work closely with the following stakeholders as required:
- Systems Engineer (off-shore) and Technical Lead (on-site) to understand, critique and implement technical software solutions within the constraints of the current architecture and designs.
- Systems Analyst (on-site) to consume and provide feedback on design inputs required by the development team.
- Technical Product Owner (off-site) to seek feedback on the suitability of proposed technical solutions and alternatives.
- Scrum Master (or Project Manager) and team members to share estimates and assist with the creating plans to delivery releases.
- Graduate or post-graduate qualifications in Computer Science or Software Engineering (or equivalent qualification).
- 3+ years experience in core technologies required.
Implementation experience with software development technologies subject to project needs. Technologies will include :
- Microsoft Foundation Classes (MFC)/C++ with experience in developing Graphical User Interfaces (GUI) and instrumentation applications.
- Experience with multi-threaded designs and implementations using Win32 libraries and APIs.
- Experience with serial and network communications libraries and APIs.
- Experience utilizing unit testing frameworks such as cppUnit or xUnit.
- Experience with Agile best practices such as pair programming, peer review and Continuous Integration.
- Practical understanding and use of source control systems, such as GIT.
- Strong verbal, documentation and communication skills.
- A thorough understanding of the software development life cycle
- Experience working on medical applications or other highly regulated application domains.
- Comfortable with Test Driven Development (TDD) or Behaviour Driven Development (BDD) workflows.
- Experience in Domain Driven Design (DDD) and design patterns.
- Practical understanding and use of C++ network protocol libraries for communications using REST APIs.
- Practical understanding and use of secure coding techniques.