Software Engineer (ML, Python)
Job Title: Software Engineer III (ML, Python)Duration: 12 Months (potential for extension based on performance)Location: Redmond WA or Burlingame CAW2 contract onlySummary: At Client’s Reality Labs (FRL), our goal is to explore, innovate and design novel interfaces and hardware subsystems for the next generation of virtual, augmented, and mixed reality experiences. We are looking for a skilled and motivated Software Engineer to join our team.We are specifically looking for a candidate with experience in C++ and who can work with a team of researchers who are building prototype research devices. More broadly, the chosen candidate will work with a diverse and highly interdisciplinary team of researchers and engineers and will have access to cutting edge technology, resources, and testing facilities.The ideal candidate will be someone who likes to learn constantly, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving.They will also be someone who likes to collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutions.Key Projects/Day-to-Day Responsibilities: Helping ML researchers take ML models that they develop, lot of reducing ML models, evaluating them, tuning them. Working with device, researchers, experimenting. Lot of Python, c C ++ and firmwarePurpose/Size of this team & where does this position fit within the team?Team of 50+ in Solaris and Key team of 5How will performance be measured? Delivery, ability to work with other engineers and researcher, productivityWhat makes this role interesting? Working on next version on wrist band that launched recently, working with cutting edge technologyValue added or experience gained:Experience with cutting edge machine learning models, electro myography with wearable device development.What are some difficulties that the candidate should be aware they may face in the role and need to be able to handle to be successful? Updating firmware and operating system in reliable mannerMust-Have Skills: Understanding on low level software’sExperience with MLExperience with PythonNice-to-have Skills:On device ML experienceAlgorithm optimizationAOSP experienceYears of Experience: 5+ yearsResponsibilities:Analyze, evaluate, design, develop, integrate, debug and test real-time AR and VR software for advanced prototypes and user experiencesCreate, fix and modify low-level software components such as device drivers and firmware.Build software, tools, infrastructure, documentation and other systems that enable research scientists to be more effective and efficientCollaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutionsPerform code reviews that improve software engineering qualityWrite clean readable code, debug complex problems that span systems, prioritize ruthlessly and get things done with a high level of efficiencyLearn constantly, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solvingRequired Qualifications:BS degree in the field of Computer Science or related field.2+ years’ experience with C/C++ systems programming2+ years’ experience with embedded systemsSolid understanding of low-level software components and device driver/firmware.Basic understanding of machine learning.Experience shipping one or more products using standard software development toolsets such as source control or continuous integration systemsPreferred Qualifications:ML development experience, especially on-device MLAOSP experienceHow many rounds of interviews? Screening, Technical and Behavioral