Embedded Software Engineer
Haystack · San Diego, CA · 4 days ago
HybridEngineeringFull-time
About the role
Contribute to the design and development of advanced embedded systems within multidisciplinary teams. Develop software for diverse microarchitectures, including DSP, ARM, or RISC-V. Create software for multi-core embedded systems, ranging from bare metal to minimal real-time operating systems and Linux environments. Design and implement components for software development kits delivered to end users. Execute validation and verification testing by deeply understanding hardware architectures. Write low-level code (e.g., C) to interface with Control Status Registers (CSRs) and hardware components.
Responsibilities
- Develop software for diverse microarchitectures, including DSP, ARM, or RISC-V.
- Create software for multi-core embedded systems, ranging from bare metal to minimal real-time operating systems and Linux environments.
- Design and implement components for software development kits delivered to end users.
- Execute validation and verification testing by deeply understanding hardware architectures.
- Write low-level code (e.g., C) to interface with Control Status Registers (CSRs) and hardware components.
Requirements
- Bachelor’s Degree in Computer Engineering, Electrical Engineering, Computer Science, or related discipline.
- 4+ years of software development experience in C/C++ for embedded systems.
- Strong understanding of hardware-software interaction and basic computer architecture.
- Experience with build tools (e.g., GCC, CMake, Make) and version control systems (e.g., Git).
- Experience with software testing tools and methodologies, including unit test frameworks and TDD practices.
- Ability to communicate technical details clearly and document software performance.
Qualifications
- Strong problem-solving skills and ability to work independently and collaboratively.
- Experience with embedded system development, particularly in real-time and safety-critical systems.
- Familiarity with embedded operating systems such as FreeRTOS, VxWorks, or QNX.
- Knowledge of hardware design principles and familiarity with circuit boards, PCBs, and other physical aspects of embedded systems.
Skills
- C/C++ programming skills.
- Understanding of digital logic and hardware design.
- Experience with embedded systems development tools and techniques.
- Knowledge of embedded system security and reliability.
Benefits
- Opportunity to work on cutting-edge electronic warfare technology.
- Collaborative environment with a team of experts in signal processing and hardware.
- A commitment to continuous learning and developing new technical skills.
- Competitive compensation and comprehensive benefits package.
Pay
TBD
Schedule
TBD
Benefits
- Health insurance.
- Retirement savings plan.
- Flexible work schedule.
- Professional development opportunities.