-
Notifications
You must be signed in to change notification settings - Fork 33
Technologies
Denis Stebunov edited this page Oct 29, 2021
·
15 revisions
- 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
- 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
- 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
- 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
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.