🦍
Эволюция разработчика v1 "Ветки развития" 👨💻
Раз уж пошла тема про эволюцию разработчика, решил что лучше будет начать с самых низов и постепенно пройти весь путь.
Первая статья будет посвящена общим путям развития разработчика (я беру только front и backend разработчиков) и ключевым отличиям.
Итак, дерево развития персонажа:
1.
Zero – человек с несколькими пет проджектами, способный начать постепенно решать детально расписанные микротаски. Не умеет ставить сроки.
2.
Junior – 1 год в разработке, уверено владеет основным языком и способен уже самостоятельно решать таски, иногда задавая вопросы старшим коллегам. Учиться оценивать срок, но ошибается на 70%.
3.
Middle – 2-3 года в разработке, спокойно решает 80% задач своего стека, автоматизирует работу, способен залезть на соседнюю поляну (back / front) и сделать там пару тасков, осознано использует паттерны разработки и знает как гуглить. Учиться искусству баланса между "красивым кодом" и "рабочим решением". Может решить задачу практически любой сложности в формате "хуяк-хуяк и в продакшен".
4.
Senior – 3+ года в разработке, спокойно решает Full-stack задачи, заранее думает об архитектуре и стратегии развития проекта, знает когда можно "быстро шоб работало", а когда нужно инвестировать время в проектирование фичи. Способен оценить таску на глаз и попасть с 20% ошибкой. Находит баланс между скоростью и качеством.
Знает как надо делать.
5.
Team Lead – 2-3+ года в разработке, можно прыгнуть из Middle, потому что тут больше ценятся soft-skills, навыки управления людьми, анализа требований к продукту, построение процессов разработки и договоренностей с бизнесом. Умеет оценивать пропускную способность всей команды с учетом не только техническим, но и психологических аспектов. Лидер для которого его команда – это его семья.
6.
Architect – 5+ лет в разработке. Нужен, когда кол-во разрабатываемых связанных сервисов и выделенных команд переваливает за 5-10 штук (и я не про микросервисы), поэтому часто встречается как "архитектор холдинга". Знает все самые тонкие особенности работы всех кусок системы и может ответить на любой вопрос (за скромное жертвоприношение). Занимается инфраструктурой, низкоуровневыми оптимизациями, решает вопросы нагрузки и чаще всего способами хранения и обработки данных. Результат работы – схемы, ответы и решения.
7.
CTO – 5+ лет работы, как и другие "директора" должен отлично разбираться в бизнес аспектах кампании, занимается бюджетированием и квотами на найм, способен предлагать прорывные технологические решения для развития бизнеса, строит бэклог на 3-6 месяцев+. Чаще всего уже кода сам не касается, а работает с Team Lead-ами, Architect и Senior разработчиками
А еще существует множество интересных сторонних веток развития среди которых: Web Animation Developer, Business System Analyst, GameDev, Data Engineer и самое вкусное Product Engineer.
Если вам интересно, чтобы я продолжал раскрывать каждую из этих позиций, рассказывать про особенности работы, плюсы и минусы, спектр задач и критерии успеха, финансовые и рыночные возможности, а также раскрыл приколюхи сторонних веток развития залетайте в комментарии и ставьте 👌секси-эмоджи 🐅
#evolution