Software engineering in defense
From boots to bytes series Chapter 5
Defense as an industry
Welcome back reader! Today I will discuss software engineering in the defense industry. I will start with a brief overview of the industry. Defense industry may be small in a nation’s economy, but it serves a single purpose and does it well: support nations’ armed forces and make profit while doing so. To effectively make it happen, a defense contractor is responsible for the following tasks:
Bidding and signing government contracts to fund a project
Monitor and report project status to government auditors
Manufacturing of weapons, sensors and systems
Research and development of emerging technologies
Sustainment and improvement of legacy systems
Out of these responsibilities, a software engineer is primarily engaged in the last two. Since software is installed to physical systems, in this industry you will get the chance to work with engineers of multiple disciplines. Problems you solve in this space are often challenging, you won’t see similar problems in other industries.
During the Cold War era, joining a defense contractor used to imply a job for the rest of your life, because America was in an arms race with the Soviet Union for decades. Talent in this area was in high demand. This was also the time the big players in the industry made their names. These companies include Lockheed Martin, Raytheon, L3-Harris, Northrop Grumman. They primarily operate in defense. There are also dual-use companies such as Boeing, Rolls-Royce, Pratt & Whitney, Booz-Allen, Palantir which operate in both military and civilian technologies.
But in modern warfare, the scale is much smaller and during peacetime, it’s important for defense contractors to scale down, support and retire existing systems, while researching and deploying new technologies to help a nation win the arms race, and still remain profitable. It’s a tough job. There is also a trend of defense and dual-use startups funded by venture capitals or government contracts, in favor of low operating cost compared to the Cold War era giants. They also take on subcontracting to existing big players.
As a veteran, it’s a good industry to enter if you like having the same mission from when you were back in the service. You will work with many others who walked the same well-trodden path, and military family members who work to ensure their spouses will return alive. You’ll also learn valuable skills because despite the government red tapes, software engineering best practice in this industry is mandatory, or people can die on the job.
Because of fierce competition, defense contractors are also very open to new technologies. A few years ago, full sweep digital transformation took place in this industry to ensure software can be reliably tested and delivered using modern DevSecOps pipelines. And Integrated Product Teams eliminate information silos between engineering and business. If you join a defense contractor, don’t expect to be bored, you’ll be pushed out of your comfort zone every day.
Software engineer’s responsibility
If you like a mixture of intellectual challenge and grit to grind through the tests and develop subject matter expertise, defense is a great industry to be in. When I first joined Lockheed, a system engineer once told me “everything you’ve learned in college will be useful on the job”. And he was absolutely right. Those computer science and math courses, including electives, were all fair game. As a software engineer in defense, you essentially wear 3 hats:
Similar to other industries, you are the quintessential software engineer to define requirements and software solutions to a business problem.
You are also an applied scientist who will read research papers, translate mathematical formulas from a model, then implement solutions that actually work in the system itself.
You are also an integrator that troubleshoot systems in test labs and on customer facilities.
Software engineers primarily worked on embedded and communication systems back in the day. But as the degree of freedom in war has increased, so did demand in software. Cybersecurity, artificial intelligence are some new important elements with less focus on the hardware product, but more focus on the software programs.
Joining an American defense contractor
I don’t have experience with foreign defense contractors. But for defense contractors in America, you need to be a U.S. citizen to qualify for a security clearance. Once you’ve got the job, there is an extensive background check for the required security clearance for the job.
Make sure you have full record of all your previous employments, residential addresses, any contact you’ve made, foreign travels in the past 7 years because you will need to provide those info when applying for security clearance. Financial difficulties, drug and alcohol abuse, suspicious foreign contact, domestic violence and felony are some common detrimental factors that may impact your security clearance. See official website here for more details about security clearance.
Things to be mindful of as a veteran
Despite having the same mission, as a veteran you should be aware that this is no longer your unit. You’ll be interacting with other veterans, colleagues who may be on a mission to support their active duty spouses, as well as extremely talented college graduates who are hired to break the barrier of technological limits.
Even though you are now one of them, your new colleagues or even managers may still treat you like their customer. If you are a software engineer and a veteran, my advice is keep your head down and do good work. Don’t get “buttered up” by words. You are not here to play warrior again, and you are certainly not in charge of the direction of a project. Management will test your abilities at the beginning. Once they figure out the areas you are good at, more interesting projects with depth will come to you. But if you joined a defense contractor as some other role, that may be different and I’m not here to talk about it.
Unlike other industries, defense contractors are very structured. You will have 2 managers. Your functional manager is your main point of contact. He/She is your dedicated people manager to make sure your career is on track and you are happy. Take advantage of that, because the other engineering project manager or integrated product team lead will push you to make sure the project is on track. They don’t care about lives…
You will also be logging your hours for every task you perform for reporting purposes. The reason is defense contracts are budged and tracked by the government. Sometimes if your project is mission critical and your manager approves, you can also log and get paid overtime on weekends even though you are a salaried employee. Hopefully you don’t need to do that often.
You have the advantage in understanding of the product. As a software engineer, understanding the business problem to solve is extremely important. To effectively support warfighter activities, especially if you are developing software that applies to your previous MOS, you have an edge as a veteran. Use that to your advantage to help you get promoted.
Conclusion
Defense industry provides a clear path for veterans with matching skills to transition into the civilian world and may be a rewarding career for many. Most veterans join these companies as managers since business leadership is our forte. However, this series is more about transition into an IC role, so if you were passionate like myself, now you have an idea what to expect if you want to work in defense but don’t want to be a manager.
Personally I had a great 4 years at Lockheed Martin. I worked hard, learned a ton, met some great mentors and colleagues I still keep in touch. Ultimately I decided to leave and stay closer to my family. Perhaps that’s another topic to discuss in the future.
I hope you enjoyed the story-telling of my journey into software engineering and see you next week!

