Magic Leap is an eclectic group of people who share a magical vision of the future. And we’re growing.
Our mission is to harmonize people and technology to create a better, more unified world. Our vision is to amplify the best parts of you and to advance the human spirit.
This is a full-stack software development and systems operations role supporting collection, processing, analyzing and reporting of Magic Leap's Quality data. In this position, you will be part of a team with the mandate to gather, evaluate, and improve the quality of Magic Leap’s software stack.Employees for this role will design and implement scalable algorithms and data models to manage Magic Leap’s Quality data processing for internal projects. You will lead choose and deploy commercial and open-source tools and technologies to manage quality data with an emphasis on operational self-service and continuous development. You will also harness collected data to devise visualization, debugging, and simulation tools.
Essential Duties and Responsibilities
Core duties and responsibilities include the following. Other duties may be assigned.
Active development using Python and shell internal infrastructure projects and tests
Design, build and launch extremely efficient and reliable data pipelines to track metrics resulting from the execution of non-functional tests.
Design, develop, deploy and maintain quality data collection and reporting systems including data converters, databases, web services, and graphical reports.
Evaluate and quantify various qualities of the software stack including source code, performance, reliability, power consumption, etc.
Develop tools and scripts to automate the collection and conversion of both software testing data and metric data from active devices.
Devise visualization, debugging, and simulation tools to process and analyze collected data and represent it in a form that is simple and accessible to other teams and management.
Work closely with product and engineering teams to describe and validate expected software behavior and performance.
Encourage and enforce best practices to enable rapid new feature development while maintaining multiple functioning software products.
Work closely with Test, Software, Build and Integration engineers to develop tools for automation to continuously improve the release process and automation environment.
For larger data projects, the employee is expected to take ownership of project direction and provide technical team support.
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.
Language Skills: Ability to read and interpret documents such as safety rules, operating and maintenance instructions, and procedure manuals.
Reasoning Ability: Ability to define problems, collect data, establish facts, and draw valid conclusions.
Python3 development, using best practices and following PEP8
Experience of REST APIs (using, designing and development)
Experience making data visualizations like graphs or charts
Knowledge of how to effectively parse and manage raw data files like logs/JSON/CSV/Parquet/Avro/XML/etc. Especially for large datasets (>100GB)
Design, deploy and 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 and Kubernetes
Recent experience managing and building Android/AOSP projects.
Experience with software development and testing, and familiarity with Test-Driven and Behavior-Driven Development (TDD/BDD), Continuous Integration, and Continuous Deployment.
Interaction and instrumenting Jenkins for metrics collection from various sources (e.g. from code changes)
Familiar with virtual machines such as VMWare and VirtualBox, and containers such as Docker and LXC in production environment.
Education and/or Experience: Master or Doctorate degree; 5 or more years related experience and/or training; or equivalent combination of education and experience.
All your information will be kept confidential according to Equal Employment Opportunities guidelines.