Senior Software Developer C++
luxsoft
Job Summary
The Luxoft team is responsible for integrating system function modules into autonomous driving ECUs. They have been supporting the client since 2018, ensuring smooth operation of software components, system functions, and adaptive AUTOSAR. Existing software components critical for autonomous driving will be adapted and enhanced. Key challenges include debugging Hardware-in-the-Loop, fixing integrated code bugs, and enabling core functionalities like flashing, diagnostics, and cryptography. Responsibilities include developing uncompromising software solutions, platform development for safety-critical systems on QNX, designing and validating C++ software in HIL, and ensuring software performance, robustness, and security.
Must Have
- Experience in object-focused software development and quality assurance
- 7+ years of experience in C++ 14, with future projects requiring C++17
- Knowledge of Misra Rules and Guidelines
- Familiarity with Clang-tidy & Klocwork
- Experience with Jira, Confluence, Codebeamer, git, Bazel, Linux development environments, and cross-compiler toolchains
- Writing robust software with 100% Unit test coverage using google test/mock
- Understanding of Python for hardware integration tests using Pytest
- Contributing to design and concepts based on customer requirements
- Collaborating with software architects and senior engineers
- Ability to break down complex problems into smaller tasks for practical solutions
- Estimating and improving estimates using scrum poker and other techniques
- Ability to work independently and proactively
Good to Have
- Solid understanding of POSIX, QNX experience is desired
- Experience in Adaptive AutoSAR
- Experience in QNX Momentics
- University degree in Computer Science or comparable qualification
- Experience in Safe Software development, ISO 26262
- Experience working in Agile processes
- Experience with performance optimization techniques
Job Description
Project description
The Luxoft team is responsible for the integration of system function modules / system functions into the family of autonomous driving ECUs.
We have been supporting the client since 2018 in ensuring that the Software Components, System Functions, adaptive AUTOSAR and other components work together smoothly.
Existing Software Components which are essential to enable the future of autonomous driving are to be adapted and enhanced according to updated requirements.
Challenges include debugging the Hardware-in-the-Loop, bug fixing of integrated code, and enabling core functionalities such as flashing, diagnostics and cryptography.
Responsibilities
Develop uncompromising software solutions for the autonomous driving platform
Platform development for safety critical systems based on QNX.
Designing and developing the software in C++ to its validation in HIL and its seamless integration with both hardware and vehicle.
Ensuring that the performance, robustness and security of the developed software are leading the benchmark.
Working with Agile development methods and modern tools, participation in Agile rituals.
Skills
Must have
Experience in the field of object-focused software development and quality assurance
7+ years of experience in C++ 14 (object lifetime, memory management, templates and other software design best practices as implemented in C++). Later projects will need C++17
Misra Rules and Guidelines
Clang-tidy & Klocwork
Experience in Jira, Confluence, Codebeamer, git, Bazel, Linux development environments and cross-compiler toolchains.
Writing robust and reliable software with 100% Unit test coverage using google test/mock.
Understanding of Python for navigating hardware integration tests in Python to control the software on the target using Pytest.
Contribute to design and concepts, based on customer-provided use cases and requirements.
Work with software architects and senior engineers, with the ability to contribute towards internal Area component requirements derived from high-level concepts.
Ability to tackle complex problems by dividing into smaller tasks for practical solutions. Define constraints on tasks to obtain optimal solutions, focus on customer deliveries. Organize own work towards high-level goals
Know how to estimate and improve estimates over time, principles of scrum poker and other estimation techniques at a high level (Epics), as well as a detailed level (Tasks)
Ability to work independently and proactively.
Nice to have
Solid understanding of POSIX, experience in QNX is desired
Experience in Adaptive AutoSAR
preferably
Experience in QNX Momentics
University degree in Computer Science (or comparable qualification).
Experience in Safe Software development, ISO 26262
Experience working in Agile processes
Experience with performance optimization technics
Other
Languages
English: B2 Upper Intermediate
Seniority
Senior