About the Role
We are looking for a talented and experienced Lead Software Developer with strong expertise in Modern C++, RUST, and embedded Linux development to join our innovative automotive software team in Bangalore. As a key technical leader, you will drive the design, development, and implementation of cutting-edge software components in the automotive infotainment and system lifecycle management space.
Key Responsibilities
- Lead software development initiatives focusing on embedded systems using Modern C++ and RUST.
- Design and implement well-architected, modular, and maintainable software components with strong emphasis on API design, object-oriented, and functional programming principles.
- Develop and maintain software for real-time operating systems (RTOS) and embedded Linux platforms, ensuring high reliability and performance.
- Utilize Yocto build system, BitBake recipes, and CMake to create and maintain embedded Linux distributions tailored for automotive use cases.
- Collaborate with cross-functional teams including architects, testers, and product owners to define software requirements and translate them into technical designs.
- Conduct code reviews, design discussions, and debugging sessions to ensure software quality and adherence to best practices.
- Mentor and coach junior developers to foster skill development and knowledge sharing within the team.
- Apply strong analytical skills to troubleshoot complex software issues and optimize system performance.
- Drive continuous improvement initiatives in software development processes, tooling, and automation.
- Participate actively in Scrum ceremonies, contribute to sprint planning, and deliver within agile timelines.
- Engage in hackathons and innovation activities to explore emerging technologies and innovative software solutions.
Required Experience and Skills
Minimum 5 years of professional software development experience, preferably in the automotive or embedded software domain.Expertise in Modern C++, including advanced language features, API design, component-level architecture, unit testing, and both object-oriented and functional programming paradigms.Solid programming skills in RUST, with a strong understanding of its advantages and trade-offs compared to other languages.Hands-on experience with real-time operating systems (RTOS) and embedded Linux environments.Strong scripting abilities (e.g., Python, Shell scripting) to automate build, test, and deployment processes.Proficient with Yocto, BitBake, and CMake build systems, and experience managing compiler toolchains such as GCC and Clang.In-depth knowledge of multi-platform development, state machines, event-driven programming, and remote procedure calls.Familiarity with Linux networking, IPC mechanisms, and core Linux stack components.Excellent problem-solving and debugging skills, with the ability to analyze complex software designs and implement improvements.Proven ability to work collaboratively in Agile Scrum teams.Strong communication skills to lead technical discussions, resolve conflicts, and negotiate design choices.Experience in coaching and mentoring junior developers to elevate team capabilities.(ref : hirist.tech)