Python Developer

Reports to: Software Delivery Manager

Work location: Anywhere, 100% remote

Direct reports: 0

We are hiring a Python Developer to help develop 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 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 an earnest commitment to not breaking things… well, not too much.

Our stack

We currently run our in-house production Python code against Redis, MongoDB, and ElasticSearch services. We proxy API requests through NGINX, load balance with ELBs, and deploy our React web application to AWS CloudFront CDN. Our current CI/CD process is built around GitHub, Jenkins, BlueOcean including unit, integration, and end to end tests and automated system deployments. We deploy to Auto Scaling Groups using Ansible and Cloud-Init.

What you’ll do

  • Develop performance enhancements and new features in Crunch’s proprietary Python in-memory database.
  • Work closely with product managers, sales, and customer success team to understand the system’s functional and non-functional requirements.
  • Establish realistic estimates for timelines and ensure that project remains on target to meet deadlines.
  • Contribute to code quality through unit testing, integration testing, code review, and system design using Python.
  • Assist in diagnosing and fixing system failures quickly when they occur in your area of expertise. This is limited to when the on-call rotation needs a subject matter expert to help troubleshoot an issue.
  • Design and implement RESTful API endpoints using the Python programming language.

Basic qualifications

  • Strong understanding of the software development lifecycle.
  • A record of successful delivery of SaaS and cloud-based applications.
  • Extensive programming experience using Python as a programming language
  • A commitment to producing robust, testable code.
  • Results-driven, self-motivated and enthusiastic.
  • Excellent communication skills - verbal, written and presentation.
  • Experience working in a Linux environment
  • Experience with client/server architectures
  • A keen interest in learning new things.

Advanced (preferred) qualifications

  • Experience with data locality problems and caching issues
  • Expertise writing Cython or C extensions
  • Deep understanding of how a database system works internally (indexing, extents, memory management, concurrency, durability, journal)
  • Expertise with the numpy library
  • Experience implementing custom messaging protocols (sequence numbers, ttl, etc)
  • Database experience using MongoDB and ElasticSearch
  • Bachelor’s Degree in Programming, Computer Science, or Engineering-related field.
  • Pytest testing experience
  • Design and deployment of Continuous Integration tools (e.g., Jenkins, Bamboo, Travis, etc)

About Crunch.io

Crunch.io is a market-defining company in the analytics SaaS marketplace. We're a company on the rise. We've built a revolutionary platform that transforms our customers' ability to drive insight from market research and survey data. Crunch.io offers a complete survey data analysis platform that allows market researchers, analysts, and marketers to collaborate in a secure, cloud-based environment, using a simple, intuitive drag-and-drop interface to prepare, analyze, visualize and deliver survey data and analysis.

Quite simply, Crunch.io provides the quickest and easiest way for anyone, from CMO to PhD, with zero training, to analyze survey data. Users create tables, charts, graphs, and maps. They filter and slice-and-dice survey data directly in their browser. Crunch makes the powerful simple.

Our customers include some of the largest market research companies and largest brands in the world. We're hiring you to expand that roster. Our start-up culture is casual and high-energy. We are passionate about our product and our mission. We are loyal to each other and our company. We value work/life balance, efficiency, simplicity, and fantastic customer service!

Crunch.io is an Equal Opportunity Employer and we value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status.

Learn more about our team!