We are seeking a skilled and motivated embedded software engineer to join our software team.
As an embedded software engineer, you will play a critical role in designing, developing, and optimizing the software interface. Your position will be instrumental in ensuring the reliability, performance, and efficiency of our products.
Responsibilities:
Collaborate with cross-functional teams including hardware engineers, software developers, and system architects to define and implement software requirements.
Implement the core logic that controls the Bitcoin hashing system, participate in the system bring up, validate, and test to ensure compatibility and functionality.
Design, implement, debug, and optimize code in advanced C++ and C to interface with drivers, higher level applications, and Bitcoin pools.
Analyze and troubleshoot system-level issues and performance bottlenecks in resource-constrained environments.
Participate in code reviews, design reviews, and architectural discussions, and provide technical guidance to junior engineers.
Collaborate with the Validation team to ensure proper testing of software and contribute to test automation efforts.
Stay up to date with industry trends and advancements in embedded systems and hardware technologies.
Requirements: BSc or MSc degree in Computer Science, Electrical Engineering, or related field.
5+ years of experience in developing SW on embedded systems, in a multithreading environment.
development - designing, writing, debugging, and testing software.
Experience in debugging and investigating complicated problems in large-scale systems.
Experience with modern C++ concepts (at least 11/14) - understanding of C++ including knowledge of the standard library, STL containers, threads, and algorithms.
Excellent English and Hebrew communication skills; thrive in a collaborative team environment.
Quick learner, Motivated, Self-driven with a can-do attitude
Advantages :
Familiarity with hardware interfaces such as SPI, I2C, UART, GPIO, and peripherals.
Experience in designing system-wide features.
Experience with Linux, user space, and Real-Time Operating Systems (RTOS).
Knowledge of version control systems (e.g., Git), build systems, and continuous integration.
This position is open to all candidates.