ME00625-Software Engineer 2
ME00625-Software Engineer 2
Posted 2 days ago
SENIORITY
Lead
About the role
- Design, develop, integrate, test, deploy, and maintain enterprise software supporting large-scale distributed computing environments
- Perform requirements analysis, software design, development, installation, integration, testing, operations monitoring, maintenance, and troubleshooting throughout the software development lifecycle
- Develop high-performance Java applications supporting distributed systems, networking, and multi-threaded processing
- Design and implement scalable software solutions that integrate or extend Commercial-Off-the-Shelf (COTS) and Government-Off-the-Shelf (GOTS) products
- Develop and maintain Infrastructure as Code (IaC) automation using tools such as Ansible and Puppet
- Support Continuous Integration, Continuous Delivery (CI/CD), automated testing, deployment, and operational monitoring activities
- Develop and maintain containerized applications utilizing Docker and Kubernetes within microservices-based architectures
- Monitor application performance, troubleshoot production issues, and implement performance improvements
- Participate in software architecture reviews, code reviews, and technical design discussions to ensure quality, scalability, and maintainability
- Evaluate project requirements, estimate development effort, define technical tasks, and contribute to project planning activities
- Provide technical guidance and mentoring to junior software engineers and programmer/analysts
- Develop and maintain technical documentation, software design artifacts, implementation plans, and operational procedures
- Participate in a rotating Tier III on-call support schedule and provide emergency surge support as required by operational tempo
- Collaborate with software engineers, systems engineers, data engineers, and mission stakeholders within an Agile development environment
- Must have active Top Secret/SCI clearance with NSA Full Scope Polygraph
- Minimum of seven (7) years of experience as a Software Engineer supporting programs of similar scope, type, and complexity
- Bachelor's degree in Computer Science or a related technical discipline from an accredited college or university Four (4) additional years of directly related Software Engineering experience may be substituted in lieu of the degree requirement
- Strong experience developing enterprise applications using Java
- Experience developing distributed and multi-threaded applicationsExperience working within Linux environmentsExperience with Agile software development methodologies and source code management toolsExperience with Infrastructure as Code (IaC) technologies such as Ansible or Puppet
- Experience supporting CI/CD pipelines, automated testing, deployment, and operations monitoring
- Familiarity with Docker and Kubernetes
- Proficiency in at least one scripting language such as Python, Bash, Ruby, or PerlStrong analytical, troubleshooting, and communication skills
- Experience supporting Apache Hadoop, Apache Accumulo, or Apache NiFi environmentsExperience with MongoDB or other NoSQL database technologies
- Experience with enterprise messaging platforms such as ActiveMQExperience developing applications using the Spring Framework
- Experience with Python and Bash scripting
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
