Разработка
Почему каждый знакомый мне Senior разработчик планирует уйти
Исход не грядет, он уже наступил.
После 10 лет разработки ПО, из которых последние три года я посвятил высокочастотной торговле, я наблюдаю нечто беспрецедентное: каждый senior разработчик в моей сети планирует уйти с традиционной работы. Это не просто смена работы или кардинальный поворот в карьере.
Причины кроются глубже, чем выгорание или более высокая зарплата. Фундаментальные отношения между разработчиками и индустрией изменились, и самые дальновидные специалисты уже начали действовать.
Невидимый налог на продуктивность
Современная разработка превратилась в упражнение по преодолению бюрократических барьеров, а не в решение проблем. Вот как выглядел мой день на этой неделе:
Разбивка времени (40-часовая рабочая неделя):
- Собственно программирование: 12 часов (30%)
- Совещания по поводу совещаний: 8 часов (20%)
- Соблюдение требований: 8 часов (20%)
- Документация для аудиторских журналов: 6 часов (15%)
- Накладные расходы на переключение контекста: 6 часов (15%)
В HFT важны микросекунды. Тем не менее, я провожу больше времени в Jira, чем за оптимизацией алгоритмов. Ирония удушающая.
// What I want to write
func optimizeOrderExecution(order *Order) (*Execution, error) {
return executeWithMinimalLatency(order)
}
// What compliance requires
func optimizeOrderExecution(order *Order) (*Execution, error) {
// Log entry for audit
auditLogger.Info("order_execution_started",
"order_id", order.ID,
"timestamp", time.Now().UnixNano(),
"user", getCurrentUser(),
"compliance_version", "v2.3.1")
// Validate 47 different compliance rules
if err := validateCompliance(order); err != nil {
auditLogger.Error("compliance_failure", "error", err)
return nil, fmt.Errorf("compliance check failed: %w", err)
}
// Execute with monitoring overhead
start := time.Now()
result, err := executeWithMinimalLatency(order)
duration := time.Since(start)
// Log everything for three different systems
metricsCollector.RecordLatency("order_execution", duration)
complianceDB.LogExecution(order, result, duration)
auditLogger.Info("order_execution_completed",
"duration_ns", duration.Nanoseconds())
return result, err
}
Обёртка для обеспечения соответствия решулятивным требованиям добавляет 40–60 микросекунд задержки. В HFT это разница между прибылью и убытком.
Архитектура разочарования
Архитектура корпоративного программного обеспечения превратилась в настоящего монстра:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ │ Developer │────│ Code Review │────│ Security │ │ Writes │ │ (3-5 days) │ │ Scan │ └─────────────┘ └──────────────┘ │ (2 days) │ └─────────────┘ │ │ ▼ ▼ ┌─────────────┐ ┌───────────────┐ ┌─────────────┐ │Performance │────│ Compliance │────│ Manager │ │Test (1 day) │ │Review (3 days)│ │ Approval │ └─────────────┘ └───────────────┘ │ (1-2 days) │ │ └─────────────┘ ▼ │ ┌─────────────┐ ┌──────────────┐ │ │ Staging │────│ QA Testing │───────────┘ │ Deploy │ │ (2-3 days) │ │ (4 hours) │ └──────────────┘ └─────────────┘ │ ▼ ┌──────────────┐ │ Production │ │ (if lucky) │ └──────────────┘
Общее время: 15–20 дней на исправление ошибки в две строки.
Тем временем мой сторонний проект разворачивается за 30 секунд:
Developer ──► CI/CD ──► Production
Разница в производительности ошеломляет.
Экономика не складывается
Senior разработчики создают огромную ценность, но получают от неё лишь малую часть. Вот расчёты моей нынешней HFT-компании.
Оптимизация алгоритма, которую я внедрил:
- Среднее время исполнения сократилось: 840 мкс → 340 мкс
- Дневной объём торгов: 10 млн заказов
- Увеличение прибыли на сделку: 0,002 доллара
- Годовая создаваемая ценность: 7.3 млн долларов
Моя годовая компенсация: 280 тыс. долларов
Коэффициент получения ценности: 3.8%
Для сравнения, та же оптимизация алгоритма в качестве стороннего инженера в консалтинге обошлась бы в 500 тыс. долларов с учётом текущих лицензионных сборов.
Кризис технического долга
Устаревшие системы топят нас. Каждое «быстрое исправление» становится постоянной архитектурой:
// Code from 2019 (still in production)
func processLegacyOrder(data string) error {
// TODO: Refactor this when we have time
parts := strings.Split(data, "|")
if len(parts) < 15 {
// HACK: Handle malformed data from old client
parts = append(parts, make([]string, 15-len(parts))...)
}
// WARNING: Magic number mapping - don't change!
if parts[7] == "X" {
// Special case for client X (expires 2020)
return processClientXOrder(parts)
}
// More hacks for different clients...
return processStandardOrder(parts)
}
Мы накопили более 50 подобных хаков. Каждый из них делает систему более уязвимой, но бизнес-приоритеты никогда не позволяют провести полноценный рефакторинг.
Взрывной рост числа совещаний
Производительность инженеров обратно пропорциональна частоте совещаний.
2019: 3 часа в неделю на совещаниях, важные функции выпускаются ежемесячно.
2021: 8 часов в неделю на совещаниях, функции выпускаются ежеквартально.
2024: 15 часов в неделю на совещаниях, ничего значимого не выпущено за 6 месяцев.
Корреляция идеальная и разрушительная.
Стратегии выхода, которые я вижу
1. Консалтинг/контракты
- Высокие почасовые ставки (150–300 долларов в час)
- Прямая корреляция ценности и оплаты
- Выбираете свой собственный стек технологий
2. Бизнес, основанный на продуктах
- SaaS-инструменты для разработчиков
- API-сервисы для нишевых рынков
- Разработать один раз, масштабировать бесконечно
3. Финансовая независимость
- Агрессивная экономия в периоды высоких доходов
- Инвестиции в недвижимость
- Портфели индексных фондов
4. Обучение/создание контента
- Онлайн-курсы (потенциал 50–500 тысяч долларов в год)
- Техническое письмо и блогинг
- YouTube/стриминг для разработчиков
Парадокс производительности
Мы оптимизируем наносекунды в коде, тратя годы на процессы:
// Spend 2 weeks optimizing this
func ultraOptimizedHash(data []byte) uint64 {
// Custom hash function, 15% faster than standard library
// Saves 50ns per operation
return customHashImplementation(data)
}
Ежегодная экономия времени: 0.3 секунды по всем операциям. Время, затраченное на оптимизацию: 80 часов. Рентабельность инвестиций: бесконечно отрицательная.
Между тем, исключение одного ненужного совещания сэкономило бы 52 часа в год.
Причины исхода
Техническая стагнация: Устаревшие системы, технический долг и культура, не склонная к риску, препятствуют инновациям.
Накладные расходы на процесс: Больше времени тратится на процесс, чем на продукт.
Несогласованность стимулов: Создание миллионных ценностей, получение тысяч в виде компенсации.
Размывание автономии: Микроменеджмент и цепочки согласований для тривиальных решений.
Искусственные ограничения: Требования комплаенса, которые увеличивают стоимость, не принося никакой пользы.
Письмена на стене
Senior разработчики — это канарейки в угольной шахте. Мы видим траекторию:
- Растущая бюрократия
- Снижение технических задач
- Растущий разрыв между созданием и получением ценности
- Появление альтернативных возможностей
Многие уже навострили лыжи. Удаленная работа нормализовала консалтинг. ИИ-инструменты снизили барьеры для самостоятельной разработки. Финтех демократизировал платежи и банковское обслуживание для создателей.
Будущее распределено
Следующее десятилетие принадлежит:
- Независимым разработчикам, монетизирующим экспертные знания
- Небольшим командам, создающим специализированные продукты
- Консультантам, решающим конкретные проблемы
- Разработчикам, владеющим своей цепочкой создания стоимости
Традиционной занятости была оптимизирована для индустриальной эпохи — стандартизация, контроль и процессы. Информационная эпоха поощряет креативность, скорость и прямое создание ценности.
Мой график ухода
Этап 1 (следующие 6 месяцев): формирование консалтингового портфеля.
Этап 2 (6–18 месяцев): переход к консалтингу на неполный рабочий день.
Этап 3 (18+ месяцев): полная независимость с доходом от продукта.
У каждого знакомого мне Senior разработчика есть похожий план. Вопрос не в том, произойдет ли это, а в том, когда.
Исход не грядет, он уже наступил.
-
Аналитика магазинов2 недели назад
Мобильный рынок Ближнего Востока: исследование Bidease и Sensor Tower выявляет драйверы роста
-
Интегрированные среды разработки3 недели назад
Chad: The Brainrot IDE — дикая среда разработки с играми и развлечениями
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.45
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2025.46

