We are seeking an Embedded Software Engineer (Platform & Firmware) to design, develop, and test software that interfaces directly with hardware, such as microcontrollers and processors in embedded systems. This role focuses on foundational software development, including drivers, bootloaders, and firmware, using C, C++, and assembly to manage system resources and optimize device performance.
You will need a deep understanding of computer architecture, hardware-software integration, and low-level debugging. As a core member of our software engineering team, you will collaborate closely with embedded software and hardware engineers to deliver high-performance, reliable systems.
Key Responsibilities:
• Develop Low-Level Software: Write and maintain firmware, bootloaders, and device drivers for embedded hardware platforms. • Optimize Performance: Ensure code efficiency and performance on resource-constrained systems (limited memory, CPU, power). • Hardware-Software Integration: Collaborate with hardware teams to validate and troubleshoot system-level issues. • Debug and Test: Use tools like oscilloscopes, logic analyzers, and in-circuit debuggers to identify and resolve issues at the hardware/software boundary. • System Resource Management: Implement low-level system features such as power management, memory allocation, and communication protocols (SPI, I2C, UART, etc.).
Required Skills and Qualifications:
• Proficiency in C, C++, and assembly language for embedded development. • Strong understanding of microcontrollers, processors, and memory management. • Experience with device trees, real-time operating systems (RTOS), and device driver development. • Skilled in using low-level debugging tools: oscilloscopes, logic analyzers, JTAG, ICE, etc. • Excellent analytical and problem-solving skills to address complex hardware/software integration issues. • Bachelor’s or Master’s degree in Computer Engineering, Electrical Engineering, or Computer Science.
Preferred skills:
The ideal candidate will also have:
• Experience with EtherCAT technology • CAN ecosystem Software: DeviceNet or CANopen stacks • Embedded Linux Platform Software: Device tree, init/system services, userspace deamons, kernal • Diagnostic tooling: Python utilities for log parsing and packet/trace inspection • PLC familiarity: (software and hardware)
All Job Ads are subject to GrabJobs’s Terms of Service. We allow users to flag postings that may be in violation of those terms. Job Ads may also be flagged by GrabJobs moderation team. However, no moderation system is perfect, and flagging a posting does not ensure that it will be removed.
Be the first to receive the latest Others Full-Time Jobs in the US.
Setup your job alert:
By activating job alerts, I agree to GrabJobs Terms & Privacy Policy. I can unsubscribe to job alerts anytime.
Skip
GrabJobs is the no1 job portal in the US, connecting you to thousands of jobs fast!
Find the best jobs in the US, apply in 1 click and get a job today!