Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+21 more
Job description
This role supports a large-scale, mission-critical defense system as part of a distributed systems and systems architecture engineering team. The Software Engineer will contribute to the design, development, testing, and sustainment of enterprise-grade Java applications supporting complex command-and-control and integrated system environments. Working under general direction, the engineer applies software engineering practices across multiple system components and interfaces, supporting analysis, development, integration, troubleshooting, and user support. The role spans most phases of the software development lifecycle and requires collaboration across engineering and systems teams to resolve issues, improve performance, and maintain operational readiness.
Core Responsibilities
Design, develop, modify, and maintain Java-based software applications in a large-scale system environment Perform analysis, debugging, and resolution of complex software issues across integrated components Support design, implementation, testing, integration, and documentation of software solutions Develop software from technical specifications, including enhancements and defect fixes Participate in unit testing, integration testing, and acceptance testing activities Support operational integration and user support activities as required Collaborate with systems, integration, and other engineering teams to resolve issues and improve system efficiency Apply established standards, coding practices, and configuration management processes Maintain awareness of system updates, tools, and best practices to ensure software currency
Requirements
Experience with automated unit testing and acceptance testing frameworks Familiarity with large-scale defense, command-and-control, or battle management system concepts Hands-on experience with modern software development and configuration management tools, including:
Eclipse, Maven, Gradle, Nexus JUnit Git, GitLab Jenkins, SonarQube JIRA, Confluence
Experience working in Agile development environments Experience developing enterprise applications on Linux platforms (Windows experience is a plus) Background supporting command-and-control or distributed system applications Experience with DevSecOps practices and/or build and release management, Understanding of full lifecycle software engineering practices for large, complex systems Hands-on experience developing software using Java Knowledge of unit testing strategies, automated builds, and CI/CD pipelines Experience developing and supporting software on Linux platforms Familiarity with coding standards, automated testing, build automation, and configuration management, Typically requires 3+ years of relevant software engineering experience Post-secondary degree or technical training in a related discipline is preferred
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Over-Saturated?
Is Software Engineering Hard?
7 Important Tips That Every Software Developer Should Know
Best Countries for Software Engineers