Location: Huntsville, Alabama
Reports To: Director of Autonomous Systems & Software Engineering
Requirements: Candidates must be able to obtain and maintain a DoD Secret Security Clearance; U.S. Citizenship required.
Performance Drone Works (PDW) is a world leader in custom small unmanned aerial systems (sUAS) development that focuses specifically on cutting-edge solutions for the modern warfighter. An American owned company where all PDW design, engineering, and manufacturing of PDW products are domestically based.
PDW is seeking a Software Engineer with great software implementation skills and experience to help the Autonomy team develop the best time and space optimized software in autonomous drone technology. The ideal candidate is highly experienced with computer science fundamentals and computer engineering fundamentals, from data structures and algorithms to computer architecture and parallel programming techniques. The candidate possesses demonstrable experience in parallel programming. The candidate will be an integral part of the Autonomy team designing PDW’s world class autonomous drones.
Works closely with Algorithms and Software engineers in the Autonomy team to help research, design, develop, prototype, and implement algorithms and software.
Assists with compute benchmarks and runtime analysis of algorithms.
Writes space and time optimized software in C/C++.
Writes parallel algorithms and software in CUDA/OpenCL.
Makes both algorithmic and code optimization recommendations.
Integrates algorithmic modules with overall Autonomy software application.
Performs Software-in-the-loop and Hardware-in-the-loop testing and development.
Writes Hardware abstraction layer(s) and APIs for sensors and compute platforms for Autonomy algorithms deployment.
Skills and Qualifications:
Ability to implement an algorithim in highly efficient and optimized C/C++ code.
Ability to parallelize an algorithm and optimize for high throughput with OpenCL / CUDA.
Great computer science fundamentals and knowledge in data structures and algorithms.
Ability to design space and time efficient algorithms and software.
Ability to quickly prototype a complex Autonomy algorithm in C/C++ utilizing open source libraries.
Ability to modularize complex Algorithms.
Demonstrable experience with socket programming, client/server programming, TCP, UDP, and writing software to communicate between multiple devices, sensors, applications, modules, etc.
Demonstrable knowledge of any open source distributed messaging library. For example, ZeroMQ.
Demonstrable knowledge of communication paradigms such as pub-sub, request-reply, topics, etc.
Experience with Unix/Linux system calls and with embedded Linux.
Experience with concurrent and parallel programming methodologies and techniques, such as multithreading, multiprocessing, mutex, locks, semaphores, etc.
Excellent operating systems knowledge.
Ability to write process schedulers.
Experience with writing low-latency software and real-time software.
Experience with heterogeneous architectures and distributed computing.
Familiarity with ROS, Gazebo, RVIZ, PCL, CUDA, Tensorflow, TensorRT.
Experience with PX4 and/or Ardupilot Flight Controller (FC) Software.
Demonstrable experience with Nvidia GPU based embedded platforms and CUDA.
Familiarity with FPGAs.
Familiarity with Python.
Ability to debug and write device drivers and HALs for cameras and sensors.
Ability to write clean and well documented code.
Well versed with modern software development practices such as continuous integration, code reviews, unit, integration, & system testing, etc.
Familiarity with Coq.
Experience with source code control and hosting platforms such as GitHub / Bitbucket.
Professional Experience Requirements:
1-3 years of experience in developing software in C/C++.
1-3 years of experience in developing software in OpenCL / CUDA.
Bachelor’s Degree in Computer Science, Computer Engineering, or a closely related field. Masters degree preferred.
Candidates must be able to obtain and maintain a DoD Secret Security Clearance; U.S. Citizenship required.
Performance Drone WorksPerformance Drone Works (PDW) is a world leader in custom small unmanned aerial systems (sUAS) development that focuses specifically on cutting-edge solutions for the modern warfighter. An American owned company where all PDW design, engineering, and manufacturing of PDW products are domestically based.