FW Engineer - HID Core FW Technologies
Zurich, Zurich, Switzerland
We are seeking a FW Engineer for the Human Interface Device (HID) team that will be responsible for designing, architecting, developing, and providing support for debugging core FW technologies. The candidate will be responsible for developing fundamental and cutting edge core technologies that help with design, implementation, and debugging of FW targeting new and innovative products.
- 5+ years of industry experience with FW design, development, and debugging in C and/or C++
- Deep understanding of microcontroller cores and fundamentals (ARM — ARM968-ES/Cortex-M, custom DSPs, digital peripherals, bus architecture, etc.)
- Experience with compilers, debuggers, and simulators (gcc, clang, llvm, lldb, custom tooling, etc.) — experience with creating custom extensions or llvm at the source-level is a plus
- Experience with early chip development and associated technologies (VHDL, FPGAs, chip validation, bring-up, etc.)
- Experience with Apple Tools (Xcode, Mac OS X, iOS), and Continuous Integration tooling and infrastructure is a plus.
As a FW engineer for core HID FW technologies, you will be tasked with working directly with the various HID FW teams to improve core tools, infrastructure, and technologies used for FW architecture, development, and validation. Including, but not limited to: Toolchain development and improvements (memory and performance optimizations, adding support for existing ARM architectures (ARM968-ES, Cortex-M), better C++ standard library support, linker script improvements, etc.) Microcontroller operating system architecture design and improvements (performance analysis library optimizations for less overhead, better debugging support, general OS optimizations, documentation improvements, CPU wake tracing, etc.) Simulation environment development and improvements (simulations of core chip functionality, unit testing harness, debugging framework bridge, etc.) Better Xcode support for uC development and GUI debugging CI integration for individual project code bases Process enforcement for tools (unit testing, code merge management, etc.)
Education & Experience
BS Computer Science, Computer Engineering, or equivalent program