Job Description
Salary: $100,000 - $130,000
Embedded Software Engineer (Platform & Firmware)
Overview:
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.
Bachelors or Masters 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)
...College provides employees with access to numerous discounts for products, services, and attractions. Position Summary Community DJ - key card access to station Guilford College does not discriminate on the basis of sex/gender, race, color, creed, religion,...
...Job Details The Short Range Mining Engineer is responsible for developing and maintaining rolling mine plans spanning from monthly to a 12-month-plus horizon, with a focus on operational accuracy, geotechnical soundness, and production efficiency. Operating within...
...of commercial litigation experience. The firm handles a variety of litigation issues involving business tort, cryptocurrency and blockchain, data privacy and cybersecurity, employment, intellectual property/technology, trademark infringement, professional liability,...
...Job Description Job Description Executive Opportunity: Agency Principal & Equity Owner | Portland Metro Farmers Insurance - District 24 Farmers Insurance District 24 is seeking a high-caliber business leader to spearhead a new agency location in the rapidly expanding...
...Job Description Job Description Job Title: Structural Engineer (Entry Level) Location: New York, NY Work Schedule: Normal business hour Monday to Friday Job Type: Contract to Hire Pay Rate: $40 to $50 per hour Position Overview Entry Level Structural...