GENERAL JOB SUMMARY:
Communicate and coordinate with customer, subcontractors, and vendors, and coordinate across collaborative development teams. Perform software engineering analyses to identify and select the most suitable integration and installation, requirements analysis, design, test planning, system performance evaluations, interface testing, system maintenance, reliability, and system evolution. Support Program Manager, Project Engineers, Software Leads, and System Engineers. Participate in technical reviews. Assignments will require familiarity with innovative approaches to accomplish software related work and resolve design/operational issues.
ESSENTIAL JOB FUNCTIONS:
- Interfacing with customer to analyze and develop requirements
- Defining and developing software level architectures and designs
- Developing and updating simulation software
- Conducting integration and tests to verify system behavior and performance against requirements
- Providing technical advice to management, input to specifications, process studies, research and investigations
- Preparing reports and manuals and other activities requiring knowledge of software engineering principles and techniques
- Develop and modify C/C++ applications and firmware Sensor Integration onto UAV
- Develop and maintain SQL database
- Use Git repository to maintain and collaborate code with teammates
- Run, modify, improve, and create software-in-the-loop simulation testing in Linux Ubuntu OS environment
- Analize UAV flight logs using MATLAB
Experience and Skills
KNOWLEDGE, SKILLS AND ABILITIES REQUIRED:
- Must be fluent in C++.
- Must have experience with implementation of software engineering principles in either of the following areas:
- Design and development of desktop applications throughout a program life-cycle to include fielding.
- Integration of COTS hardware and software systems.
- Rehosting and technology insertion of existing systems with new software.
- Must have good communication and customer relation skills.
- Have experience with object oriented programming.
- Must have experience with object oriented design and programming utilizing C++.
- Experience with Windows and LINUX operating systems is desired
- Experience in Software-in-the-Loop simulation testing
EDUCATION AND EXPERIENCE:
- Must have B.S. in Software Engineering, Electrical Engineering or related field.
- Experience in developing desktop applications.