Location Fairfax, VA
Security Clearance US Citizen or Permanent Resident Required
DZYNE Analytic Systems is looking for a highly-motivated, self-starter to develop advanced autonomous aircraft software solutions. As an Embedded Software Developer, you will have the opportunity to work across a variety of technical areas. Typical projects will involve diverse technologies and skill sets.
The ideal candidate should possess an impressive background in related fields, including real-time robotic and autopilot systems plus, the ability to demonstrate both the breadth and the depth of knowledge that is required to solve challenging problems in real-world scenarios. Motivated and creative problem solvers will have opportunities to influence future projects and guide research directions.
Required Skills and Responsibilities
Strong C/C++ programming skills, knowledge of Linux IO drivers, and the ability to set parameters as baud rate on a serial port from command line.
Solid background in real-time systems, serial programming, ZeroMQ/inter-process communication, and multi-threading in (near) real time applications.
Experience with embedded and microcontroller software development.
Develop and prototype autonomous flight solutions.
Capability to work with encoders for actuator movement and status polling.
Participate in research, evaluation, and the application of new technologies to solve challenging project goals.
Take part in the entire project lifecycle from requirements development to deployment.
Thrive in an Agile development environment, including quick development cycles and evolving requirements in a collaborative team environment.
Interface effectively with users, customers, management, and other engineering personnel.
Proven teamwork and interpersonal skills with the ability to act in a mentor role and be an advocate for positive change.
Possess strong verbal and written communication skills.
Ability to create and follow standard software development processes and clearly document results.
Some travel required.
Experience with ARM Performance Libraries for high performance computing.
Experience with GPU (CUDA, CUDA for ARM, OpenCL) and image and video processing.
Experience with vision processing unit/FPGA.
Experience with Boost software libraries, Qt signals, autopilot capabilities, and aircraft dynamics.
Familiarity with distributed systems development, concurrent processing, and cloud architectures.
Familiarity with computer vision algorithms.
Familiarity with serial standards (rs 232, 485) and the CAN bus network.
Position may involve electrical engineering capabilities such as: soldering, repining an rs232 cable, and crimping an rj11 cable.
Light hardware debugging skills, similar to checking continuity in cables and proper pin-outs.
BS or MS in Computer Science, Computer Engineering, related field or equivalent work experience.
5+ years of professional software development experience.