Position Overview:Β
We are seeking a highly skilled Embedded Software Engineer with expertise in C programming and Linux environments. The ideal candidate will have extensive experience in developing and optimizing software for embedded systems. This role requires a strong understanding of low-level programming, hardware interfaces, and real-time operating systems (RTOS). This is s 3 month contract to hire and has 2 days of remote flexibility per week.
Responsibilities:
- Software Development:
- Design, develop, and test embedded software using C programming language.
- Develop drivers, middleware, and application code for embedded systems.
- Optimize code for performance and memory usage on constrained hardware platforms.
- Linux Integration:
- Develop and maintain embedded Linux kernel modules and device drivers.
- Customize and configure Linux distributions for embedded systems.
- Work with bootloaders (e.g., U-Boot) and root file systems.
- Hardware Interaction:
- Interface with various hardware components (e.g., sensors, actuators, communication interfaces).
- Debug and troubleshoot hardware-software integration issues.
- Work closely with hardware engineers to define software requirements and constraints.
- System Design:
- Participate in system architecture design and contribute to the overall system design process.
- Develop and document software specifications and design documents.
- Conduct code reviews and provide feedback to ensure code quality and adherence to standards.
- Testing and Debugging:
- Develop and execute unit tests, integration tests, and system tests for embedded software.
- Use debugging tools and techniques to diagnose and resolve software defects.
- Ensure software reliability and stability through rigorous testing and validation processes.
- Collaboration and Communication:
- Collaborate with cross-functional teams, including hardware engineers, firmware developers, and QA engineers.
- Communicate project status, challenges, and solutions effectively to stakeholders.
- Contribute to the continuous improvement of development processes and tools.
$70,000 - $100,000 a year