Senior Engineer, Firmware (Remote)
NZXT is a leading developer of computer accessory products and is rapidly moving into developing digitally integrated devices. We are looking for a senior embedded software/firmware engineer who would be in charge of the firmware design and development for current and future NZXT devices. You will help define the firmware development process and implementation schedule and work closely with the NZXT hardware and software teams to interface your firmware with the NZXT Windows client application (CAM).
- Development and implementation of embedded software and firmware.
- System design, perform requirements analysis, and define architecture.
- Adhere to good software engineering practices including software design documentation, code reviews, testing and verification.
- Improve internal processes of the software engineering team.
- Mentor junior level firmware engineers.
- BS in computer science or computer engineering (MS and above preferred).
- 10+ years of experience in developing embedded software and firmware.
- Extremely high proficiency in the C language.
- Knowledge of low level embedded software/firmware, both single-threaded super loop designs and multi-threaded RTOS designs.
- Experience with popular architectures (ARM CMx, AVR, PIC, 8051) and offtheshelf microcontrollers (STM, TI, etc).
- Familiarity with PCB system design.
- Experience with interfacing with external peripherals via I2C, SPI, GPIO, as well as ADC and DAC.
- Experience with host interfaces such as RS-232 and USB. Experience with designing communication protocols.
- Experience using debug tools such as JTAG, digital logic-analyzers, oscilloscopes, etc.
- Experience with testing embedded software, from unit testing and system integration testing to black-box system testing and verification.
- Experience with software engineering practices and methodologies (Agile, code review).
- Experience with basic embedded systems hardware design at the level of design review and evaluation is a big plus.
- Experience with a scripting language like Python is a plus.
- Experience with Windows programming (Visual Studio + C#) is a plus
This position may be performed remotely. Travel of up to 10% of time may be required.
WHO WE ARE:
We are gamers, builders, and PC enthusiasts on a mission to help realize the PC as the best possible gaming platform. Our company is staffed with creative, motivated people who truly love what we do and we are dedicated to making it easy, fun, and rewarding to build the gaming PC of your dreams. NZXT’s company values are:
- Pursue Passion - We are a company of gamers creating the best products for gamers. Revel in that.
- Foster Community - Work among friends. Listen to and support our users. Both ensure our continued success.
- Demonstrate Courage - Go beyond what's expected. Do not compromise or fear making mistakes.
- Be Humble - Confidence is vital, but there's always more to know and achieve.
- Accept Responsibility - What we think, say, and do must be in complete alignment. Own victory and defeat.
- Look Further - Great ideas come from anywhere, not just our industry. Expand where you seek inspiration