This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Embedded Software Engineer
About The Position
Chain Reaction designs and builds hardware that fuels disruptive blockchain technologies by accelerating compute performance. Our world-class teams are transforming the future of data, creating the infrastructure that will power the next generation of secure, scalable, green computing. The main bottleneck in scaling cutting-edge solutions in privacy tech, data analysis, and real-time computing is acceleration – existing hardware cannot keep up with data processing needs. Chain Reaction’s products reshape how data is processed and used on a global scale, and we’re looking for the brightest people to join us.
As a Low-Level Embedded Engineer, you will play a critical role in designing, developing, and optimizing the software components that drive our hardware. Your expertise will be instrumental in ensuring the reliability, performance, and efficiency of our products.
Roles and Responsibilities
- Collaborate with cross-functional teams including hardware engineers, software developers, and system architects to define and implement low- level software requirements.
- Implement, debug, and optimize code in C/C++ to interface with hardware components, peripherals, and sensors.
- Develop and maintain device drivers and board support packages (BSPs)
- Participate in ASIC and board bring-up, validation, and testing of new hardware to ensure compatibility and functionality.
- Analyses and troubleshoots system-level issues and performance bottlenecks in resource-constrained environments.
- Participate in code reviews, and architectural discussions, and provide technical guidance to junior engineers.
- Collaborate with the Validation team to ensure proper testing of low-level software and contribute to test automation efforts.
- Stay up to date with industry trends and advancements in embedded systems, low-level programming, and hardware technologies.
Requirements
- BSc or MSc degree in Electrical Engineering, Computer Engineering or related field.
- 5+ years experience in embedded software development with a focus on low-level programming.
- Proficiency in C/C++ programming languages.
- Familiarity with hardware interfaces such as SPI, I2C, UART, GPIO, and peripherals.
- Hands-on knowledge of device drivers and BSP development.
- Strong debugging capabilities in lab environment using oscilloscopes, logic analyses, and JTAG debuggers.
- Ability to deep dive and develop HW functionality in software, based on HW team guidance
- Excellent English and Hebrew communication skills; thrive in a collaborative team environment.
- Quick learner, Motivated, Self-driven with a “can-do” attitude
Advantages
- Experience with Linux and Real-Time Operating systems (RTOS)
- Willingness to engage in application-level software and familiarity with modern C++ (C++11 and later) concepts.
- Knowledge of version control systems (e.g., Git), build systems, and continuous integration.