Embedded Software Engineer - II
Total Tech Specialists
About the role
About
The successful candidate will be responsible for designing, developing, and testing the low-level software (firmware) that controls the functionality of electronic hardware devices, like embedded systems and computer peripherals, requiring a deep understanding of hardware architecture and proficiency in programming languages like C/C++ to create code that interacts directly with the hardware components, often utilizing real-time operating systems (RTOS) to ensure timely system responses; they collaborate with hardware engineers to ensure seamless integration and troubleshoot issues throughout the product development cycle.
Essential Job Duties & Responsibilities:
- Develop firmware architectures and algorithms to meet product requirements, considering hardware constraints and performance optimization.
- Write clean, efficient, and well-documented firmware code using embedded C/C++ programming languages, adhering to coding standards and best practices.
- Understand and utilize various hardware components like microcontrollers, memory, peripherals, and communication interfaces to interact with them through firmware.
- Work with RTOS to manage system tasks with precise timing and priority levels.
- Conduct thorough unit integration, and system-level testing to identify and resolve firmware defects, utilizing debugging tools and techniques.
- Work closely with hardware engineers to ensure smooth integration between firmware and hardware components, addressing design challenges and providing feedback.
- Create detailed technical documentation for firmware design, implementation, and testing procedures.
- Support existing firmware by implementing bug fixes, feature enhancements, and updates to address customer needs.
- May include travel to the field and/or trade shows.
- Perform product evaluations to determine if engineering standards are met.
- Flexibility to perform other duties and assignments as required
Position Requirements:
- Bachelor's degree in computer science or equivalent from an accredited university.
- 5+ years of previous experience in a similar role.
- Strong proficiency in C/C++ programming languages with a focus on embedded systems.
- Deep knowledge of microcontroller architectures, memory management, peripherals, and communication protocols.
- Experience with popular RTOS like FreeRTOS, Zephyr, or similar.
- Familiarity with IDEs, debuggers, emulators, and other development tools for embedded systems.
- Experience with unit testing, integration testing, and system-level validation methodologies.
- Excellent analytical and debugging skills to identify and troubleshoot complex firmware issues.
- Ability to effectively communicate technical concepts to both technical and non-technical stakeholders.
Benefits:
- 401(k)
- Health insurance
- Paid time off
- Parental leave
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free