Job Description
- OS (Windows, Linux), RTOS
- Python, CI/CD
- FPGA, UART, SPI, CSI-2, I2C, USB
- At Reality Labs, develop hardware devices which run custom firmware and software.
- The Hardware, Firmware and software are continuously updated and tested in the lab to identify bugs, reliability or performance issues.
As a Firmware Test Engineer at Reality Labs, Redmond, WA, you will ensure the - delivery of a high-quality software and platforms for RL product lines.
- You will be responsible for building and executing test plans and test cases across multiple products and platforms while working with engineering teams to identify and resolve defects.
- You should be detail-oriented engineer, with experience testing great software products and improving engineering efficiency.
- You will also debug issues across the hardware and software stack including consumer electronics devices, mobile apps and web.
- End-to-end software/firmware test infrastructure development to support testing of power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations, and host tools.
- Participate with the team on testing approach and ensure test coverage across a wide range of technologies and areas -- including unit testing, integration testing, system testing, and regression testing.
- Review software, firmware, hardware, and IP architectures to ensure testability and evaluate integration risk.
- Develop software and related tools to automate testing of a large variety of devices and interfaces from host side tools to low-level embedded systems.
- Support all phases of development including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring-up and support systems and software teams.
- Proficient in troubleshooting an issue and identify the root cause and raise defects and work closely with cross functional teams (Development and Infrastructure)
- Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
- 2+ years of software and test experience with at experience related to embedded systems
- Familiarity with data acquisition systems and diagnostic equipment, such as oscilloscopes, bus analysers, and power supplies
- Knowledge of software testing methodologies including CI/CD
- Proficient Python programming
- Experience providing clear communications and work well with cross-functional teams
- Experience with integration and testing for a complex system
- Experience with low level operating systems, RTOS, UBOOT, or other bare-metal programming
- Experience coding with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB, PCIE
- Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems
- Experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators
- Experience with C/C++ for embedded systems
- OS (Windows, Linux), RTOS, UBOOT, (C, C++ Preferred), FPGA, UART, SPI, CSI-2, i2c, GPIO, USB, PCIE, CI/CD, Jenkins, Python, PyCharm