At Dataquest, we teach data science to a community of hundreds of thousands of students worldwide. We help students deeply learn concepts, build projects, work together, and gain the confidence they need to start new careers. Read more about our philosophy here, and read what students think here.
We're looking for a senior backend engineer with operations experience to help support and evolve our learning platform. We currently need the most help in migrating our existing monolithic codebase to a more distributed architecture, but you will also likely be jumping in on crafting an infrastructure roadmap, developing new microservices, mentoring other engineers, and offering opinions on devops. You'll have a lot of autonomy in how you work and what you work on, as long as it's having an impact on our students.
This is a fully remote role and we are open to applications worldwide. You don't have to match all of the listed requirements to apply -- we're looking for people who can grow along with our team, so please reach out if this job is interesting to you.
We don't have a concrete set of requirements on skills. We know that any problem you are working on requires research; otherwise it wouldn't be a problem. Rather, we'd like to describe some traits that a successful developer in this role might have:
- You’re able to dive into a complicated Python codebase and confidently make changes.
- You think about how to measure the effectiveness of the features you work on.
- You can lead architectural discussions and create roadmaps.
- You enjoy mentoring other engineers, and sometimes you stare into space thinking about how you would explain a topic to someone less familiar with it.
- If a merge request deletes more code than it creates, you think it's a good day.
- You aim to improve reliability and performance when you refactor.
- You’re eager to ask questions if you don't understand something and initial research isn't helping.
- If you're blocked on something, you instinctively find other things to contribute while you wait.
- When you hear about a new technology, you wonder how it can improve your work rather than worrying about having to learn it.
- You’re excited about Devops, and you enjoy architecting and improving infrastructure.
These are some of the technologies you'll be working with at Dataquest, though you may end up introducing new ones:
- Communication with the backend happens over a combination of websockets, GraphQL, and REST APIs.
- The main backend is Django on Python 3 utilizing Celery, Django-channels, and graphene.
- We have a few microservices in Asyncio and Node, and plan to build more.
- We use Docker extensively, both for student code execution, and for deployment of our services.
- We use Kubernetes on Google Cloud to orchestrate our containers in production.
- Our data is largely stored in Postgres, with some caching in Redis.
- We use git for source control and Circle CI for pipelines.
Why you should work at Dataquest
At Dataquest, you'll get:
- The opportunity to see your impact on the lives of our students every day.
- The chance to work with an engaged and mission-driven team.
- The chance to contribute to product direction and decisions.
- Autonomy and control over how you work.
- The ability to work remotely.
- A supportive environment where you can get help when you run into blockers.
The salary range for this role is $80k USD - $100k USD per year, and it's a full-time remote role.