Job Description
Senior Software Engineer (C++)
C++ development experience requirements:
Proficient Modern C++ experience (minimum 11, ideally 14 and later).
Experience in developing multi-threaded applications.
Experience of debugging on target hardware.
Experience in platform development and a good understanding of Linux.
Job Description:
* Design, develop and test software programs.
* Analyse and contribute to system and subsystem requirements specifications and design definitions.
* Complete high- and low-level detailed software design specifications, storyboards and interface specifications.
* Provide support of products from conception through to product delivery including problem solving and defect maintenance.
* Prepare reports, manuals, procedures and status reports.
* Provide training and guidance to other team members.
Education and Qualifications:
Bachelor of Science degree in computer science, electrical engineering, or related field or equivalent professional experience or combination of both.
Skills, Knowledge and Experience:
* Experience in Software Engineering with a proven track record of specification, design and development.
* Demonstrable experience of defining test plans and test data requirements.
* An effective problem solver with the ability to understand and resolve complex issues.
* Experience in troubleshooting and debugging applications.
* Experience of Object-Oriented Design and implementation, along with Software Design patterns.
* Ability to contribute to the development of the architecture for applications.
* Experience of maintaining and improving coding standards.
* Experience of software best practices such as Automated Testing (Google Test), Continuous Integration, Test Driven Development, SOLID and Clean Code principles.
* Scrum or Kanban experience in Agile teams.
* GIT, Jenkins, Bitbucket (or similar) and Conan experience.
* Experience using DOORS, Test Rail and Jira.
* Experience working with test teams to optimise application performance.