Как проходила карьерная лестница на прошлой работе?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Карьерная лестница на прошлой работе
Начало: Junior Backend
Пришёл с университетским дипломом, но без практики:
- Знал C++ теорию
- Не знал как работают production системы
- Был медленный, писал неоптимальный код
Первые 6 месяцев:
- Простые задачи (баг-фиксы, feature requests)
- Много code review от опытных коллег
- Вопросы "почему" каждый день
- Ошибки, которые учили лучше чем книги
Переход на Middle (1-2 года)
Что изменилось:
- Начал брать более сложные задачи
- Писал свои модули с нуля
- Изучил архитектуру системы
- Начал наставлять juniors
Примеры:
- Реализовал кеширующий слой
- Оптимизировал базу данных querу (10x ускорение)
- Написал библиотеку для сериализации
Зарплата: +30-40% от junior
Transition на Senior (2-3 года)
Обязанности изменились:
- Дизайн архитектуры для новых систем
- Технический лидер для средних проектов
- Менторство для 2-3 junior разработчиков
- Участие в принятии архитектурных решений
- Code review для целого модуля
Примеры:
- Спроектировал микросервис для обработки событий
- Ввёл best practices (DDD, clean architecture)
- Провёл несколько технических интервью
- Был ответствен за performance проекта
Зарплата: +50-70% от junior
Попытка на Lead (3-4 года)
Соблазны:
- Больше денег (ещё +30%)
- Больше влияния (decide что делаем)
- Меньше кодинга (больше meetings)
Реальность:
- Меньше времени на код (которым я люблю)
- Много политики и meetings
- Ответственность за людей (их ошибки = твои)
- Нужно управлять конфликтами
Мой выбор: Вернулся на Senior
Почему:
- Я разработчик, не менеджер
- Люблю писать код, не управлять людьми
- Технический рост интереснее чем политика
Специализация: Staff/Principal Engineer
Вместо руководства людьми:
- Архитектурные решения для нескольких тимов
- Технический орган для спорных вопросов
- Mentorship через код и документацию
- Исследование новых технологий
Примеры:
- Спроектировал distributed трейсинг систему
- Ввёл C++17 в проект (было C++11)
- Разработал внутренний ORM
- Был архитектором для миграции на микросервисы
Зарплата: Может быть даже выше чем Lead, без управления людьми
Ключевые моменты роста
1. Первая сложная задача (6 месяцев) Нужно было оптимизировать медленный query. Потратил неделю:
- Изучил индексы
- Использовал EXPLAIN ANALYZE
- Нашёл bottleneck
- Ускорил в 50x раз
Это был момент когда понял: "Я МОГУ что-то реально изменить".
2. Первый mentor (1 год) Взял на себя junior разработчика. Нужно было:
- Объяснять не очень очевидные вещи
- Писать документацию (чтобы не повторять себя)
- Проверять код (научиться видеть проблемы)
Это удвоило мой уровень.
3. Архитектурное решение (2 года) Час дебатов о том какую БД использовать:
- PostgreSQL vs MongoDB
- SQL vs NoSQL trade-offs
- Consistent vs eventual consistency
Сосредоточился на понимании trade-offs, а не просто выборе.
4. Отказ от руководства (3 года) Это было сложное решение. Но поняли:
- Не все люди хотят быть менеджерами
- Можно быть влиятельным без управления людьми
- Счастье важнее денег
Инструменты роста
1. Книги
- Effective C++
- The C++ Programming Language
- Designing Data-Intensive Applications
- System Design Interview
2. Практика
- Реальные проекты (лучший учитель)
- Решение production проблем
- Code review других
3. Наставничество
- От своего senior (прямое обучение)
- От других тимов (learn from friends)
- Open source (learn from masters)
4. Общение
- Технические обсуждения с коллегами
- Conference talks
- Своя документация (закрепляет знание)
Зарплата и компенсация
Junior: 100k USD
Middle: 140k USD
Senior: 170k USD
Lead: 200k USD
Staff: 180-220k USD (зависит от компании)
Но помните: зарплата — не главное. Главное:
- Интересные проблемы
- Хорошие люди
- Возможность расти
Что я советовал бы
Junior → Middle: focus на качество кода и архитектуру Middle → Senior: наставничество и архитектурные решения Senior → Lead: только если хотите управлять людьми Senior → Staff: если хотите impact без управления
Заключение
Карьерная лестница не обязательно идёт вверх:
- Можно остановиться на любом уровне
- Можно заходить вбок (менеджмент и обратно)
- Главное — быть счастливым
Мой путь: Junior → Middle → Senior → Lead (отказ) → Staff
И это было правильное решение.