Our partner is looking for a Software Engineer (SWE) in Annapolis Junction, Maryland.
The Software Engineer shall be responsible for developing platform management dashboards/views that will display dynamically changing physical and logical resource maps, state, and availability information for complex High Performance Computing (HPC) systems.
*Please note this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities and activities may change at any time with or without notice.
- Designs, develops, tests, deploys, documents, maintains, and enhances complex and diverse software systems based upon documented requirements. These systems might include, but are not limited to:
- processing intensive analytics
- novel algorithm development
- manipulation of extremely large data sets
- real-time systems
- business management information systems
- systems which incorporate data repositories
- data transport services
- application and systems development and monitoring
- Reviews and tests software components for adherence to the design requirements and documents test results.
- Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of Open Source Software (OSS) and/or Commercial OffThe-Shelf (COTS) Government Off-The-Shelf (GOTS) software in place of new development, and requirements analysis and synthesis from system level to individual software components.
- Working knowledge of Configuration Management (CM) tools and Web Services implementation.
- Use of orchestration frameworks such as Spring and Kafka.
- Develop or implement algorithms to meet or exceed system performance and functional standards.
- Develop software solutions by analyzing system performance standards and conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problem areas.
- Java development using the Eclipse IDE (Integrated Development Environment).
- Development of Java 2 Enterprise Edition (J2EE) applications
- Software development using continuous integration practices
- Unix shell scripting
- Development of event driven or data driven analytics
- Must meet one of the following 3
Experience using the Linux CLI Experience writing scripts using Bash/Python Experience developing with multiple programming languages such as Python and/or Java in a Linux environment Experience with creating and integrating custom plugins for COTS and FOSS Data Center Infrastructure Management (DCIM) tools such as Nlyte and Device42 Experience with IaC (Infrastructure as Code) concepts, principles and automation tools such as Ansible Experience with CI/CD principles, methodologies, and tools such as GitLab CI Experience with software frameworks used for searching, monitoring, and analyzing big data such as Splunk and Elastic Stack Experience with metrics visualization technologies such as Grafana and Kibana Experience with Git Version Control System Preferred Education, Experience, & Skills
- Master's degree in Computer Science or related discipline from an accredited college or university.
- Bachelor's degree in Computer Science or related discipline from an accredited college or university, plus two (2) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity
- Four (4) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
- Experience with the Atlassian Tool Suite (JIRA, Confluence)
- Application Development
- Problem Solving
- Information Technology
- Operating Systems
- Agile Software Development
- Troubleshooting (Problem Solving)