Back to Jobs
Recently postedTechnology

Senior Embedded Software Engineer

ENIN SYSTEMS INCSan Jose, CA🇺🇸United States

Quick overview

SeniorityMid Senior
Work modeHybrid
LocationSan Jose, CA, United States
GitEmbedded SystemsC++IoTJenkinsPythonAgileCI/CDLinux

Job description

Job Title: Senior Embedded Software Engineer

Job Summary :

We are looking for an experienced Senior Embedded Software Engineer to design, develop, test, and maintain embedded software for hardware-based products. The ideal candidate will have strong experience in C/C++, microcontrollers, RTOS, embedded Linux, device drivers, and hardware-software integration.

The candidate will work closely with hardware engineers, system architects, and cross-functional teams to develop reliable, high-performance embedded systems.

Key Responsibilities

  • Design, develop, and maintain embedded software using C and C++.

  • Develop firmware for microcontrollers and microprocessors.

  • Work with RTOS platforms such as FreeRTOS, QNX, and VxWorks.

  • Develop and debug device drivers and low-level software.

  • Work with embedded Linux and Linux kernel modules.

  • Integrate software with hardware components and peripherals.

  • Perform debugging using JTAG, oscilloscopes, and logic analyzers.

  • Optimize software for memory usage, performance, and power consumption.

  • Develop communication protocols such as UART, SPI, I2C, CAN, and Ethernet.

  • Conduct unit testing, integration testing, and system-level testing.

  • Troubleshoot complex hardware and software issues.

  • Participate in code reviews, design discussions, and technical documentation.

Required Technical Skills

  • Strong programming experience in C, C++, and Embedded C.

  • Experience with ARM, ARM Cortex-M, and other microcontroller architectures.

  • Knowledge of Embedded Linux, Linux kernel, and device drivers.

  • Hands-on experience with RTOS (FreeRTOS, QNX, VxWorks).

  • Understanding of hardware interfaces: SPI, I2C, UART, CAN, USB, and Ethernet.

  • Experience with debugging tools such as JTAG, GDB, Lauterbach, and oscilloscopes.

  • Knowledge of bootloaders, memory management, and interrupt handling.

  • Experience with Git, Jenkins, and CI/CD tools.

  • Knowledge of software development lifecycle (SDLC) and Agile methodologies.

Required Qualifications

  • Bachelor's or Master's degree in Computer Science, Electrical Engineering, Electronics Engineering, or a related field.

  • 10–15+ years of experience in embedded software or firmware development.

  • Strong problem-solving and analytical skills.

  • Experience working with hardware and software engineering teams.

  • Excellent communication and technical documentation skills.

Preferred Skills

  • Experience with AUTOSAR and automotive embedded systems.

  • Knowledge of IoT and connected devices.

  • Experience with Bluetooth, Wi-Fi, and wireless communication.

  • Knowledge of Python scripting and automation testing.

  • Experience with functional safety standards such as ISO 26262.

  • Familiarity with cybersecurity in embedded systems.

Similar jobs