Software Engineer I (SWE-1)
Location: Laurel, MD
Employment Type: Full-Time
Work Schedule: Onsite (No Telework)
Position Overview
We are seeking a Software Engineer I (SWE-1) to support the design, development, testing, and maintenance of mission-critical software applications in a secure environment. This role is ideal for a software engineer with experience in Java and .NET development who enjoys working across multiple operating systems, building containerized applications, and contributing throughout the software development lifecycle.
The successful candidate will collaborate with cross-functional engineering teams to develop scalable software solutions, support application deployment, and implement modern development practices using Git, Docker, and CI/CD technologies.
Key Responsibilities
- Design, develop, test, and maintain software applications supporting mission-critical systems.
- Develop backend and web-based applications using Java and C#/.NET technologies.
- Build and maintain applications using Java frameworks including Hibernate, Spring MVC, Spring Boot, and Log4J.
- Develop and maintain JavaScript-based application components.
- Utilize Git and Gradle for source code management, version control, and build automation.
- Develop, test, and troubleshoot software across Linux and Windows operating systems.
- Create and maintain Bash and PowerShell scripts to automate application deployment and system administration tasks.
- Build, deploy, and maintain Docker containers and Docker Compose environments.
- Participate in software integration, testing, debugging, and performance optimization.
- Contribute to software documentation, configuration management, and code reviews.
- Follow established software development lifecycle (SDLC) processes and engineering best practices.
- Collaborate with software engineers, system administrators, and project stakeholders to deliver high-quality software solutions.
Required
QualificationsEducation- Bachelor's degree in Computer Science or a related technical discipline from an accredited college or university.
- Four (4) additional years of software engineering experience on projects with similar software processes may be substituted for a bachelor's degree.
Experience
- Seven (7) years of software engineering experience supporting programs of similar scope, type, and complexity.
Required Technical Skills
- Strong experience programming with:
- Experience using Java frameworks including:
- Spring Boot
- Spring MVC
- Hibernate
- Log4J
- Experience with version control and development tools including:
- Experience developing across multiple operating systems:
- Linux (Bash scripting, RPM packaging)
- Windows (PowerShell scripting)
- Experience working with Docker, including:
- Building and running container images
- Creating Dockerfiles
- Using Docker Compose
Preferred Qualifications
- Experience developing modern web applications.
- Experience working with MySQL databases.
- Experience implementing CI/CD pipelines using GitHub Actions.
- Familiarity with GitHub Packages.
- Experience packaging software for Windows environments (MSI, portable ZIP, or similar deployment methods).
- Familiarity with Windows Subsystem for Linux (WSL).
- Understanding of PKI infrastructure and X.509 certificates.
- Experience developing and maintaining unit tests.
- Strong understanding of the Software Development Lifecycle (SDLC).
- Experience working within Agile software development environments.
Technical Environment
- Java
- Spring Boot
- Spring MVC
- Hibernate
- Log4J
- C#/.NET
- JavaScript
- Git
- Gradle
- Docker
- Docker Compose
- Linux
- Bash
- Windows
- PowerShell
- MySQL (preferred)
- GitHub Actions (preferred)
- GitHub Packages
- PKI
- X.509 Certificates
- Windows WSL
Preferred Attributes
- Strong analytical and problem-solving skills.
- Excellent troubleshooting and debugging abilities.
- Ability to work collaboratively in a fast-paced engineering environment.
- Strong written and verbal communication skills.
- Self-motivated with the ability to manage multiple priorities.
- Commitment to producing secure, high-quality, and maintainable software.
Why Join Us?
This opportunity allows you to contribute to mission-critical software development supporting secure government programs. You'll work alongside experienced engineers using modern development frameworks, containerization technologies, and DevSecOps practices while building scalable, secure applications that make a meaningful impact.