Jobs›Software Engineer, Pune

Software Engineer, Low-Level Driver Development

Ampere Computing · Pune
PayPay not listed
WherePune
TypeFulltime
Posted5 Nov3 days ago, via Indeed
Kaam checked
No fee, deposit or pay-to-apply signs
Good spoken and written English expected
Day work
No vehicle or licence needed
About this job

Description

Invent the future with us.

Ampere is a semiconductor design company for a new era, leading the future of computing with an innovative approach to CPU design focused on high-performance, energy efficient AI compute.

As a pioneer in the new frontier of energy efficient high-performance computing, Ampere is part of the Softbank Group of companies driving sustainable computing for AI, Cloud, and edge applications.

Join us at Ampere and work alongside a passionate and growing team - we’d love to have you apply! About the role

We are seeking a highly skilled Software Engineer, CAN Firmware and Low-Level Driver Development to lead the architecture, development, integration, and validation of production-grade CAN/CAN FD software for Arm-based SoCs.

This role requires strong hands-on experience in embedded C, low-level driver development, Arm processor architecture, communication protocols, real-time software, and hardware/software integration. The successful candidate will be a technical leader who can independently drive complex CAN controller bring-up and driver development, resolve difficult silicon/firmware issues, influence hardware and software architecture, and mentor engineers across the firmware organization.

This is a hands-on technical role, where the candidate is expected to review specifications, write and review code, debug on target hardware, analyse protocol traces, define software architecture, establish validation strategy, and guide engineers working on CAN firmware and associated software components.

What you’ll achieve

CAN and CAN FD Driver

  • Define the firmware architecture and technical roadmap for low-level CAN and CAN FD controller drivers on Arm-based SoCs.
  • Develop scalable driver designs for Classical CAN and CAN FD; bit-rate switching (BRS); dedicated TX buffers, TX FIFOs, TX queues, mailboxes, and RX FIFOs; hardware acceptance filters; interrupt-driven and polling operation; timestamping where supported; error handling, diagnostics, and recovery.
  • Define robust software state machines for controller initialization, start/stop, sleep/wakeup, error-active, error-passive, bus-off, recovery, reset, and degraded operation.
  • Develop and maintain production-quality embedded C code for CAN controller initialization, transmit, receive, interrupt handling, error handling, and recovery.
  • Design for multi-core, ISR/task, and concurrent access scenarios where applicable.

Arm SoC and Hardware/Software Integration

  • Drive CAN controller bring-up on Arm-based SoCs and evaluate hardware behavior against specifications and expected protocol behavior.
  • Analyze hardware/software interface specifications and identify ambiguous, incomplete, unsafe, or untestable requirements.
  • Influence early SoC and IP architecture decisions related to CAN controller capabilities, memory sizing, interrupt architecture, diagnostics, and performance.
  • Partner with post-silicon validation teams to develop bring-up plans, debug methodologies, register tests, stress tests, and protocol conformance tests.

Integration

  • Define and support CAN driver integration within a Platform stack, including CanDrv; CanIf; PduR; COM; CanSM; CanTrcv; Dem; E2E; BswM, EcuM, and WdgM, as applicable.
  • Ensure clear separation of responsibilities between low-level driver, CAN interface layer, communication stack, diagnostics, and application software.
  • Contribute to customer-facing integration guides, application notes, reference drivers, and debug documentation.

Reliability, and Diagnostics

  • Design CAN firmware behavior aligned with industry standard development practices.
  • Define software mechanisms to detect and report bus-off; error passive and error warning conditions; protocol errors; ACK errors; RX FIFO overflow; RX buffer/message loss; TX timeout; message RAM ECC/parity errors; controller clock/reset faults; transceiver fault/status conditions; configuration corruption; interrupt failures or abnormal interrupt load.
  • Develop diagnostic strategies, persistent error capture, health monitoring, and recovery policies suitable for production environment.
  • Establish high standards for embedded software quality, maintainability, robustness, and testability.
  • Drive adoption of secure coding practices, including MISRA C, CERT C, static analysis, defensive programming, and code review discipline.
  • Define unit, integration, system, and hardware-in-the-loop validation strategies for CAN drivers.
  • Analyze field, customer, and lab failures; develop reproducible test cases and permanent corrective actions.

Technical Leadership and Mentoring

  • Serve as the technical authority for CAN firmware and low-level CAN driver architecture.
  • Lead architecture reviews, design reviews, code reviews, and technical debugging sessions.
  • Mentor firmware engineers in embedded C, CAN/CAN FD protocol behavior, Arm architecture, driver design, debugging, and quality practices.
  • Create reusable design patterns, driver templates, checklists, debug guides, and validation frameworks.
  • Lead technical discussions with hardware design, verification, validation, systems, cybersecurity, product, field applications, and customer teams.
  • Drive technical risk identification, mitigation planning, and escalation for critical CAN firmware deliverables.

About you

  • Bachelor's degree with 5 years or Master’s degree with 3 years of experience in embedded firmware or low-level driver development experience, with significant experience in real-time embedded systems
  • Demonstrated experience owning complex firmware subsystems from architecture through bring-up, validation, customer integration, and maintenance.
  • Experience working in a semiconductor company or embedded platform in a product environment is strongly preferred.
  • Strong hands-on expertise in Classical CAN; CAN FD; bit-rate switching; arbitration; error frames and

Never pay to get work. If a listing asks for a fee, it is a scam. The ten signs →

Apply on Indeed
Opens in.indeed.com in a new tab