Вот и прошла еще одна рабочая неделя. Все эти 5 дней я со своей командой занимался разработкой нового сервиса с нуля. Было очень много дискуссий, обсуждений, черновиков, записей, созвонов и, конечно же, вопросов, которых осталось еще не мало…
Ну и в общем-то я понял, что задачи разработчика глобально можно разделить на 3 типа:
1️⃣Разработка новых решений с нуля (ресерч)
Это то, о чем мечтают многие разработчики и спрашивают на собеседованиях у работодателя. Конечно, в разработке с нуля есть ряд плюсов:
✅не надо разбираться в чужом коде,
✅можешь спроектировать космолет по всем правила и канонам сам
✅и вообще применить все свои наработки, подходы и т. д.
Но также есть и минусы таких задач: очень много вопросов о конечном продукте (чаще всего новые проекты - это какие-то MVP, которые не всегда понятно как будут расширяться потом и куда пойдут).
Можно уйти в долгую полемику выбора архитектуры, проработки API, схемы БД (ведь хочется сразу все сделать универсально и на века!). Также вы можете столкнуться с проблемой, которую никто до вас еще не решал, и это может стать настоящим rocket since (но есть и те, кого это драйвит).
2️⃣Поддержка и развитие существующего проекта, технологии
Вообще таких задач, как правило, больше остальных.
➕Из плюсов: уже есть устоявшаяся архитектура, подходы и технологии. Могут попасться изящные примеры и подходы в коде, на которых можно всегда научиться и поднять свою экспертизу.
🌟Из минусов: как правило, требуется не мало умственных усилий на погружение в проект, уменьшается гибкость разработки новых фич. Иногда приходится ломать голову, как не сломать все и при добавлении новой функциональности (тут требуется скилл ювелирного внедрения).
3️⃣Поддержка легаси
Легаси - это что-то старое, страшное, запутанное, мало освещенное, но худо-бедно работающее решение.
Ночной кошмар для большинства разработчиков: ты пришел в новую IT компанию, чтобы разрабатывать новые крутые проекты, а тебе дают ЭТО... И вот 3 бессонные ночи ты отлаживаешь код, чтобы понять, что тут вообще происходит и что автор кода пытался донести.
Но и в таких задачах можно найти жилу радости и успеха: переписывание легаси! Если сделать его качественно, быстро, да еще если это закроет существующие проблемы... Оооо, вам обеспечено место на доске почета в компании, такое точно запомнят!
Самое смешное, что как только надоедает один тип задач, хочется другой. Но и он тоже надоест, и так по кругу... Одна из причин ухода разработчика в другую команду/компанию, как правило, становится как раз "однообразие задач".
Если всегда давать задачи на ресерч или создание с 0 космолетов, разработчик просто выгорает. Если давать задачи на развитие сервиса - рано или поздно развитие проекта может затормозиться. Такое бывает, когда кардинально новых идей нет и все задачи сводятся к точечному улучшению функционала. Это быстро надоест, так как нет особо развития новых компеценций у разработчика. Ну и легаси: поддержка легаси приемлема, когда это временная мера, пока не появится что-то новое и лучше. Если продолжать трогать и расширять легаси код, то скорее всего к вам в команду потом никто не придет.
📌В общем, совет руководителям: следите за разнообразием задач у разработчиков.
Разработчики - не бойтесь просить у лидов смену характера задач, когда понимаете, что уже начинает надоедать. Уйти всегда можно)
❔А какой тип задач сейчас у вас на данный момент?
Post #24
364
- ❤ 7
- 👌 3
- 🔥 2
- 🆒 1