Когда я запускал свой первый стартап, я думал, что главное — выбрать модный стек. Мы взяли React, Node.js и MongoDB только потому, что об этом писали в блогах. Через полгода стало ясно: команда тратит время на борьбу с инструментами, а не с продуктовыми задачами. С тех пор я стал подходить к выбору технологий иначе, и вот какие принципы мне помогают.
Нажать чтобы Перейти на сайт
Первый и главный принцип — ориентироваться на опыт команды. Если разработчики сильны в Python, не стоит пересаживать их на Scala ради «будущего масштабирования». В одном из проектов я нанял команду под модный стек, и мы потеряли два месяца на изучение базовых вещей. Стартап умирает не от плохой архитектуры, а от медленного выхода на рынок. Поэтому знакомый стек — это быстрая скорость и меньше ошибок на старте.
Второй принцип — для MVP выбирать скучные и надёжные решения. Сейчас я предпочитаю Django или FastAPI для бэкенда и React для фронтенда. Эти технологии существуют давно, у них огромное комьюнити и масса готовых библиотек. Я избегаю микросервисов, Kubernetes и сложных структур данных, пока в них действительно нет необходимости. Однажды мы построили микросервисную архитектуру для продукта с пятью пользователями — это было глупо и дорого.
Третий принцип — оценивать экосистему и рынок труда. Если технология редкая, рано или поздно станет проблемой искать специалистов и поддерживать код. Я работал со стартапом, где использовали малоизвестный язык для внутренних инструментов. Когда ключевой разработчик ушёл, мы потратили месяцы на поиск человека. Теперь я задаю себе вопрос: смогу ли я через год найти людей на этот стек и будут ли библиотеки всё ещё поддерживаться?
Узнать подробнее →
Четвёртый принцип — думать о гибкости, но без фанатизма. Я не пытаюсь угадать, какая технология станет трендом через три года. Вместо этого я отделяю бизнес-логику от инфраструктуры: использую простые интерфейсы, понятные модели данных. Благодаря этому мы легко перешли с REST на GraphQL, не переписывая весь проект. Стартапу нужно уметь менять направление, а не переписывать код с нуля.
Как видите, для меня выбор стека — это не про модные языки, а про скорость, команду и устойчивость. Если бы я начинал новый проект, я бы снова выбрал консервативные инструменты, которые знаю и люблю. А как вы подходите к выбору технологий для своего стартапа? Что для вас важнее — новизна или надёжность? Жду ваших комментариев!
По теме советую почитать: MVP за месяц: стратегия, проверенная на собственном опыте
Первый и главный принцип — ориентироваться на опыт команды. Если разработчики сильны в Python, не стоит пересаживать их на Scala ради «будущего масштабирования». В одном из проектов я нанял команду под модный стек, и мы потеряли два месяца на изучение базовых вещей. Стартап умирает не от плохой архитектуры, а от медленного выхода на рынок. Поэтому знакомый стек — это быстрая скорость и меньше ошибок на старте.
Второй принцип — для MVP выбирать скучные и надёжные решения. Сейчас я предпочитаю Django или FastAPI для бэкенда и React для фронтенда. Эти технологии существуют давно, у них огромное комьюнити и масса готовых библиотек. Я избегаю микросервисов, Kubernetes и сложных структур данных, пока в них действительно нет необходимости. Однажды мы построили микросервисную архитектуру для продукта с пятью пользователями — это было глупо и дорого.
Третий принцип — оценивать экосистему и рынок труда. Если технология редкая, рано или поздно станет проблемой искать специалистов и поддерживать код. Я работал со стартапом, где использовали малоизвестный язык для внутренних инструментов. Когда ключевой разработчик ушёл, мы потратили месяцы на поиск человека. Теперь я задаю себе вопрос: смогу ли я через год найти людей на этот стек и будут ли библиотеки всё ещё поддерживаться?
Четвёртый принцип — думать о гибкости, но без фанатизма. Я не пытаюсь угадать, какая технология станет трендом через три года. Вместо этого я отделяю бизнес-логику от инфраструктуры: использую простые интерфейсы, понятные модели данных. Благодаря этому мы легко перешли с REST на GraphQL, не переписывая весь проект. Стартапу нужно уметь менять направление, а не переписывать код с нуля.
Как видите, для меня выбор стека — это не про модные языки, а про скорость, команду и устойчивость. Если бы я начинал новый проект, я бы снова выбрал консервативные инструменты, которые знаю и люблю. А как вы подходите к выбору технологий для своего стартапа? Что для вас важнее — новизна или надёжность? Жду ваших комментариев!