Software Engineer 3

Company: Wyetech
Location: Annapolis Junction, MD, USA
Type: Full-Time
Salary: $86.2 - $136.27

Requirements

  • TS/SCI with agency appropriate poly
  • Master’s degree in computer science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
  • Bachelor’s degree in computer science or related discipline from an accredited college or university, plus seven (7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity
  • Nine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.
  • Experience using the Linux CLI
  • Proficiency in scripting (Bash/Python) to automate tasks and processes
  • Experience developing software solutions using programming languages such as Python, and Rust in a Linux environment
  • Experience with containerization technologies such as Docker, PodMan, containerd
  • Experience with automation frameworks including Ansible for orchestrating deployment
  • Experience performing troubleshooting and debugging issues in an operational system
  • Experience with CI/CD principles, methodologies, and tools such as GitLab CI and Jenkins
  • Experience with Git Source Control System

Responsibilities

  • Design, develop, test, deploy, document, maintain, and enhance complex and diverse software systems based upon documented requirements.
  • Review and test software components for adherence to the design requirements and document test results.
  • Resolve software problem reports.
  • Utilize software development and software design methodologies appropriate to the development environment.
  • Provide 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 Off-The-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.
  • Analyze user requirements to derive software design and performance requirements.
  • Debug existing software and correct defects.
  • Design and code new software or modify existing software to add new features.
  • Write or review software and system documentation.
  • Integrate existing software into new or modified systems or operating environments.
  • Develop simple data queries for existing or proposed databases or data repositories.
  • Serve as team lead at the level appropriate to the software development process being used on any particular project.
  • Design and development of relational and non-relational database applications.
  • Use of orchestration frameworks such as Spring and Kafka.
  • Familiarization with queue management systems.
  • Develop or implement algorithms to meet or exceed system performance and functional standards.
  • Develop and execute test procedures for software components.
  • 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.
  • Modify existing software to adapt to new hardware or to improve its performance.
  • Design, develop, and modify software systems using scientific analysis and mathematical models to predict and measure outcomes and consequences of design decisions.
  • Java development using the Eclipse IDE (Integrated Development Environment).
  • Development of Java 2 Enterprise Edition (J2EE) applications.
  • Experience using collaboration and software development tools (ie. Atlassian).
  • Software development using continuous integration practices.
  • Experience with container technologies (ie. Docker).
  • Unix shell scripting.
  • Development of event driven, or data driven analytics.
  • Development of cloud-based solutions and technologies.
  • Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints. Perform quality control on team products.
  • Recommend and implement suggestions for improving documentation and software development process standards.
  • Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project.
  • Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements, and interfaces.
  • Coordinate software installation on a system and monitor performance to ensure operational specifications are met.
  • Recommend new technologies and processes for complex software projects.
  • Serve as the technical lead of multiple software development teams.
  • Select the software development process in coordination with the customer and system engineering.
  • Ensure quality control of all developed and modified software.
  • Delegate programming and testing responsibilities to one or more teams and monitor their performance.

Preferred Qualifications

  • Familiar with Datacenter Infrastructure Management (DCIM) tools such as Netbox
  • Familiar with Observability and Analytics platform solutions such as Splunk
  • Familiar with Identity and Access Management (IAM) solutions such as Keycloak
  • Familiar with Secret Management tools such as HashiCorp Vault
  • Experience with the Atlassian Tool Suite (JIRA, Confluence)
  • Familiar with Agile, Scrum, or Scaled Agile Framework (SAFe) methodologies

Benefits

  • No benefits info provided.

Apply Now

No comments:

Post a Comment