Notice: While Javascript is not essential for this website, your interaction with the content will be limited. Please turn Javascript on for the full experience.

Python Developer New
YouGov
Remote, County (optional), United Kingdom

Job Title

Python Developer

Job Description

Crunch.io part of the YouGov PLC are looking for a number of talented Python Developers to join their fully remote teams.

Crunch.io is a market-defining company in the analytics SaaS marketplace. We’ve built a revolutionary platform that transforms our customers’ ability to drive insight from market research and survey data. We offer 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 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.

Tech 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 will I be doing?

  • 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.

Restrictions

  • Telecommuting is OK
  • No Agencies Please

Requirements

Experience / 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.
  • 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)
  • Results-driven, self-motivated and enthusiastic.
  • Experience working in a Linux environment
  • Experience with client/server architectures
  • A keen interest in learning new things.

Desirable Experience:

  • 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 the Company

Contact Info

Previous Data Scientist at Climate Trace (UK-based), Climate Trace in London, United Kingdom Next Senior Software Engineer, Onaroll in New York, NY, United States