This is a full-stack software development & systems operations role supporting collection, processing, analyzing & reporting of Magic Leap's Quality data. In this position, you will be part of a team with the mandate to gather, evaluate, & improve quality of Magic Leaps software stack.
Employees for this role will design & implement scalable algorithms & data models to manage Magic Leaps Quality data processing for internal projects. You will lead choose & deploy commercial & open-source tools & technologies to manage quality data with an emphasis on operational self-service & continuous development. You will also harness collected data to devise visualization, debugging, & simulation tools.
Essential Duties & Responsibilities:
Core duties & responsibilities include the following. Other duties may be assigned.
To perform this job successfully, an individual must be able to perform each essential duty in a satisfactory manner. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- High availability setups for data processing
- Design, build & launch extremely efficient & reliable data pipelines to track metrics resulting from execution of non-functional tests.
- Design, develop, deploy & maintain quality data collection & reporting systems including data converters, databases, web services, & graphical reports.
- Evaluate & quantify various qualities of the software stack including source code, performance, reliability, power consumption, etc.
- Develop tools & scripts to automate collection & conversion of both software testing data & metric data from active devices.
- Devise visualization, debugging, & simulation tools to process & analyze collected data & represent it in a form that is simple & accessible to other teams & management.
- Work closely with other product & engineering teams to describe & validate expected software behavior & performance.
- Encourage & enforce best practices to enable rapid new feature development while maintaining multiple functioning software products.
- Work closely with Test, Software, Build & Integration engineers to develop tools for automation to continuously improve the release process & automation environment.
- For larger data projects, employee is expected to take ownership of project direction & provide technical team support.
Education and/or Experience:
- Language Skills: Ability to read & interpret documents such as safety rules, operating & maintenance instructions, & procedure manuals.
- Reasoning Ability: Ability to define problems, collect data, establish facts, & draw valid conclusions.
- Computer Skills:
- Experience of REST APIs (using, designing & development)
- Experience making data visualizations like graphs or charts
- Knowledge how to effectively parse & manage raw data files like logs/JSON/CSV/Parquet/Avro/XML/etc. Especially for large datasets (>100GB)
- Design, deploy & maintain SQL or/and NoSQL databases (ideally one or more of both)
- Data pipeline tools like Hadoop, Kafka, RabbitMQ, Spark, MapReduce, BigQuery, ELK, etc.
- Knowledge of orchestration tools like Rancher, Mesos & Kubernetes
- Recent experience managing & building Android/AOSP projects.
- Experience with software development & testing, & familiarity with Test-Driven & Behavior-Driven Development (TDD/BDD), Continuous Integration, & Continuous Deployment.
- Interaction & instrumenting Jenkins for metrics collection from various sources (e.g. from code changes)
- Familiar with virtual machines such as VMWare & VirtualBox, & containers such as Docker & LXC in production environment.
- Master or Doctorate degree; 10 or more related experience and/or training; or equivalent combination of education & experience
- All your information will be kept confidential according to Equal Employment Opportunities guidelines.