JOBSEARCHER
SIGN IN

Embedded Software Engineer

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

Embedded Software EngineerMeta Reality Labs focuses on building technology to help people connect through Augmented Reality (AR) and Virtual Reality (VR). Our embedded software will enable AR and VR devices where our real and virtual world will mix and match throughout the day. We believe the way to achieve our goals is to look at the entire stack, from custom ASICs and new technologies, firmware, algorithms, OS, to user experiences. As an Embedded Software Engineer, you will architect, design, build and test embedded firmware systems for future AR, VR, or New Technology Teams. In this role, you are expected to participate in the definition of architecture and implementation of designs in both prototype and shipping consumer products as well as demonstrate good development practices and seamless collaboration. Our teams deliver all embedded software from low-level device drivers to computer vision, to machine learning algorithms. Engineering for Reality Labs device systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, algorithms, user experience, silicon architects, and software) and directly impacting user immersion. Our engineers quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how those prototypes transition to high-volume consumer products. You will join a world-class team of experts exploring new concepts through rapid prototyping leading to shipping products.Embedded Software Engineer:Analyze, design, develop, and debug firmware for a wide variety of AR consumer devices, including client sensing and imaging systems, haptic devices, and audio prototypes.Collaborate closely in a team environment with silicon architects, hardware designers, OS team, and algorithm and model development teamsSupport all phases of hardware development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring up and support systems and software teams on algorithm development on validated systemsUnderstand and implement power management, boot loaders, scheduling, inter-processor communication, and firmware/system interfaces on RTOS and/or bare-metal environmentsMinimum Qualifications:Bachelor's degree in computer science, Computer Engineering, relevant technical field, or equivalent practical experience.10 years of software experience with experience related to embedded systemsFamiliarity with data acquisition systems and diagnostic equipment, such as oscilloscopes, bus analyzers, and power supplies.Knowledge of software development and testing methodologies including CI/CDProficient in C, C++, and Python programmingExperience providing clear communications and work well with cross-functional teamsPreferred Qualifications:Experience with low-level operating systems, RTOS, UBOOT, or other bare-metal programmingExperience coding with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB, PCIEExperience in real-time processing for computer vision and user interaction tasks, high compute/throughput systemsExperience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulatorsExperience with C/C++ for embedded systemsSkills Required:OS (Windows, Linux), RTOS, UBOOT, (C, C++ Preferred), FPGA, UART, SPI, CSI-2, i2c, GPIO, USB, PCIE, CI/CD, Jenkins, Python, PyCharmTop Skills:Embedded device developmentC, C++, Python, Windows, Linux OS experienceCI/CD (Jenkins, Git, GitHub)Additional Details: It is going to be an awesome work for the selected candidate. Will be directly reporting to client development manager with large team and the candidate will have an exposure communicating with cross functional team. Should have hands on experience into embedded device with test automation framework development using python will be a key selling point.