Jobs and Careers
YO

Senior Software Engineer (Python)

YouGov
SpainRemotefull_timeVerifiedPosted 3 May 2023

About the role

<h3>Company Description</h3><p>Crunch.io, Part of the YouGov PLC 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.</p><p>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.</p><h3>Job Description</h3><p>As a <strong>Python Software Engineer </strong>you will be helping to 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.</p><p>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.</p><h3>Qualifications</h3><p><strong>Our stack</strong></p><p>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.</p><p><strong>What you’ll do</strong></p><ul><li>Develop performance enhancements and new features in Crunch’s proprietary Python in-memory database.</li><li>Work closely with product managers, sales, and customer success team to understand the system’s functional and non-functional requirements.</li><li>Establish realistic estimates for timelines and ensure that project remains on target to meet deadlines.</li><li>Contribute to code quality through unit testing, integration testing, code review, and system design using Python.</li><li>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.</li><li>Design and implement RESTful API endpoints using the Python programming language.</li></ul><p><strong>Basic qualifications</strong></p><ul><li>Strong understanding of the software development lifecycle.</li><li>A record of successful delivery of<strong> SaaS</strong> and cloud-based applications.</li><li>Extensive programming experience using <strong>Python</strong> as a programming language</li><li>A commitment to producing robust, testable code.</li><li>Results-driven, self-motivated and enthusiastic.</li><li>Excellent communication skills - verbal, written and presentation.</li><li>Experience working in a <strong>Linux environment</strong></li><li>Experience with client/server architectures</li><li>A keen interest in learning new things.</li></ul><p><strong>Advanced (preferred) qualifications</strong></p><ul><li>Experience with data locality problems and caching issues</li><li>Expertise writing Cython or C extensions</li><li>Deep understanding of how a database system works internally (indexing, extents, memory management, concurrency, durability, journal)</li><li>Expertise with the numpy library</li><li>Experience implementing custom messaging protocols (sequence numbers, ttl, etc)</li><li>Database experience using MongoDB and ElasticSearch</li><li>Bachelor’s Degree in Programming, Computer Science, or Engineering-related field.</li><li>Pytest testing experience</li><li>Design and deployment of Continuous Integration tools (e.g., Jenkins, Bamboo, Travis, etc)</li></ul><p> </p><p> </p><h3>Additional Information</h3><p>Our start-up culture is

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

YouGov

View company profile →