LinuxPythonPyTorchTensorflowC++CRMachine LearningMLDeep LearningTensorFlowOpenCVUnit TestingVersion ControlDecision Making
About this role
Role Overview
Design, build, and integrate onboard and off-board airborne perception capabilities to enable autonomous flight and decision making.
Work closely with the R&D software engineering manager to understand team objectives, short term milestones, long term milestones, and technology roadmap.
Support architecture design and perform architecture and technology trade-off analysis for perception subsystems.
Drive sensor, integration, and algorithm approaches for perception subsystems.
Establish and maintain infrastructure and processes to support development, testing, and evaluation of traditional and machine learning based algorithms.
Collaborate closely with the rest of the R&D software team throughout the research, design, implement, and test cycle.
Write, test, document and review code according to Merlin’s development standards as needed.
Collaborate across Merlin to develop novel systems to solve the toughest problems in aviation and autonomy.
Requirements
Degree in Computer Science, Aerospace Engineering, Robotics Engineering, or a related subject.
5+ years of professional experience developing perception software for physical systems such as aircraft, robotics, or medical devices.
Subject matter expert in the field of perception: detection, processing, and tracking using cameras, radar, LIDAR, and/or other relevant sensor types.
Experience developing sensor fusion algorithms.
Experience implementing machine learning based perception and planning algorithms, including using deep learning and reinforcement learning techniques.
Familiarity with ML frameworks such as Tensorflow, PyTorch, OpenCV.
Experience with Linux and open-source development tools.
Proficiency in modern software development workflows and practices, including version control, pipelines, and unit testing, and peer review.
Experience with overall product development cycle, including design, testing, and troubleshooting at the system level as well as at the software component level.