Lincolnshire, United States
4 months ago
Remote - Lincolnshire, IL
C++ Senior Software Engineer- Remote due to COVID, but will be required to sit in Lincolnshire once restrictions are lifted. Start time would be 9AM Central.
CTO AI services is a central group innovating new AI centric products, supporting Business Units on program acceleration and building an ecosystem that will allow the client to scale its AI components across the business and partners.
As C++ Developer / C++ Software Engineer at our company you will be responsible for participating in the full development lifecycle of our back-end systems, helping design innovative new products, planning and writing code and creating Unit tests. Our team consists of top Engineers, Scientists and thought leaders internationally - so as a C++ Software Engineer you will have the chance to learn and work in an environment where you will get exposure to cutting edge artificial intelligence techniques.
You will also get the opportunity to shape architecture and be influential in applying best practice; using Continuous Integration and TDD. You will also be developing scalable products for cloud platforms, such as Google Cloud and on device AIoT.
You must be passionate, pro-active, ambitious and open to learn latest technologies and trends.
Ensuring good coding practice throughout the team: code review, documenting code and choices, share knowledge with other team members and be able to reuse code without “reinvent the wheel”.
Responding to time critical issues, understand how to balance delivering projects on time, find good/better solutions when building software with the ability to be “technology agnostic” and testing out different solutions to find the best fit for every challenge.
• A Computer Science degree or related technical field or equivalent practical experience
• Strong C++ programming ability - ability to write high quality and maintainable code
• A good understanding of algorithms, software architecture and design
• An ability to collaborate within an Agile team and communicate effectively
• Good problem solving and analysis skills
• Must be a team player: communicative person who works well as individual (doesn’t need hand holding) as well as part of a team. Keen to learn – happy to ask questions, eager to push the boundaries – bring their own ideas, delivery focused who also follow requirements.
• Keen to take ownership, attention to detail and make a difference
• Ability to respond under a dynamic work environment with quickly changing priorities
• Solid experience of coding in C++11 or newer, multi-threading, parallel-processing, code-optimisation, and low-level debugging.
• At least 5 years’ experience in commercial environment and full development life cycle and testing. Working knowledge of TDD is essential.
• Excellent Object-oriented design principles and data structures
• Good experience using GIT or other version control systems.
• Familiar with Agile development methodology.
A plus in a candidate would have the below knowledge/qualifications
• Experience with parallel-processing on GPUs using CUDA.
• Experience with any machine-learning frameworks (OpenVino, TensorFlow, Caffe, Torch).
• Experience of development within Google Cloud.
• Experience of scripting using Bash or Python.
• Experince of MLFlow