Linux Engineer
Responsibilities
Work closely with the infrastructure team to manage and maintain the infrastructure of the tastytrade family of companies, specifically:
Manage and troubleshoot issues on bare metal and virtualized installations of Linux across multiple deployment infrastructures.
Manage and troubleshoot issues with standard Linux applications.
Research and implement initial configuration of new software to support business and / or engineering goals.
Provision new hosts (physical and virtual) as needed.
Maintain updated, appropriately hardened base images of internally approved LTS OS installations.
Work in partnership with the DevOps engineers to design repeatable deployments and configurations of software or operating systems to meet business and / or engineering goals.
Manage and maintain supporting systems (Jenkins, Logstash, Kibana, Sensu, Sentry, etc.) used by the DevOps team and the engineering team.
Support an existing set of environments (integration, staging, production, etc.) in a capacity of system administration, networking, troubleshooting and configuration.
Work closely with a development and engineering team to build and document new and existing infrastructure.
Handle on-call support on a rotating basis.
Manage market data infrastructure as needed.
Assist security teams in implementing and maintaining security infrastructure.
Work closely with the DevOps team to ensure appropriate operating system upgrades and patches are rolled out in a timely fashion.
Prerequisites
Substantial experience with Debian / Ubuntu and CentOS / RHEL
Experience working in a virtualized environment
Experience administering cloud and / or virtual environments (AWS, Azure or GCP / KVM, VMWare, or Xen)
Experience administering standard Linux network management tools: BIND, ISC DHCP, etc.
Experience with automated provisioning technology (PXE, kickstart, etc.)
Experience configuring and troubleshooting Linux networking
Proficiency in shell scripting
Experience with configuration management tools like Chef, Puppet, or Ansible is preferred but not required
Experience working with MySQL or Postgres is preferred but not required
Experience designing high-availability Linux software deployments is preferred but not required
You must enjoy operating in a mission critical environment
You must work well with other team members
You must be able to make good critical decisions balancing technology, frameworks, strategy and practical constraints
You must be able to learn quickly in areas where you don't have deep expertise