Develops, maintains, and enhances complex software systems, working individually or as part of a team, with a focus on distributed services using Go, Java, Python, and Kotlin, and ensuring the seamless functioning of systems.
Responsibilities
Develops, maintains, and enhances software systems
Designs, develops, and maintains distributed services
Works with Accumulo and other technologies
Analyzes user requirements
Designs and codes new software or modifies existing software
Debugs and corrects defects
Integrates software into new or modified systems
Develops data queries
Provides recommendations for improving documentation
Develops or implements algorithms
Assists with developing and executing test procedures
Writes or reviews software and system documentation
Analyzes system performance standards
Serves as team lead
Modifies existing software
Designs, develops and modifies software systems
Designs or implements complex database or data repository interfaces/queries
Oversees software development teams
Confers with system and hardware engineers
Coordinates software system installation
Implements recommendations for improving documentation
Serves as the technical lead of multiple software development teams
Selects the software development process
Recommends new technologies and processes
Ensures quality control
Delegates programming and testing responsibilities
Requirements
TS/SCI with agency appropriate poly
Twenty years’ experience as a SWE
Bachelor’s degree in Computer Science or related discipline
Proven expertise in at least two of the following: Go, Java, Python, Kotlin
Strong understanding of distributed systems and databases
Proficiency in full-stack development
Demonstrated ability to adapt to new requirements and technologies