Job Description
We are seeking a talented Senior Software Engineer with strong experience in C++ development, and good to have automotive domain knowledge. The ideal candidate will have experience leading development efforts and designing complex systems.
Job Responsibilities
- Responsible for programming and testing of C++ applications.
- Object-oriented design and programming in C++ including the std-library.
- Design, Code, test, debug and document software according to the functional requirements.
- Write efficient, portable, high-performance code.
- Participate as a team member in fully agile Scrum deliveries.
- Work collaboratively in an Agile/Scrum team environment.
- Writing code being shared between Linux and Windows environments.
- Provide technical guidance and mentorship to junior developers.
- Write technical documentation and participate in code reviews to ensure code quality and best practices are being followed.
- Provide a Low-Level Design Document for the components.
- Support Lead for technical interviews.
- Quality assurance through test-driven development and unit tests.
- Refactoring of source code to optimise existing components in terms of efficiency, maintainability and quality.
Required Skills
- Bachelor's/master’s degree in computer science, information systems, or a related field experience.
- Strong proficiency in C++, with fair knowledge of the language specification.
- Thorough knowledge of the standard library, STL containers, and algorithms.
- Extensive expertise in software deployment across several platforms and operating systems.
- Proficient understanding of code versioning tools such as Git, and SVN.
- Knowledge of low-level threading primitives.
- Experience in writing end-to-end unit test cases using Boost.
- Excellent analytical, debugging and problem-solving abilities.
Preferred Skills
- XML, Linux / batch scripts and Python scripting knowledge would be preferred.
- Must be conversant with the agile software development approach.
- Excellent teamwork and communication abilities.
- Excellent organisational and time management abilities.
- Experience with automotive protocols (CAN / CCP / XCP/ UDS).
- Familiarity with continuous integration.
- Effective scrum master experience.
- 10+ years of experience.