Engineering (Software)

Career Overview:  Within DoD contracting the software engineering career field is one of the most dynamic, exciting and growing career fields to work in.  People with degrees in Computer Science, Computer Engineering, Data Science, Information Systems and Math or other STEM degrees or experience in computer programming are highly sought after.

For people with requisite education and experience there are multiple jobs opportunities as software systems are pervasive across all sectors of DoD contracting.  Software engineering jobs can also be broken down into several disciplines.  For example, there are certain software jobs related to writing software programs that work very close to the hardware (low level coding) in languages like Assembly, and C.  This type of programming involves working directly with hardware engineers and writing code that drive satellite antennas, controls flight systems, enable radar capabilities, controls shipboard instrumentation (navigation, propulsion), and enables communication and guidance systems to new name a few capabilities.

There are also software engineering jobs using object oriented languages like C++, C#, and Java.   DoD applications for these languages is vast.  Developers often use these languages to build systems that support spacecraft launch systems, onboard spacecraft control systems, data and communications links, aviation and naval control systems, computer networking systems, radar and video surveillance systems, and tactical radio systems.

In addition to weapon systems software, DoD contractors are also in need of programmers, and data scientists to deal with “Big Data” analysis problems.  Applications in this sector usually address extremely large data sets from sensor systems and apply statistical analysis models to solve very large and complex issues.  Examples would include improving chemical and biological weapons detection capabilities, improving the resolution of satellite imagery, enhancing capabilities of land and space based radar tracking systems to name a few.  Languages used for this work include R and Scala, and NOSQL databases like MongoDB, Redis, and Cassandra and technologies such as Apache Hadoop with Map Reduce.

DoD contractors also have needs for web/internet and business applications development to address a variety of internal and customer facing systems.   Languages skills such as Python, Perl, Ruby, and database skills with Oracle, MS SQL Server, MySQL and Enterprise Resource Planning (ERP) systems development for products like SAP, Infor, Oracle are in high demand.  Developers using these tools often build analytic, financial, logistics, manufacturing and reporting systems or create enhancements to existing Commercial Off The Shelf (COTS) software systems.

Career Path:  There are several career paths for software engineering professionals.  The majority of software engineering professionals have a college degree and start out as an entry level software engineers or programmers in the civilian or DoD contractor business sectors right after college.  Some opt for a career in the military and upon retirement or separation from service pursue a bachelor degree or specialized training in software development.

Some DoD Contractors have a software engineering career path based on years of experience and responsibilities.

For example
Associate Software Engineer              0-2 years of experience
Software Engineer                              2-5 years of experience
Senior Software Engineer                   5-9 years of experience
Principal Software Engineer               9-12 years of experience
Staff Software Engineer                     12-15 years of experience
Sr. Staff Software Engineer               15-20 years of experience

 

Similarly some DoD contractors software engineering career paths will have numerical grade levels.

For example
Software Engineer I                            0-2 years of experience
Software Engineer II                          2-5 years of experience
Software Engineer III                         5-9 years of experience
Software Engineer IV                         9-12 years of experience
Software Engineer V                          12-15 years of experience
Software Engineer VI                         15-20 years of experience

 

Salaries: Software Engineering salaries vary but start around ~$70k for entry level engineers and can be in excess of $150k for senior level developers and software architects.

 

Professional Organizations: Depending on your software engineering discipline there are several professional organizations established to assist you in your career development.  The list includes but is not limited to.

 

Training & Certifications: Depending on your engineering discipline there are several options for advanced training and certification.

The IEEE organization offers certifications as a Professional Software Developers Certification

Likewise, obtaining a masters or doctorate degree in your chosen career field helps improve your competiveness when seeking jobs and career advancement opportunities.   I encourage you to select a few of the DoD contractors profiled on this site and search for engineering jobs in you desired discipline to see what educational and certifications they are requiring.

Education: Most software positions require a bachelors degree and having a masters or doctorate degree is highly recommended.

Job Search:  To review currently open engineering jobs that DoD contractors are actively hiring for I recommend going to the career page of several of the DoD contractors profiled on this site and searching for jobs with the titles “Software engineer” and reviewing the jobs and job requirements that come up.