Python / Django Developer

  • Mixcloud
  • London, UK
  • Aug 19, 2019
Full time Programmer Software Engineer Web Development

Job Description

THE ROLE:

We are looking for a Python developer with experience running a large Django application at scale. Ideally you will have good knowledge of the framework - from the SQL produced by the ORM to how to run it in production. Furthermore it's a big plus if you have knowledge of GraphQL, designing backend architecture, or training others. We have a large user base, but a small development team with a flat and flexible structure. This means you'll have the opportunity to learn new skills in new areas, and that the work is generally diverse and interesting.

ABOUT MIXCLOUD:

Mixcloud is an audio streaming platform connecting a global community of listeners and creators through audio culture. Listeners can access a unique collection of over 15 million radio shows, DJ mixes and podcasts produced and uploaded by over 1.3 million passionate tastemakers and curators around the globe. Our mission is to build a fair and sustainable ecosystem for audio culture. As a critical part of the global music and cultural landscape, we empower DJs, radio hosts, podcasters and tastemakers to build and inspire fan bases.

Mixcloud also helps connect brands to music and culture under our brand partnerships arm, LOUD. We create cutting-edge cultural solutions for brands such as adidas, W Hotels, Sonos, Dr. Martens, Eventbrite, and more.

Whilst we have a great foundation in place, this is the beginning of the next phase of our journey. We are looking for smart and hungry people to join our incredible team and help us realise our vision.

How Mixcloud serves 15 million monthly users a month

Our Tech Stack:

  • Python (Django)
  • GraphQL (3+ years live, 400+ Million queries a day)
  • Fast dedicated servers / Infrastructure
  • Kubernetes + Docker
  • Terraform + Puppet
  • Nginx
  • MySQL/MariaDB
  • GlusterFS
  • Elasticsearch
  • Redis / Memcached
  • RabbitMQ
  • Github + CI systems
  • Javascript (React/React Native/Relay/Flow)

We value techniques such as linting, automatic code formatting, unit tests, coverage reporting, snapshot testing, integration tests and type systems.

Who you are:

We’d expect you to be comfortable with the following tasks:

  • Understand, debug and optimise queries across the stack. Can you sanity check the SQL that the ORM emits? Can you debug a slow query?
  • Help us to maintain and develop a GraphQL API that currently services 400 million requests a day.
  • Familiar with SQL (MySQL/MariaDB) and basic database administration (migrating safely, monitoring the slowlog, building the right indices, etc.,to support tables in the Billions of rows)
  • Maintain very high test coverage by writing Django unit tests and end-to-end tests with Selenium.
  • Familiar with CI concepts and common workflow (we use Github and Codeship/CircleCI).
  • Manage and monitor deploys to our infrastructure. Being unafraid to SSH into a box and get to the root of a problem, as well as being comfortable with basic Linux administration and debugging.

Ideally you

  • Have strong Python knowledge
  • Have experience with web technologies at scale, preferably Django
  • Are comfortable with managing servers and app deployment
  • Bonus points if you have experience with JS / GraphQL

What will you do?

  • Work as a member of the team at every stage of software development life cycle - being capable of designing solutions, writing code, testing code, automating unit and integration tests and deployment.
  • Implement & design the core platform built in Python
  • Be an active part in code reviews and provide constructive feedback to other members of their team
  • Work closely with product management on prioritising features which are of key importance to their users
  • Research and learn new methodologies and technologies and bring knowledge to the team
  • Provide input and influence discussions around best practices and new technologies, helping us to develop an effective basis for future developments

Benefits

  • Generous stock options (Fully vesting over 4 years)
  • Unlimited holiday policy
  • Autonomy and flexible working culture (Work from home, flexible hours, and occasional remote work.) We don't "clock watch". We focus on happiness, output and quality of work.
  • Work with really smart people who contribute to the community: We help sponsor The London Django Meetup Group and our engineers often give talks. Swing by to meet our engineers!
  • Great office culture: Friday DJ lessons, Weekly team lunch provided, a kitchen stocked full of healthy snacks and a huge outdoor patio to soak up the sun and get some fresh air.
  • Join a smaller development team (16 people) and learn all parts of the stack. We have a flat structure with democratic decision making and we're quite open to suggestions from within.
  • Personal development: we place a lot of importance in helping develop everyone on the team, in whatever ways people desire/need. This starts with helping identify the right areas for development, and then it could result in finding mentors/advisors, on the job training etc. Mixcloud also covers the cost of books you want to read.

This is a London based position.

Mixcloud is committed to being a diverse and inclusive workplace. We encourage applicants of different backgrounds, cultures, genders, experiences, abilities and perspectives to apply.

All qualified applicants will receive consideration for employment without regard to race, color, national origin, religion, sexual orientation, gender, gender identity, age, physical disability, or length of time spent unemployed.