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 3 year(s) of experience is required
Educational Qualification :15 years full time education
Summary:As a Software Development Engineer, you will engage in a dynamic work environment where you will analyze, design, code, and test various components of application code across multiple clients. Your day will involve collaborating with team members to ensure the successful implementation of software solutions, while also performing maintenance and enhancements to existing applications. You will be responsible for delivering high-quality code and contributing to the overall success of the projects you are involved in, ensuring that all components function seamlessly and meet client requirements. Roles & Responsibilities:- Design, develop, and perform pre-integration of software components for automotive ECUs using C++ and Python.-Implement asynchronous communication mechanisms for efficient data exchange.-Apply multithreading techniques to ensure high performance and responsiveness.-Utilize Rx or similar reactive libraries to build scalable and resilient systems.-Implement and validate automotive diagnostic services, including fault detection, DTC management, and communication over CAN, SOME/IP, and DoIP.-Perform Restbus simulations for ECU development and validation in virtual environments.-Perform pre-integration of software modules and validate their interaction with ECUs and hardware platforms.-Collaborate with cross-functional teams to define, design, and integrate new features.-Write clean, maintainable, and well-documented code.-Debug and resolve issues related to C++ and Python applications.-Optimize code for performance, memory usage, and reliability. Professional & Technical
Skills:
- Automotive ECU Development and Pre-Integration:Hands-on experience in software development, pre-integration, and unit testing for automotive Electronic Control Units (ECUs).-Strong experience in C++, especially in the context of embedded or automotive systems.-Strong skills in Python scripting for automation, testing, and tool development.-Experience with Restbus simulation tools for testing ECU communication in the absence of full hardware networks.-Strong understanding of Automotive CAN protocols and tools (e.g., CANalyzer, CANoe).-Hands-on experience with SOME/IP (Scalable service-Oriented Middleware over IP) and DoIP (Diagnostics over IP) protocols.-Experience with Automotive Diagnostics (UDS, OBD-II, ISO 14229), including DTC handling, session management, and diagnostic services.-Proficiency with Rx or other reactive programming frameworks (if retained intentionally).-Solid understanding of asynchronous communication patterns.-Expertise in multithreading and concurrency control.-Knowledge of low-level programming concepts related to real-time systems.-Familiarity with RTOS and device drivers.-Experience with version control systems like Git.-Experience with protocols like MQTT, CAN, SOME/IP, or Serial Communication.-Hands-on experience with debugging tools, hardware integration, Python-based automation, and pre-integration testing.
Additional Information:-The candidate should have minimum 3 years of experience in Python (Programming Language).-This position is based at our Bengaluru office.-A 15 years full time education is required. -Bachelor or master's degree in computer science, Electronics, or a related field. Qualification 15 years full time education