Python Systems Engineer (Remote)

  • Full-time

Company Description

Crunch.io is an innovative analytics company in the market research industry. We offer a survey data analysis platform that allows market researchers, analysts, and marketers to collaborate in a secure, cloud-based environment, using an intuitive drag-and-drop interface. Crunch users can quickly gain insights from their data and communicate them to their clients.

Job Description

We are hiring a Python Software Systems Engineer to help develop and deploy our platform. We are inviting you to join our small, fully remote team of developers and operators helping make our platform faster, more secure, and more reliable. You would help us deliver new features and build the future for how we deploy our products faster and safer while increasing the availability and reliability of our systems. You will explore different ways of problem solving and discover, explain, and defend your choices in implementation. You will be self-motivated and disciplined in order to work with our fully distributed team.

We are looking for someone who is a quick study, who is eager to learn and grow with us, and who has experience in DevOps or Agile cultures. At Crunch, we believe in learning together: we recognize that we don’t have all the answers, and we try to ask each other the right questions. Some of the ways that we accomplish that include paired programming to tackle a hard problem, transparent code reviews, and discussions about design and architecture. Since Crunch’s employees are completely distributed, it’s crucial that you can work well independently, and keep yourself motivated and focused. We move fast but carefully, with a deep commitment to not breaking things… well, not too much.

Responsibilities:

In addition to typical software engineering and system administration tasks, you will be expected to

  • Contribute to code quality through unit testing, integration testing, code review, and system design using Python

  • Configure and administer production services, and develop and maintain procedures for updating and upgrading these systems without sacrificing availability

  • Develop and and maintain staging, testing, and developer environments that provide a uniform base for developing code that is trusted to work well in production

  • Develop and automate software lifecycle systems to aid in Continuous Integration and Delivery of tested code

  • Participate in on-call rotations (limited to your working hours + the occasional weekend) and assist in diagnosing and fixing system failures quickly when they occur

Qualifications

Required skills:

  • Ability to work independently and communicate clearly

  • A commitment to producing robust, testable code that meets industry standards

  • Strong programming experience using Python or another high level programming language

  • Strong system scripting ability using Python, Bash, or similar

  • Substantial Linux System Administration experience

Nice to have, but not required:

  • Building large-scale or complex multi-tenant web applications

  • Parallelization, code optimization, and Big Data operations

  • System Deployment and/or Configuration Management software (e.g., Ansible, Chef, Puppet, etc.)

  • Continuous Integration tools (e.g., Jenkins, Bamboo, Travis, etc)

  • Monitoring (e.g., Nagios, Datadog, Sentry, Splunk, etc.)

  • Cloud Computing (e.g., AWS, OpenStack, Google Cloud, Azure, etc.)

  • ElasticSearch, Docker, Kubernetes, Mesos

Additional Information

Crunch is a well-funded, remote-first company with a collaborative and open culture. We are passionate about our product and our mission, and value work/life balance, efficiency, simplicity, and fantastic customer service.