National Geospatial Intelligence Agency - Springfield, VA

posted 5 months ago

Part-time - Mid Level
Springfield, VA
National Security and International Affairs

About the position

The Senior Software Developer position at the Department of Defense involves identifying, documenting, and analyzing complex customer, business, and system requirements. The role requires evaluating alternative approaches and designing solutions tailored to specific agency, systems, and customer needs. The developer will lead the testing and integration of new and modified solutions into existing systems, ensuring that all software adheres to security and information assurance policies. This position is critical in overseeing the development of software applications, services, and systems, including both user-facing and back-end services. In this role, the Senior Software Developer will manage source code using industry-standard version control practices and will be responsible for researching new techniques and technologies to stay current in software development methodologies and tools. The developer will utilize code validation tools to ensure that the source code is valid, properly structured, secure, and compatible with various browsers, devices, or operating systems. Collaboration with customers to define needs and specifications is essential, as is the ability to test, secure, and integrate developed software applications into the operational baseline via automated pipeline processes. The position also requires performing test-driven development, utilizing strong unit testing techniques, and modifying or enhancing existing software to correct errors or improve performance. The developer will create technical models, architectural artifacts, and prototypes, and will be expected to communicate actionable information with colleagues and leadership while engaging with the community as a resident expert. Additionally, the role involves preparing reports and consulting with customers or stakeholders on technical issues, providing operational support, and offering status updates.

Responsibilities

  • Develop software applications, services, and systems (e.g., user-facing and back-end services).
  • Manage source code using industry version control best practices.
  • Research new techniques and technologies to stay current in software development methodologies and tools.
  • Utilize code validation tools to ensure the source code is valid, properly structured, meets industry standards, is secure, and is compatible with browsers, devices, or operating systems.
  • Collaborate with customers to define needs and/or specifications and develop proposed solutions.
  • Test, secure, and integrate developed software applications into the operational baseline via automated pipeline processes.
  • Perform test-driven development utilizing strong unit testing techniques to include test cases mimicking external interfaces and addressing all browser and device types.
  • Modify or enhance existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
  • Create technical models, architectural artifacts, and/or prototypes that include physical, interface, logical, or data models (e.g., model view controller (MVC) programming practices).
  • Communicate actionable/valuable information with colleagues and leadership and engage with the community as a resident expert.
  • Prepare reports and consult with customers or other stakeholders to advise on technical issues, provide operational support, respond to questions, and offer status updates.

Requirements

  • Experience designing, developing, testing, and deploying software including full stack web-based applications using industry standard DevOps tools.
  • Experience working with cross-functional teams to fulfill customer requirements.
  • Experience using a programming language such as Java, Python, JavaScript, or equivalent to build and design complex software applications.
  • Experience in cloud computing including concepts, capabilities, and applications as they relate to storage, processing, and dissemination.
  • Experience in applying agile development methodologies to develop software.
  • Experience building web application programming interfaces (API) using standards such as REST or SOAP.
  • Bachelor's degree from an accredited college or university in Computer Science, Computer Engineering, Engineering, Information Science, Information Systems Management, Information Technology, Mathematics, Statistics, or a degree that provided a minimum of 24 semester hours in one or more of the fields identified above and required the development or adaptation of applications, systems, or networks.

Nice-to-haves

  • 5 years of professional experience with developing and deploying containerized applications to a Kubernetes container orchestration system.
  • 5 years of professional experience with frameworks such as Python Flask, Java Spring, Java Spring Boot, or JavaScript React.
  • 5 years of professional experience with Platform-as-a-Service such as Red Hat OpenShift.
  • 5 years of professional experience with deploying and securing software using DevSecOps best practices with pipeline technologies such as GitLab or Jenkins.
  • 5 years of professional experience applying software security techniques, controls, and best practices to engineer software to mitigate vulnerabilities and risk against malicious attacks and ensure continued operations.
  • 5 years of professional experience in developing and managing IT or software governance policy (e.g., software development standards, best practices in building and maintaining software).

Benefits

  • Access to a range of benefits depending on the type of position (permanent, part-time, temporary, or intermittent).
  • Potential eligibility for recruitment incentives for selected candidates.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service