Senior Embedded Software Engineer
About the Role
You will design, develop, and optimize production-grade embedded software that controls ASIC operation, thermal management, and hardware interfaces. You will own a multi-threaded C++ codebase, transform prototypes into modular production software, resolve technical debt, design tests, and debug complex real-time issues. You will document APIs, perform code reviews, and work directly with ASIC and board design engineers during bring-up and validation.
Requirements
- Bachelor or Master degree in Computer Engineering Computer Science or equivalent
- 5+ years of experience developing modern C++ (14 17 20) applications in embedded Linux environments
- Proven track record of owning large complex codebases
- Expertise in multithreading and real-time systems
- Strong background in software architecture and design
- Excellent problem-solving skills and clear written and verbal communication
- Hands-on proactive and comfortable working independently and cross-functionally
Responsibilities
- Own the embedded control system code for Bitcoin mining
- Transform prototype code into clean modular production-ready software
- Resolve technical debt and improve system architecture
- Manage dependencies and codebase maintainability
- Design and enhance unit and integration test strategies
- Optimize performance and resource utilization
- Debug and resolve complex issues in a multi-threaded system
- Document APIs and software designs and perform code reviews
- Collaborate with ASIC and board-design teams during bring-up and validation
