Job Title:
Engineer - Software
Location:
Pune
Experience:
2+ Years
Job Summary:
We at Accolade Electronics are looking for a skilled Embedded Software Engineer with experience in automotive electronics to join our engineering team. The role involves developing, integrating, and optimizing embedded software solutions for automotive applications while ensuring compliance with automotive industry standards. The candidate will work closely with cross-functional teams to deliver reliable, efficient, and high-performance embedded systems for automotive applications.
Key Responsibilities:
-
Develop, test, and maintain embedded firmware using C/C++ for ARM‑based MCUs.
-
Work with communication protocols such as SPI, I2C, UART, CAN, LIN, RS232.
-
Implement network communication using TCP, UDP, MQTT.
-
Develop and integrate device drivers for various peripherals.
-
Develop Unit testing and Sanity tests for developers, Perform Static analysis, understanding MISRA rules.
-
Participate in system integration, debugging, and optimization.
-
Contribute to technical documentation and code reviews.
-
Work with RTOS-based architecture (FreeRTOS, ThreadX, etc.).
-
Integrate and debug TCP, UDP, MQTT communication for device-to-cloud connectivity.
-
Implement socket handling, reconnection logic, keep-alive, packet framing, and QoS handling.
-
Work with telematics communication flows (GPS, GSM/LTE, BT/BLE modules).
-
Implement boot-up sequences, IRQ vector table updates.
-
Perform board bring-up and low-level debugging during hardware prototype validation.
-
Develop firmware in FreeRTOS or ThreadX environment.
-
Design tasks, queues, semaphores, mutexes, event groups, and timers.
-
Debug race conditions, priority inversion, and timing issues.
Required Skills & Competencies:
-
Strong programming skills in: C, C++, Python/Shell for tooling and automation.
-
Deep understanding of microcontroller architecture (ARM Cortex preferred).
-
Experience with peripheral interfaces: SPI, I2C, CAN, UART, LIN, RS232.
-
Knowledge of networking protocols: TCP/IP stack, UDP, MQTT.
-
Exposure to RTOS concepts: tasks, scheduling, queues, mutexes.
-
Experience writing low-level drivers and application-layer logic.
-
Familiarity with version control (Git). Ability to understand/ create Software requirements, HLD, LLD and state flow.
-
Strong understanding of ASPICE and Functional Safety (ISO 26262).
-
Implement state machines, task structures, interrupt handlers, timers, buffers, and queue-driven logic.
-
Design initialization sequences for clocks, PLL, watchdog, timers, and power modes.
-
Understanding of secure communication protocols: TLS 1.2/1.3, DTLS, IPsec, SSH, secure CAN (SecOC), secure UDS. tools such as OpenSSL/wolfSSL/mbedTL, CANoe/CANalyzer, Wireshark.
-
Pen test experience: - Secure Boot bypass tests, Firmware tampering attempts
-
Protocol fuzzing (CAN, UDS, DoIP), Firmware reverse engineering (Ghidra, IDA, Binary Ninja) Experience with Telematics systems: GNSS (GPS/GNSS parsing), LTE/4G modules, CAN vehicle data.
-
Experience in FOTA, bootloader, secure update mechanisms.
-
Cloud IoT familiarity (AWS IoT, Azure).
-
Automotive knowledge (OBD-II, CAN frames, J1939 basics).
-
Strong teamwork
-
Strong communication and stakeholder management skills
-
Strategic thinking with execution focus
-
Qualifications:
-
BE/ B.Tech/ ME/ M.Tech in Electronics / Electrical / EnTC / Instrumentation Engineering
-
2+ years of experience