Bosch
,
Stockport, Greater Manchester
C++ Developer
Overview
Job Description
Due to increasing customer interest and business opportunities for our Cloud-based solution, we are expanding our product development team based in Stockport with additional software engineering capability. Employing a hybrid architecture, this product is the subject of two live projects with major global vehicle manufacturers, with more in the pipeline for 2019. The team has developed a continuous build and deployment pipeline supported by high-coverage automated tests. There are further opportunities for refinement and improvement in many areas of software, architecture, deployment models and system testing that will present an interesting challenge for the right candidate. * Work together with fellow Scrum team members and the Product Owner to refine and split user stories * Design and develop software features based on tasks defined together with fellow Scrum team members * Investigate and correct software defects * Define and implement automated software tests against task and user story acceptance criteria * Peer-review code developed by other team members * Demonstrate completed software internally and occasionally in customer Sprint Reviews Qualifications: We are a multi-skilled development team and for this role, we are seeking a candidate with a bias towards C++, POSIX, computing platforms/ OS, embedded systems, Linux and networking. Knowledge and experience in communication protocols including automotive (e.g. CAN), web-based applications and technologies (HTML5, JavaScript, JEE) would be beneficial, but not essential. Essential: Degree level in a relevant discipline (Computer Science or Electronic Engineering) or equivalent industrial experience Three or more years' experience of developing production software C++ 11 software development and unit testing Cross platform development experience (ideally two from Windows, Linux, iOS or Android) Network protocols (UDP, TCP/IP) Demonstrable software design skills Desirable: Automotive networks and communication protocols Experience developing or maintaining continuous integration (CI) and build systems (e.g. Jenkins) Jira for managing development and correcting defects Agile development as part of a Scrum team Automated end-to-end test development (e.g. Robot, Selenium)