Job
Description
About The Role
Project Role :Software Development Lead
Project Role Description :Develop and configure software systems either end-to-end or for a specific stage of product lifecycle. Apply knowledge of technologies, applications, methodologies, processes and tools to support a client, project or entity.
Must have skills :Python (Programming Language)
Good to have skills :NA
Minimum 5 year(s) of experience is required
Educational Qualification :15 years full time education
As a Software Development Lead, you will be responsible for developing and configuring software systems, either end-to-end or for specific stages of the product lifecycle. Your typical day will involve collaborating with various teams, applying your knowledge of technologies and methodologies, and ensuring that the software solutions meet client needs and project requirements. You will engage in problem-solving and decision-making processes that drive the success of the projects you oversee, while also mentoring and guiding your team members to achieve their best work.Roles & Responsibilities:1.Design, develop, and perform pre-integration of software components for automotive ECUs using C++ and Python.2.Implement asynchronous communication mechanisms for efficient data exchange.3.Apply multithreading techniques to ensure high performance and responsiveness.4.Utilize Rx or similar reactive libraries to build scalable and resilient systems.5.Implement and validate automotive diagnostic services, including fault detection, DTC management, and communication over CAN, SOME/IP, and DoIP.6.Perform Rest-bus simulations for ECU development and validation in virtual environments.7.Perform pre-integration of software modules and validate their interaction with ECUs and hardware platforms.8.Collaborate with cross-functional teams to define, design, and integrate new features.9.Write clean, maintainable, and well-documented code.10.Debug and resolve issues related to C++ and Python applications.11.Optimize code for performance, memory usage, and reliability.1.Professional & Technical Skills:
Hands-on experience in software development, Automotive ECU Development and Pre-Integration, unit testing for automotive Electronic Control Units (ECUs).2.Strong experience in C++, especially in the context of embedded or automotive systems.3.Strong skills in Python scripting for automation, testing, and tool development.4.Experience with Rest-bus simulation tools for testing ECU communication in the absence of full hardware networks.5.Strong understanding of Automotive CAN protocols and tools (e.g., CANalyzer, CANoe).6.Hands-on experience with SOME/IP (Scalable Service-Oriented Middleware over IP) and Do-IP (Diagnostics over IP) protocols.7.Experience with Automotive Diagnostics (UDS, OBD-II, ISO 14229), including DTC handling, session management, and diagnostic services.8.Proficiency with Rx or other reactive programming frameworks (if retained intentionally).9.Solid understanding of asynchronous communication patterns.10.Expertise in multithreading and concurrency control.11.Knowledge of low-level programming concepts related to real-time systems.12.Familiarity with RTOS and device drivers.13.Experience with version control systems like Git.14.Experience with protocols like MQTT, CAN, SOME-IP, or Serial Communication.15.Hands-on experience with debugging tools, hardware integration, Python-based automation, and pre-integration testing.
Additional Information:1.The candidate should have minimum 5 years of experience in Python (Programming Language).2.This position is based at our Bengaluru office.3.A 15-year full time education is required (Bachelor or Master degree in computer science, Electronics, or a related field). Qualification 15 years full time education