Skip to main content

Software Engineer (SWE) Skill Level 2,Software Engineer (SWE) Skill Level 3

Posted 2 days ago

wyetechFort George G Meade (MD)

SENIORITY

Senior

Apply (opens in a new tab)

About the role

Software Engineer (SWE) – Skill Level 2/3Wyetech is seeking an experienced Software Engineer (SWE2/SWE3) specializing in Java development to support the design, development, integration, maintenance, and enhancement of mission-critical software applications within a secure operational environment. The successful candidate will join a small, mission-focused engineering team responsible for developing and sustaining complex software systems. This position requires strong Java development experience, proficiency with modern software engineering tools and practices, and the ability to work effectively within Linux-based environments. The Software Engineer will develop, maintain, and troubleshoot Java applications using technologies such as Git, Gradle, Guice/Dependency Injection, Docker, and RESTful APIs. The engineer will also support application integration, software testing, system performance optimization, and ongoing development activities. Experience with the ELK Stack, MongoDB, Ansible, and Kubernetes is strongly desired. Familiarity with Angular and TypeScript is beneficial, as the selected candidate may occasionally support limited-scope frontend user interface development tasks. This position requires the ability and willingness to work in Government customer spaces or an offsite Sensitive Compartmented Information Facility (SCIF), as mission requirements dictate. Required Skills/Experience Strong professional experience developing, maintaining, and enhancing Java applications within enterprise or mission-critical environments. Experience designing, coding, testing, debugging, and troubleshooting complex software systems. Experience using Git for source code management, version control, and collaborative software development. Experience using Gradle for build automation, dependency management, and application packaging. Familiarity with Google Guice or comparable Dependency Injection frameworks. Experience developing and maintaining RESTful APIs and integrating applications with external services. Experience using Docker to build, package, deploy, and manage containerized applications. Strong Linux administration and troubleshooting skills, including experience working within Linux-based development and operational environments. Experience analyzing user and system requirements to derive software design and performance requirements. Experience developing new software features and modifying existing applications to improve functionality, reliability, and performance. Experience integrating software components into new or modified systems and operating environments. Experience diagnosing application defects, analyzing software failures, and implementing corrective solutions. Experience developing and maintaining technical documentation, software design specifications, and operational procedures. Experience reviewing software components for compliance with established design and functional requirements. Experience developing and executing software test procedures. Ability to collaborate effectively with a small, mission-focused team and communicate technical issues clearly. Willingness to perform limited-scope frontend development tasks when required. Ability and willingness to work in Government customer spaces or an offsite SCIF.Strong analytical, technical troubleshooting, communication, and problem-solving skills. Active TS/SCI clearance with Full Scope Polygraph. Desired Skills/Experience Experience using the Elasticsearch, Logstash, and Kibana (ELK) Stack for application logging, monitoring, search, and troubleshooting. Experience developing applications that integrate with MongoDB or comparable NoSQL database technologies. Experience using Ansible for configuration management, automation, and infrastructure provisioning. Experience deploying, configuring, and maintaining applications within Kubernetes environments. Experience developing frontend web applications using Angular and TypeScript. Familiarity with HTML, CSS, and modern web application development practices. Experience supporting containerized applications and microservices architectures. Experience developing automated build, test, and deployment workflows. Experience supporting Continuous Integration and Continuous Delivery (CI/CD) processes. Experience optimizing Java application performance and troubleshooting complex software integration issues. Experience working within Agile software development environments. Familiarity with secure software development practices and software sustainment within classified environments. Experience collaborating with systems engineers, system administrators, and other software developers to support application integration and deployment. Responsibilities and Capabilities Java Software Development and Application Sustainment Design, develop, maintain, and enhance Java applications supporting mission-critical operational requirements. Analyze user requirements and system specifications to derive software design, functional, and performance requirements. Develop new application features and modify existing software to improve functionality, reliability, and maintainability. Debug existing software, identify root causes of application defects, and implement corrective solutions. Develop and maintain software components using established engineering practices and development standards. Integrate existing software into new or modified systems and operating environments. Evaluate software design alternatives and recommend improvements to application architecture and performance. Support software enhancements involving complex data processing, system interfaces, and application integration. Modify existing software to correct errors, accommodate changes in hardware or infrastructure, and improve operational performance. Develop or implement algorithms that meet established functional and performance requirements. Collaborate with team members to resolve complex software engineering issues and support mission objectives. Build Automation, Source Control, and Dependency Management Use Git to manage source code, maintain version history, and support collaborative development workflows. Configure and maintain Gradle build processes to support software compilation, dependency management, testing, and packaging. Implement and maintain dependency injection patterns using Guice or comparable frameworks. Support software build automation and consistent application deployment practices. Troubleshoot build failures, dependency conflicts, and software integration issues. Maintain accurate configuration and build documentation. Recommend improvements to software development processes, build procedures, and engineering standards. RESTful APIs and Software Integration Design, develop, implement, and maintain RESTful APIs supporting application functionality and service integration. Integrate Java applications with existing software components, databases, and external services. Analyze system interfaces, data requirements, and application communication needs. Develop and maintain software components that support reliable data exchange and system interoperability. Troubleshoot API connectivity, integration failures, and application communication issues. Develop database queries and interfaces for existing or proposed databases and data repositories. Design or implement complex database interfaces and queries as required. Collaborate with systems engineers and other technical personnel to ensure application interfaces meet operational requirements. Docker, Linux, and Containerized Environments Develop, package, deploy, and maintain applications using Docker and related container technologies. Support software development and sustainment within Linux-based environments. Troubleshoot application issues involving operating systems, containers, software dependencies, and system configurations. Coordinate with system administrators and infrastructure personnel to support application deployment and operational stability. Support integration of containerized software components into existing infrastructure. Assist with Kubernetes-related deployment and troubleshooting activities when required. Evaluate software performance and resource utilization within Linux and containerized environments. Support software installation and monitor application functioning to ensure operational specifications are met. Software Testing and Quality Assurance Develop, maintain, and execute software test procedures to verify application functionality and performance. Review software components for adherence to established design requirements. Document test results, identify software defects, and support corrective action activities. Perform software debugging, troubleshooting, and quality control. Develop and implement improvements to software testing practices and development process standards. Support integration testing and validation of new or modified software components. Analyze application performance and identify opportunities to improve efficiency, reliability, and maintainability. Implement algorithms and software modifications that satisfy system timing, resource utilization, and interface requirements. Ensure developed and modified software meets established technical and operational expectations. Frontend

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.

More like this