We have an exciting opportunity for a Software Developer to support our USAF Software Group in San Diego, CA.
With limited direction, this position exercises considerable latitude to execute and/or review all phases of the software development lifecycle including estimating, planning, requirements, design, code, and test while upholding software compliance standards. Daily tasks include, but are not limited to: developing and reviewing software requirements, developing and reviewing software architecture and design, communicating designs to all relevant stakeholders, writing and reviewing code, hands-on testing of software on Unmanned Aerial Vehicles and Ground Control Stations in on-site systems integration labs and at off-site flight test facilities. Developer will collaborate with subject matter experts, outside customers and vendors, UAS operators, and management throughout the development lifecycle.
The USAF Software Group writes software for small embedded processors for various components of the aircraft and ground station as well as software that runs on general-purpose computing devices such as flight computers, weapons computers, and payload computers on the aircraft. In addition, this position will write GUI application software that runs on our ground control station to command the aircraft. The work involves maintaining and adding capabilities to our existing systems as well as working on new aircraft design features. There are also various back-end processing applications used for a variety of post processing purposes. It is a highly dynamic environment with an incredible variety of work going on at any time. The successful candidate would be expected to become familiar with the system and become proficient in writing requirements documents, design documents, test documents, and implementing code to fulfill those requirements before moving on to manage larger efforts within the group.
Duties and Responsibilities
- Determine UAS user requirements, specifications, and plans for software development within the broader organizational scope.
- Develop software design documentation and software design modeling.
- Implement software from documented design including coding and testing while adhering to coding standards.
- UAS code maintenance including debugging and capability enhancements.
- Assist in planning for future applications based on new developments in UAS technology.
- Communicate software requirements and design with the software development group, management, customer, and operators.
- Independently plan and status own work with minimal guidance
- Maintain the strict confidentiality of sensitive information.
- Perform other duties as assigned.
- Responsible for observing all laws, regulations and other applicable obligations wherever and whenever business is conducted on behalf of the Company.
- Expected to work in a safe manner in accordance with established operating procedures and practices
- Department of Defense development experience
- Software Architecture development
- Requirements, Design, UML Modeling development
- Strong C++ programmer
- Additional programming languages: C, C#, Java, Python, Makefile system
- Real-time operating/embedded systems
- Windows and Linux environments
- Unified Modeling Language
- Source version control tools such as subversion
- Experience in conforming to Interface Control Documents/Data Sheets
- Experience with developing software unit-level tests
- Proficient in using Microsoft Office products
We recognize and appreciate the value and contributions of individuals with diverse backgrounds and experiences and welcome all qualified individuals to apply.
- Typically requires a bachelor's degree, master's degree or PhD in computer science, information system or related discipline and progressive software development experience as follows; nine or more years of experience with a bachelor's degree, seven or more years of experience with a master's degree, or four or more years with a PhD. May substitute equivalent experience in lieu of education.
- Must have an extensive expertise of software development concepts, principles, and theory and demonstrate extensive technical expertise and application of programming and analysis concepts.
- Must possess the ability to understand new concepts quickly and apply them accurately throughout an evolving environment.
- Strong communication, presentation, and interpersonal skills are required enabling an effective interface with other departments and/or professionals, and capable of representing the organization as a prime technical contact, as well as providing leadership and guidance to less experienced professionals.
- Customer focused, formulates plans based on the development of innovative new designs in resolving advanced software development problems.
- Must be able to work both independently and in a team environment. Able to work extended hours as required.