Full-Time Principal Software Engineer (TS/SCI)
Company engineers a diverse portfolio of high technology solutions, products and services that enable customers to successfully execute missions across all domains of operation. With a global team of 12,000+ top professionals, we partner with the best in industry to expand the bounds of innovation in the defense and scientific arenas. Given the nature of our work and who we are, we value trust, honesty, alignment and transparency. We offer highly competitive benefits and pride ourselves in being a great place to work with a shared sense of purpose. You will also enjoy a flexible work environment where contributions are recognized and rewarded. If who we are and what we do resonates with you, we invite you to join our high performance team!
General Dynamics is an Equal Opportunity/Affirmative Action Employer that is committed to hiring a diverse and talented workforce. EOE/Disability/Veteran
Bachelor’s degree in software engineering or a related technical field is required (or equivalent experience), plus a minimum of 10 years of relevant experience; or Master’s degree plus a minimum of 8 years of relevant experience; agile experience preferred.
Department of Defense Top Secret/SCI security clearance is required at time of hire. Applicants selected will be subject to a U.S. Government security investigation and must meet eligibility requirements for access to classified information. Due to the nature of work performed within our facilities, U.S. citizenship is required.
Immediate openings for a Principal Software Engineer at one of our Northern Virginia customer sites. Please note this position is based out of our Fairfax, VA location. This position provides an opportunity to further advance the cutting-edge technology that supports some of our nation’s core defense/intelligence services and systems. General Dynamics Mission Systems employees work closely with esteemed customers to develop solutions that allow them to carry out high-stakes national security missions.
As a Principal Software Engineer, you will:
- Provide leadership to cross functional software development teams
- Lead small technical proposals and contributes to medium sized proposals
- Frequently responsible to lead collaboration activities with senior management and leadership within the company
- Perform software requirements analysis, participate in research, design, develop and test software and tools, to include development of new work products or enhancing existing applications
- Perform technical planning, verification and validation of others work, cost and risk analysis, and supportability and effectiveness analyses for total systems
- Apply the appropriate standards, processes, procedures, and tools throughout the system development life cycle to support the generation of technical engineering products
- Research and analyze data, such as customer design proposals, market trends, state of technology and industry, specifications and manuals to determine feasibility of design or application
- Support and develop our technical culture by being engaged, intellectually curious, friendly, motivated to solve complex problems, and inspired to deliver superior user-centered design
- Participate in internal reviews of software components and systems
- Strong fundamentals in data structures and algorithms
- Solid object oriented programming and software design skills
Candidates should have demonstrated strengths and experience in the following areas:
- Strong leadership skills suitable for recruiting, leading and managing teams of engineers to solve challenging problems
- User Interface development
- Computer science theory (e.g., data structures, algorithms, computational complexity)
- Appreciation for user-centric design
- Full use and understanding of software engineering concepts, principles, and theories
- Effective communication and attention to detail
- Deep exposure to Unix/Linux systems as well as Windows
Other beneficial common programming patterns/paradigms:
- Seasoned, experienced professional having a wide range of professional experience
- Experience with version control systems
- Experience leading software teams using Agile methodologies
- Detailed and fully proficient knowledge of technology trends and champions new ideas and product and process improvements
- Concurrent programming and building multi-threaded systems
- Memory and CPU profiling
- Data modeling and writing efficient data access methods
- Experience building large-scale mission-critical applications
- Experience with distributed systems
- Direct-manipulation user interfaces
PREFERRED DEGREE TYPES AND EXPERIENCE:
Bachelor’s degree in software engineering or a related technical field is required (or equivalent experience), plus a minimum of 8 years of relevant experience; or Master’s degree plus a minimum of 6 years of relevant experience.