-
Notifications
You must be signed in to change notification settings - Fork 33
Technologies
Denis Stebunov edited this page May 4, 2021
·
15 revisions
- Cloud Platform - AWS
- 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.9, Django 3.2, Celery
- API - GraphQL or REST
- Favorite template engine - Jinja2
- Storage - Postgres or MySQL (in production - RDS or Aurora), Redis (in production - ElastiCache), S3
- Frontend - React.js, Babel (ES2019), Webpack, SASS, CSS modules
- Testing and codestyle - py.test, Selenium + Headless Chrome, Mocha, Flake8, ESLint + Airbnb config
- Deployment - Docker images based on Debian (Docker Compose for local environment, EKS or ECS for production), CloudFormation, GitHub Actions or Jenkins
- 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.