Software Engineer

Kforce Inc.
Huntsville, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Huntsville, United States of America

Tech stack

Java
Microsoft Windows
Agile Methodologies
Software Applications
Confluence
JIRA
Build Automation
Automation of Tests
Unit Testing
Configuration Management
Corona (Software Development Kit)
Software Debugging
Linux
Distributed Systems
Eclipse
Gradle
JUnit
Maven
Cisco Nexus Switches
Release Management
Software Engineering
Software Systems
SonarQube
Systems Architecture
Java Application Server
Enterprise Software Applications
Gitlab
GIT
Integration Tests
Infrastructure Automation Frameworks
Software Coding
Devsecops
Jenkins

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