Drone Racing League

Embedded Software Engineer

System Engineer in New York, NY

Posted 2019-01-18

Job Title: Embedded Software Engineer, Autonomy
Location: New York

Reports To: Senior Engineering Manager, Autonomy Lead

The Drone Racing League (DRL) is the premier, global drone-racing league, and producer of world-class drone sports content. At once a tech, media, events, and sports company, DRL blends a diverse array of disciplines and industries.

Job Description:
We are seeking an Embedded Software Engineer with great embedded software design and development skills. You will help the Autonomy team in researching, designing, developing, and implementing, the best embedded software for autonomous algorithms implementation for autonomous drone technology. The ideal candidate is highly experienced in writing embedded software in C/C++ in a Unix/Linux environment, and has experience with OpenCL and/or CUDA in FPGA and/or GPU. The ideal candidate will also be able to write low-latency software, real-time software, and have experience with FPGAs, ARM microcontrollers, multithreading, multiprocessing, parallel programming in C/C++, and OpenCV with OpenCL. Furthermore, the ideal candidate must have demonstrable experience in these areas as that can be shown in the form of prior job experience, or extensive school experience through projects and/or academic research papers where a lot of practical experience was acquired, or by showcasing personal projects. Experience with writing embedded software for autonomous UAV projects is not required. You will be responsible for helping the Autonomy team in designing and implementing world class embedded software for DRL's autonomous drone technology. You will be an integral part of the Autonomy team at DRL.

Required Qualifications and Responsibilities:
-Write embedded software and firmware in C/C++ and OpenCL/CUDA.
-Ability to take an algorithm and implement in highly efficient embedded code.
-Ability to take an algorithm and parallelize for high throughput.
-Demonstrable experience with socket programming, client server programming, TCP, UDP, and writing embedded software to communicate between multiple devices, sensors, applications, modules, etc.
-Experienced in Unix/Linux system calls and concepts such as multithreading, multiprocessing, etc.
-Knowledgeable in any open source distributed messaging library such as ZeroMQ.
-Knowledgeable in communication paradigms such as pub-sub, request-reply, topics, etc.
-Excellent operating systems knowledge.
-Ability to write process schedulers.
-Experienced with writing low-latency software and real-time software.
-Implement parallel algorithms with OpenCL, OpenMP, and/or CUDA.
-Great computer science fundamentals as can be proven by showcasing knowledge or projects on time and space efficient data structures and algorithms.
-Ability to research the best in embedded systems / software and provide great engineering input to the team.
-Bachelor's Degree in Computer Engineering, Computer Science, Electrical Engineering, or a technically similar field.

Bonus Qualifications:
-3-5 years of experience in developing embedded software in C/C++ and OpenCL and/or CUDA.
-Experienced in Embedded Vision; OpenCV and OpenCL/CUDA.
-Familiarity with Nvidia GPU based embedded platforms
-Experienced in OpenCL/CUDA for developing Machine Learning / Computer Vision algorithms for FPGA/GPU.
-Familiarity with robotic navigation in GPS-denied environments.
-Familiarity with implementing SLAM, EKF-SLAM, Visual SLAM or similar in an embedded system.
-Familiarity with distributed computing.
-Familiarity with writing Simulation software in C/C++ using OpenGL or SDL.
-Familiarity with a hardware description language such as VHDL/Verilog.
-Bare-metal software/firmware development in C and ARM Assembly.
-Familiarity with Python.
-Familiarity with GitHub or similar.
-Master's Degree in Computer Engineering, Computer Science, Electrical Engineering, or a technically similar field.

Ready to be seen?

Apply now to have the opportunity to be considered for similar jobs at leading companies in the Seen network for FREE.

Be seen in a new System Engineer job

Skip the search

Zero stress and one profile that can connect you directly to 1000s of companies.

Best-fit jobs—for you

We’ll take it from there. After you tell us what you’re looking for, we’ll show you off to matches.

Free Career Coaching

Boost your interview skills, map your tech career and seal the deal with 1:1 career coaching.

You get tech. We get you.

Join now and be seen.