Skip to content

Technologies

Denis Stebunov edited this page Oct 29, 2021 · 15 revisions

Infrastructure

  • Cloud Platform - AWS, GCP, Yandex.Cloud
  • Code Hosting - GitHub
  • CDN - CloudFront, Fastly
  • Email Services - SES, MailChimp, Mandrill
  • Monitoring - Sentry, Datadog, New Relic, CloudWatch
  • Task management - Jira, Trello
  • Communication - Slack, Zoom, Google Meet

Web Projects on Python

  • Core technologies - Python 3.10, Django 3.2, Celery
  • API - mostly GraphQL, sometimes REST
  • Favorite template engine - Jinja2
  • Storage - Postgres or MySQL, Redis, S3
  • Frontend - React.js, Babel (ES2019), Webpack, SASS, CSS modules
  • Testing and codestyle - py.test, Selenium + Headless Chrome, Jest, Flake8, ESLint + Airbnb config
  • Deployment - Docker images based on Debian (Docker Compose for local environment, EKS or ECS for production), Terraform, CloudFormation, GitHub Actions

Also using

  • Data processing and analysis: Apache Spark (AWS Glue), Kafka, AWS Kinesis Firehose, AWS Athena
  • Data warehouses: Google BigQuery, AWS Redshift, Snowflake
  • Graph databases: Neo4j
  • Mobile apps: React Native

Supported Browsers

  • Chrome
  • FireFox
  • Safari
  • Edge
  • IE11+ (for IE11 and below, a warning message is displayed that an upgrade is recommended)
  • Mobile Safari
  • Android Browser, supporting only >= 4.4

Not Recommended

We recommend against the use of the following technologies in our new or existing projects:

  • Typescript. We think that Typescript significantly slows down development, while preventing only a small percentage of bugs in real code. Studies about this topic have demonstrated that static typing helps prevent less than 3% of bugs. However, this doesn't mean that we're strictly opposed to the idea of explicit type declaration. Sometimes it may be helpful; we just don't think that it should be mandatory and enforced;
  • Styled Components. Use CSS modules instead. Unlike Styled Components, CSS modules don't introduce overhead and are also compatible with CSS linters and SASS.
  • Tailwind CSS. Basically, these are fancy inline styles, no matter what framework authors say. This concept goes against the DRY principle and makes the code harder to read, debug, and maintain.
Clone this wiki locally