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.