Desired Skills and Experience

  • Writing production-quality, tested code.
  • Understanding the code base for your components in depth.
  • Understand architecture and deployment framework for robust operation.
  • Producing technical designs and documentation at varying levels of granularity.
  • Collaborating with our quality assurance and technical operations teams to provide outstanding customer service.
  • Resisting the accrual of “technical debt” in our systems.
  • Participating in code reviews and helping the team to be effective and agile.
  • Staying educated on technical developments and tools.
  • BS in Computer Science, Computer Engineering or related technical field.
  • 4+ years of relevant work experience, including programming experience and strong devops experience.
  • Experience as part of a team doing state-of-the art, object-oriented software development including continuous integration, test-driven-development, automated unit and integration testing.
  • Experience with SQL, noSQL, and distributed databases and caching.
  • Experience administering distributed queues such as Kafka or RabbitMQ.
  • Experience with cloud computing infrastructure such as OpenStack or AWS.
  • Knowledge of micro services architecture and container orchestration frameworks such as Docker, Nomad, Kubernetes, or Mesos.
  • Experience with configuration management tools such as Puppet, Chef
  • In depth knowledge of UNIX/Linux: facility with command-line utilities; familiarity with system administration tools and concepts.
  • Experience identifying performance issues on Linux machines CPU, memory, disk
  • Linux networking expertise, such as investigating network traffic, port forwarding, tuning OS parameters
  • Experience with centralized logging systems, metrics, and tooling frameworks such as Splunk, Prometheus, and Grafana.
  • Experience with versioning tools. GIT a plus.
  • Experience with administering Jenkins a plus.
  • Experience with Agile development methodologies and practices.
  • Strong initiative: must be able to take high-level requirements, ask questions and get clarifications, decompose into deliverable components, design and implement solution to meet functional, performance, and quality acceptance criteria.
  • Excellent communication: must be a good listener, willing to ask questions, and able to clearly communicate ideas with team members and external groups.