Mid Level Backend Software Engineer- Java
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 Qualifications
Education
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:
Java
C#/.NET
JavaScript
Experience using Java frameworks including:
Spring Boot
Spring MVC
Hibernate
Log4J
Experience with version control and development tools including:
Git
Gradle
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.