Low-Level Embedded Software Developer
BMW TechWorks India · Pune
Collected role description
Role overview
Low-Level Embedded Software Developer at BMW TechWorks India
We are seeking an experienced software developer with a strong background in embedded systems, specifically within the automotive industry, to join our team.
Responsibilities
- Develop with us the next generation of embedded software platform for highly networked and innovative automotive software functions in an international team.
- Work closely with software architects, functional safety experts, and electrical/hardware engineers to develop robust ECU platform solutions.
- Collaborate in an international and interdisciplinary environment with internal teams and high-tech industry partners.
Preferred qualifications and skills
- Experience with automotive software platforms.
- Experience with Python or other scripting languages for automation and development.
- Familiarity with Continuous Integration (CI), automated testing, Agile, and Test-Driven Development (TDD).
- Knowledge of functional safety concepts and ISO 26262.
- Experience with hardware bring-up, board-level debugging, and software-hardware integration.
- Experience working with embedded software platform integration across different microcontroller architectures
Employment details
- Location: Pune [Maharashtra] [India]
Additional role details
- Modern development methods and technologies such as continuous integration and testing, agile development, test-driven development or domain-specific languages are a fixed part of our work.
- What awaits you?
- Develop low-level embedded software, device drivers, and software architecture for a variety of microcontrollers powering the next generation of central Electronic Control Units (ECUs).
- Enable the software stack for new hardware generations and work with partners to define the technical details and interfaces of the ECU hardware platform.
- Independently coordinate technical activities with relevant stakeholders and contribute proactively to the development of the ECU platform.
- What should you bring along?
- University degree in Computer Science, Electrical/Electronics Engineering, or a comparable field, or equivalent professional qualification.
- Strong proficiency in C++ and solid knowledge of software development best practices.
- Strong knowledge and hands-on experience in Board Support Package (BSP) and device-driver development for embedded systems.
- In-depth knowledge of RTOS concepts and CPU architectures such as ARM and/or TriCore.
- Experience with automotive communication interfaces and bus systems such as Automotive Ethernet, CAN, LIN, I²C, and SPI.
- Strong experience with hardware debugging and analysis tools, preferably TRACE32, as well as oscilloscopes and logic analyzers.
- Experience in developing and integrating software platforms for embedded devices is advantageous.
- Familiarity with hardware bring-up and board-level debugging.
- Knowledge of Automotive Ethernet switches is beneficial.
- Knowledge of scripting languages such as Python is advantageous.
Collected experience requirement
2-4 years