
Software Engineer Sr (level 3)
Role summary
Lockheed Martin's Skunk Works is seeking a Senior Software Engineer (Level 3) with a Bachelor's degree or equivalent experience and a minimum of 3 years in C/C++ and Linux/RTOS development. This role involves full software lifecycle development for aircraft subsystems, including design, coding, integration, and testing. The position requires onsite work at a facility needing special access and a Secret clearance. The team offers flexible schedules, including a 3-day weekend option, and opportunities for growth into subject matter expertise within a fast-paced, innovative environment. Experience with avionics systems, build tools, and agile methodologies is desired.
Basic Qualifications
- Bachelor's degree or above from an accredited college in a relevant field of study; or equivalent with minimum 3 years experience
- Experience with C and/or C++
- Experience with Linux or RTOS (real time operating systems) and associated development toolchains
- Experience with the software development process in a team environment (peer reviews, unit testing, configuration management, defect tracking)
\*\*\*Must be a US Citizen. This position is located at a facility that requires special access and a Secret clearance updated within the last 5 years to be considered.\*\*\*
Job Description
WHO WE ARE
The Skunk Works (Lockheed Martin Advanced Development Programs) is looking for world-class talent in Software Engineering to be a part of a team that will carry on our 80-year tradition-making history in advanced aircraft development. The vehicle management software team writes software for a wide range of aircraft subsystems that make an airplane fly. We are a highly innovative, multi-site, fast paced team developing modular and reusable software to support both our current platforms and the aircraft of the future.
What’s In It For You
3-day weekend every weekend! 4-10 Mon-Thursday option + Flexible Schedules
This team is working new development software where our team members get to work hands on from the lab to the aircraft in all stages of development, including design, code, integration, and lab and field test. We work on a wide range of technologies and give our team members the opportunity to drive their career towards their area of interest. You will work with a high performing and passionate team who is involved within the company as well as outside the organization. This position offers meaningful and exciting technical work spanning both software development and supporting integration and test for a multi-site team. You will be joining a very open and inquisitive team filled with diverse perspectives and a common mission. You will be able to use this opportunity to learn from some of our most talented and senior engineers to grow into a subject matter expert to support both our current platforms and our platforms of the future.
YOUR IMPACT
You will be able to take your passion for software and avionics and your experience as an embedded software engineer and use it to help develop software for a wide range of aircraft systems supporting both rapid prototyping efforts and deliverable software.
The Responsibilities For This Role Will Include
- full software lifecycle development spanning across many avionics services, ground station development and mission system software technologies.
- supporting ground station development for manned and unmanned systems
- development of simulations to support software development
- interfacing with key software and systems engineers to define requirements for rapid prototypes
- participating in integration and test events
- supporting planning and scheduling for key integration and milestone events
You will have the ability for growth and exploration while learning from some of the brightest professionals in our industry. This position offers a motivated engineer the opportunity to have a high impact on a fast paced program as they grow their own skillset.
Travel up to 10% may be required. AeroSW2026
Desired Skills
- Experience with developing software for avionics systems
- Experience integrating hardware and software
- Experience in scripting languages (e.g. python)
- Experience with build environments and tools (make and CMake)
- Experience using agile software development tools and methodologies (e.g. Git, JIRA, Jenkins, Confluence, etc.)
- Experience with networking protocols (e.g. IP, UDP, RTP, etc.)
- Experience with hardware protocols (e.g. ARINC-429, RS-485, I2C, SPI, etc.)
- Experience working with safety/flight critical software development processes (e.g. MIL-STD-516C, MIL-HDBK-1797, AC-17-01, DO-178)
- Experience with Modeling and Simulation (including familiarity with MATLAB)
- Ability to build and maintain relationships and collaborative effectively with others
- Strong decision making and judgment skills
- Experience leading small technical teams
- Experience mentoring and training junior engineers
Other Important Information
By applying to this job, you are expressing interest in this position and could be considered for other career opportunities where similar skills and requirements have been identified as a match. Should this match be identified you may be contacted for this and future openings.
Ability to work remotely
Onsite Full-time: The work associated with this position will be performed onsite at a designated Lockheed Martin facility.
Sample Lockheed Martin interview questions
- 1
Build a real-time collaborative platform for coding teams.
system designmedium - 2
Design a system for real-time processing of mobile app analytics.
system designmedium - 3
Maximum Depth of an N-ary Tree Find the maximum depth of an N-ary tree. Input: root = [1,null,2,null,3,null,4] Output: 4 Explanation: The tree is essentially a straight line, requiring a traversal that reaches a maximum depth of 4 layers.
codingmedium - 4
Split Array into Consecutive Subsequences Split an array into consecutive subsequences. Input: nums = [1,2,3,4,4,5] Output: FALSE Explanation: The numbers can form [1,2,3,4], but the remaining leftover group [4,5] is too short to form a valid sequence of length 3.
codingmedium - 5
Merge a New Interval Merge a new interval into a list of non-overlapping intervals. Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] Output: [[1,2],[3,10],[12,16]] Explanation: The new interval overlaps with [3,5], [6,7], and [8,10], merging them all into the unified block [3,10].
codingmedium
Sign up for a personalized interview prep pack tailored to this role.