Разработчица Кейрстен Фэй в своем блоге на Medium поделилась, как строилась ее карьера в сфере программного обеспечения в 2022 году. Передаем ей слово.
Представьте себе: молодая девушка только что получила работу в сфере разработки и начинает свой путь как джуниор:
Хотя она все еще любит кодить, она все меньше работает с VSCode, и все больше — с Google-документами. Такой путь проходят многие айтишники, и я — не исключение.
Чем опытнее я становлюсь, тем больше меняются мои задачи: производительность измеряется уже не тем, столько строк кода я написала, а тем, как я могу управлять проектами и быть ментором для других.
Даже если я буду избегать менеджмента изо всех сил, я вряд ли когда-нибудь снова буду кодить 90% своего времени. Чем выше ответственность, тем больше времени уходит на сотрудничество и взаимопонимание между товарищами по команде, стейкхолдерами и другими участниками процесса. На определенном уровне просто невозможно работать самостоятельно.
Когда на работе предлагают больше ответственности, есть два варианта: попробовать что-то новое или остаться работать на своем уютном рабочем месте с VSCode. И любой выбор может быть правильным. В прошлом году я попробовала оба варианта.
В первый рабочий день 2022 года я присоединилась к новой команде Meta. Я озвучила менеджеру свою цель — развивать навыки за пределами моей сферы знаний (UX). Я хотела глубже погрузиться в бэкенд, чтобы развить свои Т-образные навыки. Признаюсь, я также хотела обуздать синдром самозванца, развившийся во время работы на столь высокой должности в технологической сфере.
Через шесть месяцев работы в этой новой команде менеджер привлек меня к очень важному бэкенд-проекту по защите конфиденциальности, который мы должны закончить в том же году. Когда одна из наших ключевых симуляций сломалась, сразу же начался хаос, и моя команда потратила следующие два месяца на налаживание сквозных зависимостей.
Затем, во время отладки этого проекта по конфиденциальности, у команды партнеров появились вопросы к нашему UI. Функция, которую я поддерживала, выходила из строя, показывая ошибку 500 OOM. Поскольку оба проекта приостановились, моя зона комфорта осталась далеко позади.
После решения этой проблемы я объяснила своему техлиду и менеджеру, что за последние несколько недель я медленно оптимизировала запросы относительно UI. Я понимала, что нужно сделать, но не могла найти время для этого.
Мой менеджер предлагал мне возглавить исправление проблемы с производительностью UI. Но я была не в восторге.
Я старалась сосредоточиться на доверенном мне бэкенд-проекте. Несмотря на то, что там у нас еще было достаточно времени до дедалайна, я опасалась, что завалю обе задачи, если возьму на себя еще и это. И тогда меня будут воспринимать не как мультифункционального специалиста, а просто как человека, работающего с UX.
Когда менеджер попросил меня еще раз поразмыслить над этим, я снова отказалась. Я хотела развиваться технически. Это означало не работать самостоятельно над проблемами UI, а позволить кому-то взять этот довольно легкий проект.
В тот день я решила отказаться от повышенной ответственности. Отчасти это было из-за страха, но отчасти из-за непонимания, о чем именно просил мой менеджер.
Другими словами, я могла бы простым английским описать проблему, первопричину и решение большинства проблем производительности UI. Там была закономерность, о которой я уже говорила. Так что я подумала, что если позволить кому-то из команды заняться этим проектом, это будет полезно для его карьеры. Как говорится, «научи человека ловить рыбу».
Через несколько месяцев я поняла, что мой менеджер хотел, чтобы я продемонстрировала, что я разбираюсь в своей сфере, а не самостоятельно внедряла улучшение. Я могла бы написать несколько задач и публиковать внутренние сообщения о прогрессе работы.
Руководитель знал о моих карьерных целях, кроме улучшения моего технического уровня. Здесь он хотел получить подробную письменную коммуникацию о проблеме.
Управление работой по UI требовало моего времени, которого и так не хватало. Но это также могло оказать мне необходимое влияние на проект в то время, когда возникли проблемы с моим проектом по защите конфиденциальности.
Все становится понятнее в ретроспективе. Если бы я могла вернуться назад, я бы приняла его предложение и получила бы улучшенный promotion packet
Но все же, признаем, что умение вовремя сказать «нет» — это важный навык, нуждающийся в практике, и что никто не должен сожалеть о том, что встал на защиту собственного психического здоровья.
Через несколько месяцев после моего решения к моей команде присоединилась новая выпускница колледжа. Мой менеджер попросил меня поручать ей работу, чтобы освободить больше моего времени. Я чувствовала себя гораздо увереннее относительно статуса своего бэкенд-проекта. Благодаря определенной саморефлексии, я приняла этот вызов и начала поручать новой коллеге некоторые из своих задач по проекту конфиденциальности.
Теперь, когда проект по конфиденциальности завершается вовремя, я с нетерпением жду нового, еще большего бэкенд-проекта. В нем под моим руководством будут работать два человека. И снова моя зона комфорта будет оставаться далеко позади. Но я признаю, что научиться жить с дискомфортом — это необходимая часть жизни.
Кодинг никогда не займет 100% вашего времени. Даже джуниоры должны посещать митинги и выполнять задачи, не связанные с кодингом. И в процессе вашего профессионального развития будет все больше работы, не связанной с кодингом. Кроме посещения митингов, я выделила еще несколько важных обязанностей.
Начните делать это в любое время и никогда не останавливайтесь. Не бывает «недостаточного опыта» — даже новые сотрудники могут начать с восполнения каких-либо концептуальных пробелов или «неполадок», с которыми они столкнулись.
Когда проблемы, которые вы решаете, становятся более масштабными и сложными, нужно будет начинать писать предложения по дизайну. В них вы собираете требования, проводите определенный анализ или исследование и делитесь своими выводами со стейкхолдерами и коллегами.
Джуниоры! Не избегайте этого. Хотя у вас будет соблазн сразу погрузиться в код, иногда нам нужно замедлиться, чтобы двигаться быстрее. Или, другими словами, «два часа планирования могут сэкономить вам две недели кодинга».
Команды разработчиков программного обеспечения всегда сталкиваются с пробелами в навыках. Вам не хватит определенной межфункциональной поддержки, например менеджера проекта или программы, дизайнера продукта и т.д. Поэтому, возможно, вам нужно будет самому выполнять эти смежные роли, например, управлять проектом, определять дедлайны и т.д.
К примеру, инженерная культура Meta — «снизу вверх», то есть решение о том, какая работа выполняется, принимают инженеры. Обычно мы сами выступаем в качестве менеджеров проектов.
Я, например, провела прошлую неделю, изучая свои заметки с исследовательской работой и целями, интегрируя их в новый инженерный план моего будущего проекта в 2023 году.
Когда у вас появится достаточно опыта, вас будут просить помогать с онбордингом новичков-разработчиков. И это улучшит не только ваши коммуникативные навыки, но и promotion packet.
Поделюсь несколькими советами, как стать внимательным наставником:
Дайте новичкам внести свой вклад в общее дело (под вашим руководством). Сначала давайте четкие и понятные задачи с минимальным уровнем неоднозначности. Со временем повышайте сложность.
Ободряйте: новичок не сможет написать код так же, как бы это делали вы. Дайте ему возможность работать по-своему, но придерживаясь командного стиля и других стандартов. Сочетайте позитив и негатив, оценивая его результат.
Встречайтесь регулярно 1:1 — это может быть 15-30-минут еженедельно или раз в две недели в течение первых нескольких месяцев. Обратите внимание на проблемы, возникающие у новичка, и ознакомьте с ними менеджера или техлида.
Недавний успех ChatGPT заставляет программистов снова задуматься, насколько легко их можно заменить ИИ. Но мы, разработчики, уже делаем это самостоятельно, потому что так требует цикл развития нашей карьеры. С каждым новым достижением разработчик удаляется от роли редактора кода и больше времени проводит на митингах.
И если вы сегодня делаете карьеру как разработчик ПО, то вам осталось всего несколько лет до того, как вы перестанете кодить.
Кто-то может сетовать, что раньше было проще, но это реалии нашего времени. Когда вы переходите на следующую ступень карьеры, вы освобождаете свое место младшему поколению разработчиков.
Авторка: Кейрстен Фей
Текст адаптировала Евгения Козловская
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…