Senior Backend Engineer - remote

Posted 3 years ago

About the Job

The Zyte platform gives our customers access to the world’s most comprehensive web crawling stack, which powers crawls of over 8 billion pages per month.

As a Backend Developer in Platform you will take on features from defining the specification, through implementation, and into production and maintenance. We work to deliver features as quickly as possible but strive to improve them through customer feedback and monitoring usage patterns.

About the team:

The Platform team consists of frontend and backend developers working together on our customer facing application, tools and APIs to make it easier for data analysts and machine learning engineers to focus on finding insights while we handle their web data needs. We’re a team that values collaboration and helping each other. We meet consistently to discuss problems and brainstorm solutions. We maintain quality through collaborative development and code-review, and everybody’s ideas about development and architecture are welcome. We have an open forum where everyone can express themselves. We also value trust. We are trusted as developers and we take responsibility and ownership for the work we do. We have the flexibility to organise our work and the freedom to choose the tools we like most.

Roles &Responsibilities:

  • Work on the core platform: develop and fine-tune monolithic and micro services distributed across datacenters and continents.
  • Work on new features, including specification design and implementation. You should be able to own and be responsible for the complete lifecycle of your features and code.
  • Solve distributed systems problems, such as scalability, transparency, failure handling, security, multi-tenancy.

Requirements

  • 3+ years of experience building and maintaining high load distributed systems.
  • Strong track record in Python.
  • Experience building web applications and APIs using Django and Django Rest Framework.
  • Expert understanding of web request and response cycles.
  • Experience working on event driven systems using Asyncio.
  • Good knowledge of at least one RDBMS.
  • Experience working with Linux and Docker.
  • Good communication skills in English.

Bonus points for:

  • Experience using various parts of our stack Faust, Celery, Kafka, RabbitMQ, Memcached, HBase.
  • Experience with Java and Jython.
  • Familiarity with modern Python ASGI web frameworks like FastAPI, Starlette, Channels.