Software Developer (Springfield, VA)
Job Description
Job DescriptionOpportunity Summary
Join LCE where you will provide software development support to our National Geospatial-Intelligence Agency (NGA) customer. You will develop, create, maintain, and write/code new (or modify existing) computer applications, software, or specialized utility programs.
Primary Responsibilities
- Establish and maintain development environment in support of SWAP tool development and maintenance.
- Provide database design for development and maintenance of SWAP.
- Provide web application design, development and maintenance for SWAP.
- Develop and provide web/portal development environment administration in support of SWAP and request approval for software download, installation, and configuration on the development team workstations.
- Deliver and sustain SWAP tool features that are identified during program increment-planning events.
- Deploy automated application security testing tools and make users aware of how to make the most of application security features.
- Support efforts to integrate software assurance tools into automated testing/automated pipeline methodologies.
- Evaluate commercial products for use and integration into the agency's software assurance.
- Assist in development of policies and guidance regarding software assurance.
- Support automated evaluation tools as they pertain to software assurance.
- Analyze information to determine, recommend, and plan development of new application or modification of existing application.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Apply coding and testing standards, apply security testing tools including "'fuzzing " static-analysis code scanning tools, and conduct code reviews.
- Apply secure code documentation.
- Capture security controls used during requirements phase to integrate security within process to identify key security objectives and to maximize software security while minimizing disruption to plans and schedules.
- Consult with engineering staff to evaluate interface between hardware and software.
- Correct errors by making appropriate changes and rechecking program to ensure desired results produced.
- Identify security implications and apply methodologies within centralized and decentralized environments across enterprise computer systems in software development.
- Identify security issues around steady state operation and management of software and incorporate security measures that must be taken when product reaches end of life.
- Perform secure programming and identify potential flaws in codes to mitigate vulnerabilities.
Security Clearance Requirements
- U.S. citizenship
- Active U.S. DoD Top Secret/SCI security clearance
Required Qualifications
- Bachelor's degree in technical discipline
- IAT Lvl 2 compliant certification (e.g., Security+) for intermediate level or IAM Lvl 2 (e.g., Certified Information Systems Security Professional (CISSP)) for senior level
- Skill in conducting vulnerability scans and recognizing vulnerabilities in security systems.
- Skill in creating and utilizing mathematical or statistical models.
- Skill in creating programs that validate and process multiple inputs including command line arguments, environmental variables, and input streams.
- Skill in designing countermeasures to identify security risks. S0031: Skill in developing and applying security system access controls.
- Skill in discerning protection needs (i.e., security controls) of information systems and networks.
- Skill in writing code in currently supported programming language (e.g., Java, C++).
- Skill in using code analysis tools.
- Skill to apply cybersecurity and privacy principles to organizational requirements (relevant to confidentiality, integrity, availability, authentication, non-repudiation).
- Ability to tailor code analysis for application-specific concerns.
- Ability to develop secure software according to secure software deployment methodologies, tools, and practices.
