Embedded Software Engineer

Arlington, VA
Nov 12, 2020
Nov 25, 2020
Full Time
Aerotek Engineering 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 ResponsibilitiesStrong 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. Typical Education/ExperienceBS or MS in Computer Science, Computer Engineering5+ years of professional software development experience. Preferred QualificationsExperience 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.About Aerotek:Your success starts with the right career opportunity. Aerotek uses a people-focused approach to connect job seekers to incredible opportunities with leading organizations. Established in 1983, we've grown to become a consistent Best of Staffing(R) winner for talent satisfaction because of our dedication to exceptional service. Serving over 300,000 contract workers every year, we specialize in placing workers with engineering, scientific, professional and industrial skill sets. Aerotek is proud to offer competitive benefits, including contributory medical, dental and vision insurance, weekly pay, discounts on consumer goods and services and more.The company is an equal opportunity employer and will consider all applications without regards to race, sex, age, color, religion, national origin, veteran status, disability, sexual orientation, gender identity, genetic information or any characteristic protected by law.If you would like to request a reasonable accommodation, such as the modification or adjustment of the job application process or interviewing process due to a disability, please call 888-237-6835 or email accommodation@aerotek .com for other accommodation options. However, if you have questions about this position, please contact the Recruiter located at the bottom of the job posting. The Recruiter is the sole point of contact for questions about this position.