Software Engineer/Site Reliability Engineer
100% Remote
Direct-hire, permanent
Looking for a mid-level developer, with 2-3 years experience in an engineering role (any language), and an interest in "platform"-level development (i.e. not customer-facing apps). This role will be fast-paced, autonomous, and 100% remote. You will work with current versions of state-of-the-art infrastructure technology (Kubernetes, Istio, Concourse, Spinnaker) which form the foundation of our Platform-as-a-Service. Must be interested in learning AWS in depth (EC2, networking, CloudFormation). Languages used include: Ruby, Python, Java, Go, NodeJS. This is a development/engineering role, not a traditional "ops" position.
Accountabilities:
- Hands-on design, analysis and troubleshooting of highly-distributed large-scale production systems.
- Deep care of the repeatability, traceability, and transparency of our infrastructure automation.
- Identifying highest-impact opportunities to optimize existing systems.
- System design consulting for teams seeking to improve their production infrastructure.
- Anticipate, build and plan capacity for upcoming product/feature launches.
Technical Skills (not all are required!):
- Strong skills in reading, understanding and writing code in at least two of: Javascript, Python, PHP, Go, or Ruby.
- Experience working with AWS services (IAM, EC2, S3, EBS/EFS, ELB/ALB, AutoScaling, RDS and replication techniques, VPC, Subnets, Elastic IP, Route53, CloudWatch, CloudFront, Lambda, CloudFormation, ECS, SNS, ElastiCache).
- Knowledge of container/container-fleet-orchestration technologies (Kubernetes, ECS).
- Hands on experience with data storage and database solutions in the Cloud, including suitable DB architecture fit for purpose, DB schema change deployments, back up and DR solutions.
- Experience with database ETL techniques and solutions (preferably Apache Spark) including streaming large data sets.
- Knowledge of infrastructure build and configuration automation technologies (like Terraform, Ansible, Puppet, CodeDeploy).
- Cloud native Linux administration/build/management skills (AMIs, Packer, etc.).
- Experience troubleshooting interactions among concurrent and distributed systems.
- Expertise with continuous-deployment software development lifecycles in the Cloud (e.g. CI/CD).
- Familiarity with site and infrastructure monitoring systems (CloudWatch, Datadog, New Relic, Sumologic, Thousand Eyes).
- Expertise with SDLC branching, SCM, and code deployment systems (Git/Gitflow, Jenkins, CircleCI, etc.).