Systems Engineer/Developer
JOB DESCRIPTION
The Systems Engineer will develop, build, deploy, manage, and administer cloud software and infrastructure designed to deliver complex software products in a production environment. The ideal candidate is a hands-on Cloud engineering professional with significant experience in developing and deploying repeatable processes, tools, and cloud infrastructure that enable the delivery of software in and on-demand cadence. They must have strong, firsthand technical expertise in a variety of configuration automation, deployment, and continuous integration technologies and the proven ability to fashion robust solutions that can keep pace with software development.
As a member of the Infrastructure Team, this candidate will assist in the assessment, development, implementation, monitoring, and maintenance of systems tailored for rapid data processing on disparate data sets. Activities include but are not limited to:
Assess, develop, or enhance system capabilities to meet new or evolving requirements
Manage day to day operations of systems by monitoring system performance, configuration, maintenance, and repair
Assist application teams with creation, configuration, integration, and management of Linux systems and platforms
Perform initial troubleshooting of issues and work with other teams, as necessary, to efficiently resolve issues
Document and provide regular updates on project status through established team communication tools
Provide system accreditation support to include security configurations, system scanning, and audits
Work across internal and external government organizations to develop, implement, debug, monitor, and support complex data processing capabilities. This requires the use of internal and external enterprise tools for analysis and authorizations
QUALIFICATION
Bachelor’s Degree in Computer Science, Information Technology, or other related technical discipline, or the equivalent combination of education, technical training, or work/military experience
Minimum five (5) years of related Systems and Linux Engineering experience
REQUIRED QUALIFICATIONS
Demonstrated experience developing and scaling applications written in Java, Python, or other programming languages with Cloud Native technologies
Experience deploying code in AWS utilizing solutions such as Terraform, Ansible, and CloudFormation
Experience securing cloud environments and supporting customer accreditation for highly sensitive systems
Experience working on large projects involving multiple IC organizations
Experience working with multiple large data flows and analyzing data failure conditions
Extensive experience as a Linux Systems Administrator, preferably RHEL/CentOS (installation, configuration, upgrades, troubleshooting)
Prior experience with one or more scripting tools: Shell, Perl/CGI, Python, Ruby
Strong analytical and problem-solving skills
Ability to communicate technical information both orally and written
DESIRED KNOWLEDGE/SKILLS
AWS Certification: Solutions Architect Professional or equivalent
Demonstrated experience with cloud technologies used with ETL and big data pipelines such as Glue, EMR, HIVE, Spark, S3, SQS, and SNS
Demonstrated experience with Kubernetes or EKS
Demonstrated experience using the AWS CDK
Prior experience with SQL querying of relational database, such as MySQL, and noSQL databases such as Elasticsearch
Prior experience setting up Docker clusters using Swarm and or Kubernetes
Prior experience with git for Infrastructure code management
Demonstrated hands on experience configuring cloud VPCs, subnets, route tables, and gateways
Experience working with cloud native technologies, Infrastructure as Code (IAC), and/or Serverless cloud technologies
KEY RESPONSIBILITIES
Design, develop, test, debug, and deploy new cloud software and infrastructure that extend or replace existing capabilities
Work with a team to build, administer, and secure cloud environments, including hybrid environments, in a repeatable and reliable manner
Collaborate with cross-functional team of software engineers, data scientists, analysts, project managers, and other engineering groups
Provide ongoing maintenance, support, and enhancements introductions systems and platforms
Provide recommendations for continuous improvement
Write and update technical documentation such as system documentation, training materials, processes and procedures
Work alongside other engineers on the team to sustain and advance our organization’s capabilities