Senior Software Developer, UAV Sensors & Data Processing
San Diego, California
General Atomics pioneers technologies with the potential to change the world. Behind a talented global team of engineers, GA delivers safe, sustainable, and economical solutions to meet growing global demands. Our Engineers have an opportunity to work on first of a kind product lines within an incredible, dynamic environment.
Engineering positions typically require a bachelor’s degree, master’s degree or PhD in engineering or a related technical discipline from an accredited institution and progressive engineering experience. Candidates from mechanical, electrical, and aerospace engineering backgrounds must know the fundamentals of engineering system developments, requirements, testing, and integration before getting to the final stages of customer interface and project management.
Schedule: Full-Time Salary
Job Level: Senior (8+ years)
Travel: 0% - 25%
What makes a successful Senior Software Developer, UAV Sensors & Data Processing at General Atomics? Check out the top traits we’re looking for and see if you have the right mix.
- Problem Solver
- Team Player
Job Summary General Atomics Aeronautical Systems, Inc. (GA-ASI), an affiliate of General Atomics, is a world leader in proven, reliable remotely piloted aircraft and tactical reconnaissance radars, as well as advanced high-resolution surveillance systems.
The Senior Software Developer exercises considerable latitude in determining and pursuing courses of action necessary to design, develop and/or modify enterprise-wide end-user, system level, and data management software applications to achieve long-range goals and objectives. Formulates long-range plans for application development and deployment as well as responsible for meeting software compliance standards.
The Senior Software Developer is also responsible for documentation, testing, maintenance, and software updates, and will serve as a spokesperson for projects and/or programs, as well as acts as an advisor to management and customers on the development, integration and deployment of software applications within the computing environment.
Duties & Responsibilities:
- Take ownership of product architecture and ensure optimal SW reuse across products by effectively collaborating with other SW leads and peers.
- Lead design and development of embedded and non-embedded SoA applications in C++11 and Java 8 on Linux OS or variants for sensor management and data processing software.
- Lead teams of 4 to 8 SWEs in the successful execution of projects, effectively communicate and collaborate across cross-functional teams. Review and direct the work of Developers and oversee their output for consistency and accuracy.
- Plan and schedule work assignments for the team, and monitor project schedules, timelines and deliverables using standard project management tools and engineering systems.
- Provide leadership and act as an advisor for determining technical objectives for user requirements and specifications and plan for enterprise software development within the broader organizational scope. Software development encompasses end-user, system level, and data management applications.
- Formulate detailed long-range plans for the implementation of software solutions including language, coding, platform, resource requirements, testing, and documentation.
- Plan and coordinate the deployment of enterprise applications including cross-platform compliance while insuring the availability of necessary resources.
- Plan and coordinate the maintenance of enterprise solutions including debugging, maintenance, and updating to ensure viability in an evolving environment.
- Plan for future applications based on new developments in computer technology.
- Serve as project and/or program spokesperson; act as an advisor to management and customers on enterprise software matters, communicate with the software developer group(s), and publish and present technical papers. Responsible for generating additional sources of revenue and may have program management responsibilities.
- Maintain the strict confidentiality of sensitive information.
- Responsible for observing all laws, regulations and other applicable obligations wherever and whenever business is conducted on behalf of the Company.
- Work in a safe manner in accordance with established operating procedures and practices.
- Responsible for unit testing, integration testing, software maintenance, and documentation and meeting software quality and compliance standards.
- Evaluate integration of software applications with the overall computing environment.
- Communicate with domain experts, users, and management throughout the software development lifecycle.
- Effectively plan application development and deployment.
- Contribute as an individual contributor, while acting in a technical leadership capacity.
- Typically requires a bachelors degree, masters degree or PhD in computer science, information systems or related discipline and progressive software development experience as follows; twelve or more years of experience with a bachelors degree, ten or more years of experience with a masters degree, or seven or more years with a PhD. May substitute equivalent experience in lieu of education.
- Must have a detailed and extensive expertise of software development concepts, principles, and theory and have applied that knowledge in the development of new principles and concepts.
- Demonstrated project and/or program leadership skills including organizing, planning, scheduling, and coordinating workloads to meet established project deadlines or milestones.
- Must possess the ability to contribute to the development of new concepts and principles; resolve unusually complex problems; serve as spokesperson on projects and/or programs; and be an expert in one or more areas of software development.
- Strong communication, presentation, and interpersonal skills are required enabling an effective leadership interface with other departments, all levels of management, professional and support staff, customers, potential customers, and government representatives.
- Customer focused, formulates plans based on the development of innovative new designs in resolving advanced software development problems.
- Must have experience effectively leading the architecture, design and development of SoA services in C++ and Java in a Linux OS or variant in both embedded and non-embedded environments and bash/Python scripting.
- Contribute as an individual contributor while acting in a technical leadership capacity.
- Mentor junior engineers and new team members, and applies technical expertise to challenging programming and design problems.
- Conduct design and code reviews.
- Collaborate effectively with the team and cross-functional teams to deliver high-performing, highly reliable, scalable, extensible and interoperable solutions.
- Promote a risk-aware culture, ensure efficient and effective risk and compliance management practices by adhering to required standards and processes.
- Must have experience with TCP/UDP Socket programming and SCM tools, preferably Gitlab.
- Other tools/skills desired: C++ 11, Java, C#, Scripting languages (Bash, Python), Open Source and Unit Testing Tools.
- Must be able to obtain and maintain a DoD Security Clearance. (Requires U.S. CITIZENSHIP and no criminal or credit issues).
- Must be able to work on a self-initiated basis and in a team environment.
- Able to work extended hours as required.
Pension, 401(k)/Retirement Plans
Multiple product lines means a variety of work
Paid Time Off
“The company is growing, has a very good reputation and had open positions in my area of expertise (aircraft design/design methodology development).”– Peter, Senior Staff Engineer
“We don't ascribe to quotas; we do ascribe to securing the BEST talent to enrich our culture toward healthy diversification and active/viable community service. We are STEM advocates.”– Debra, CSSBB: Staff Engineer
“Every day is different, with different problems to solve and many programs to support. I am a problem solver and have always been motivated by the tough questions.”– Scott, Laser Scientist
“I work in the Components Engineering and Obsolescence Management Dept. Our efforts are saving General Atomics several millions of dollars by proactively leading and informing the company of all these decisions which significantly impact production, sustainment and new designs.”– John, Staff Engineer