C++ Software Engineer Inside IR35 contract £450 - 550 per day 3 days per week on-site near Crawley Job Summary: Conceptualise, designs, codes, debugs and performs development activities in accordance with designated standards. Shares technical expertise and provides training and guidance to other team members. Essential Job Duties and Responsibilities: Using the current programming language and technologies provide creative, thorough, and practical solutions to a wide range of technical problems. Share technical expertise within the department and other departments. Analyse and contribute to system and subsystem requirements specifications and design definitions. Design, develop and unit test software programs using C++ in a Linux and/or Windows development environment. Complete high- and low-level detailed software design specifications, storyboards and interface specifications. Provide support of products through conception to product delivery including problem solving, defect maintenance and support to customer services (which may require out of hours support in certain circumstances). Prepare reports, manuals, procedures, and status reports. Provide training and guidance to other team members. Skills, Knowledge and Experience Essential: Experience with Windows and Linux Operating Systems. Experience with scripting languages PERL, BASH, PYTHON. Experience in Software Engineering with a proven track record of specification, design, and development. An effective problem solver with the ability to understand and resolve complex issues. Experience of Object-Oriented Design (e.g. UML) and implementation, along with Design patterns. C++ and/or C# Experience of applying test-Driven Development, SOLID principles and Clean Code Ability to contribute to the development of the architecture for applications. Demonstrable experience of defining test plans and test data requirements. Desirable: Experience working in a similar industry. Scrum or Kanban experience. GIT experience. Jenkins or equivalent CI build server experience. Experience of maintaining and improving coding standards.