APIs You Won't Hate


Wallarm · Senior Python Developer

Short facts about us:

  • We are a global remote-first team of 80+ people on 2 continents and in 7 time zones.
  • We have been protecting our clients since 2013.
  • The company has raised over $10M in investments.
  • The project has more than 200 customers around the world, including Fortune 500, Nasdaq, and high-growth startups.
  • The company passed Y Combinator, the most prestigious incubator in Silicon Valley, from which Dropbox, Stripe, Docker, etc. came out.

Our product:

Our core product is the Web Application Firewall, which analyzes and blocks malicious HTTP requests to customer applications in real-time.

The product uses a hybrid architecture:

  • Filter nodes are installed and scaled in any clouds (AWS/GCP/Azure) and Kubernetes and are responsible for traffic analysis. The cloud part is a SaaS service.
  • In the DevOps and Security Cloud Console, teams can view and analyze malicious events, set up integrations/notifications with their current tools, and work with data about attacks and incidents.

Our technology stack:

  • The system management interface is written in React and is a Single Page Application. Therefore, backend teams are not engaged in layout, but only API development.
  • For backend development, we use Ruby and Golang
  • Some components and modules are written in Python (Data Science/ML). But mostly Python is used by the QA department for developing integration autotests.
  • Cloud deployed with Kubernetes/Helm and Terraform
  • Main frameworks used: Ruby On Rails (API only)/Sinatra; gin for Golang
  • Main databases used: PostgreSQL, Elasticsearch, Riak/S3, Tarantool and Redis

About this opportunity:

We are looking for a person to the Discovery API team, a new Wallarm component designed to build web application profiles based on incoming traffic.

Based on its tasks, the Discovery API also consists of two components:

  • thin client on the filter node, designed for:
    • collection and pre-processing of incoming traffic,
    • formation and packaging of statistics,
    • delivery of the received statistics to the Wallarm cloud.
  • groups of cloud services responsible for analyzing incoming data, as well as interacting with other Wallarm WAF components.

In the current implementation, all server analytics is based on algorithmic learning and heuristics, however, in the near future, it is planned to attract specialists to implement machine learning methods.

Now we are looking for a Python developer with a broad outlook and experience in working on high-load projects and (ideally!) with competencies in the field of data science.

In this role you will:

  • Implement business logic in Python 3;
  • Work on the server-side (RESTful services - we have Flask, we want FastAPI);
  • Construct and implement algorithms, evaluate their complexity. Profile and optimize existing solutions (CPU-/memory-bound processes);
  • Write tests (Pytest) and technical documentation;
  • Code review;
  • Participate in the collection and formalization of business requirements;
  • Participate in architectural decision-making.

In this role you’ll need:

  • 5+ years of total development experience;
  • 3+ years of experience in product development in Python 3 with typing (Mypy);
  • Understanding the principles of parallel (multiprocessing) and competitive (asyncio-family) programming;
  • Knowledge of one of the modern web frameworks (aiohttp, Flask, FastAPI) and related backend stack (SQLAlchemy, pydantic, etc.);
  • Understanding the principles of working with distributed task queues (we have Celery);
  • Experience with SQL/NoSQL databases: Postgres, Redis;
  • Experience in code development in Linux OS environment (Bash, GNU toolchain, packaging);
  • High development culture: Git commit/pull request policies, style guides (we have Google Python Style Guide), linters (we have Pylint), etc;
  • Good written and spoken English.

Will be a plus:

  • Interest in the subject area (information security, proactive protection of web applications);
  • Experience with a low-level programming language (e.g. C/C++);
  • Understanding the principles of networking and HTTP;
  • Experience in machine learning;
  • DevOps skills (Docker, Kubernetes, etc.);
  • Ruby knowledge.

What we offer:

  • Ability to work on a product that makes the Internet safer
  • Completely remote work
  • Competitive salary and bonuses
  • 15 paid days off in addition to the vacation
  • Flexible working hours
  • Allocated budget for each employee for compensation:
    • Education (trainings, conferences, books, etc.)
    • Sport (Fitness, sports sections, equipment, etc.)
    • Paid medicine (including psychologists)
    • Vacation (tickets, hotels, tours, etc.)
    • Leisure (tickets to the theatre or cinema)
    • Workplace equipment

Apply Now

APIs You Won't Hate

BooksBlogVideosPodcastAsk us a question


Subscribe to our newsletter

Powered by Vercel

© 2022 APIs You Won't Hate. All rights reserved.