​
As an Embedded Software Engineer, you will be responsible for:
- Designing and implementing software for embedded devices and systems, transitioning the product from design to manufacturing.
- Developing, coding, testing, and debugging system software.
- Analyzing and enhancing the efficiency, stability, and scalability of system resources.
- Reviewing new project proposals, performing or coordinating software design and analysis activities, and creating prototype builds.
- Interacting with cross-functional teams, suppliers, and manufacturing teams.
- Supervising assigned teams to achieve targeted results (senior roles).
- Supervisory Responsibilities (for Senior Engineers)
- Oversee the daily workflow and schedule of the project.
- Supervise and mentor assigned team employees.
- Evaluate direct reports' performance in consultation with the supervisor.
- Provide regular updates to the Team Leader or Project Head.
Primary Responsibilities:
- Develop and adapt software modules for embedded systems, aligning with product requirements and specifications.
- Design and implement robust software solutions for embedded systems, including key functional and technical blocks.
- Ensure software quality and safety compliance with industry standards (e.g., ISO 26262, AUTOSAR).
- Develop drivers and services for various embedded components.
- Implement embedded security features, including secure boot.
- Develop software for communication interfaces (CAN, LIN, SPI).
- Work with cross-functional teams (e.g., product management, manufacturing) to ensure successful product development.
Requirements
Skills/Experience Required
(Senior positions will require additional supervisory skills/experience in addition to technical skills):
Experience with Embedded C Development in Real-Time Environments, interfacing with Electronics Hardware.
Strong programming experience in C or C++.
Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems. Strong understanding of real-time operating system fundamentals, including schedulers, concurrency, and memory management.
Familiarity with software configuration management tools, defect tracking tools, and peer review processes.
Excellent knowledge of coding techniques, IP protocols, interfaces, and hardware subsystems.
Adequate knowledge of reading schematics and data sheets for components.
Experience in motor control for brushless drives (vector control, block control, sensorless position, and speed observers).
Proficiency with microcontrollers like TI, NXP, STM32 (ARM-based microcontroller experience is preferred).
Ability to translate mathematical concepts into executable code in resource-constrained microcontroller environments.
Deep understanding of common microcontroller architectures and peripherals (timers, PWM drivers, interrupt controllers, DMA controllers, etc.).
Experience with common communication buses such as CAN, SPI, I2C, UART, and Ethernet.
Familiarity with common electronic components and comfort in reading circuit design schematics and contributing to hardware design discussions with design engineers.
Exposure to debugging using lab equipment such as oscilloscopes, multimeters, logic analyzers, and signal generators.
Experience with real-time simulation, model-based design, hardware-in-the-loop, and code generation using Simulink.
Highly Desirable Skills:
Experience with state-of-the-art software development engineering practices (DevOps, CI/CD, Agile).
Experience with simulation software such as MATLAB and Simulink.
Advanced knowledge in automotive embedded architecture.
Advanced knowledge in unit testing and test automation.
Knowledge in ECU programming, AUTOSAR, and Automotive Development Process (A-SPICE).
Knowledge of ISO 26262.
Knowledge in AUTOSAR C 14 coding rules and MISRA C 2008 guidelines.
Security knowledge in High Integrity C (HIC) Coding Standards, SEI CERT C Coding Standards.
Advanced knowledge of control systems.
Excellent problem-solving skills with a solid analytical and practical (hands-on) approach.
Strong documentation and writing skills.
Software team leadership experience is highly desirable for senior roles.
About the Company
Aditya Avartan Technologies Private Limited - Specialized automotive supplier of Switched Reluctance Motors and Controllers.