Firmware Engineer
vor 3 Wochen
Firmware Engineer As a Firmware Engineer, you will work on the development of our universal operating system for blockchain hardware. We're looking for someone who is excited about low-latency, high-speed systems that are optimized for execution. You will work closely with the Chief Technology Officer, Principal Firmware Engineer, driver and embedded engineering team to architect, design, build and ship enterprise products. Responsibilities Design, development and production of firmware packages for mining-specific devices. Design, development and production of firmware packages for a wide variety of embedded devices. Design, development and production of asynchronous networking code – specifically the stratum protocol and the implementation of the stratum protocol on various mining-specific devices. Customization of Yocto/Buildroot or similar build tool distributions. Development of board support packages for hardware. The DNA We’re Looking For We’re looking for obsessive curiosity. We are working in an industry where there is a lot of ambiguity and very little documentation – you must be comfortable thinking about challenging problems and setting your own direction. We’re looking for someone who has an obsession with optimization: whether it's in terms of instruction sets, clock skew scheduling, or shaving power, you must be constantly thinking about how to push the boundaries of power tradeoffs. We’re looking for someone who has an eye for security. You should have a knowledge of basic networking concepts and protocols, network security, low‑level computer languages (e.g., assembly), and knowledge of code analysis tools. This is a heavy programming role. You should be comfortable prototyping code, producing code, and shipping code. We’re looking for engineers who are passionate about their skills, and are looking to show them off We’re looking for a Rust champion. You should be passionate about the Rust programming language and believe that it is critical for a space that cannot afford memory leaks, race conditions, or bugs. Technical Requirements Rust – 2+ Years. Proficiency in C, C++ (3+ Years) A BS Degree in Electrical Engineering, Computer Science or Computer Engineering. 3+ Years enterprise embedded engineering experience. Experience in x86 assembly, and a knowledge of PC architecture. Comfortable with communication protocols (SPI, I2C) and transmission protocols (UART) and standards (DMX512). Practice with secure development techniques such as threat models, attack trees, static/dynamic analysis and fuzzing. Knowledge and experience with in‑circuit emulators and logic analyzers. Experience with product specifications, systems analysis, microprocessor based systems and firmware design. Experience with Embedded RTOS & Linux, with 32‑bit microprocessor architecture. Strong organizational and documentation Skills. Proficient problem‑solving skills. Comfortable working with disassemblers and debuggers (IDA Pro, Ghidra). Working knowledge of profilers. An intimate understanding of digital design. Ability to work independently or part of a team. #J-18808-Ljbffr