Разработчик — командный игрок. Поэтому он еще и общается с коллегами, задает вопросы, вместе с ними решает задачи. Правда, про такие навыки не пишут в книгах для новичков. А узнать, чему полезно научиться на практике, лучше как можно раньше.
Мы поговорили с разработчиками из онлайн-университета рентабельных профессий Skypro и узнали, какие навыки развивать, чтобы расти в карьере. Делимся ими в этой статье.
Уточнять задачу, даже если есть техническое задание
Новый продукт разрабатывает целая команда: менеджер, бизнес-аналитик, маркетолог, дизайнер, разработчик. Каждый решает свои задачи: менеджер следит, чтобы работу выполняли в срок. Бизнес-аналитик собирает требования для разработки продукта и ставит ТЗ для разработчика. Маркетолог анализирует целевые рынки и продвигает на них продукт. Дизайнер делает продукт визуально удобным и понятным для пользователя. А разработчик придумывает и реализует для продукта техническое решение: придумывает архитектуру, выбирает библиотеки, которыми будет пользоваться, подбирает протоколы, а затем пишет код.
Читай также: Работа в команде и как ее грамотно организовать
Разработчик может не понять, зачем дизайнер просит подвинуть кнопку. А дизайнер может думать, что написать код — дело одного часа. Поэтому они вместе обсуждают задачу и пытаются понять друг друга — так работа не встает и сроки не сгорают.
Даже если техническое задание прописано подробно, разберитесь, всё ли понятно. Проверьте, получили ли вы ответы на вопросы:
- Какую проблему нужно решить?
- Какой должен быть результат?
- Дали ли все дополнительные материалы для понимания задачи?
- Когда дедлайн?
- К кому можно обратиться с вопросом?
Работать в команде
Сотруднику важно не забывать, что он не один работает над продуктом. Если разработчик не сделает свою часть в срок — коллегам придется задерживаться на работе, забыть про выходные или выделять дополнительный бюджет. Поэтому трудности здорово обсуждать вместе с командой сразу, чтобы вас успели подстраховать. А еще — быть на связи в выделенные часы и предлагать помощь коллегам.
Вникать в смежные сферы
Всё больше в компаниях ценят сотрудников с дополнительными навыками — тех, кто разбирается в других сферах. Их называют T-shaped-специалистами. Такой сотрудник может подхватить задачу коллеги, когда нужна срочная помощь.
Разработчику необязательно разбираться еще и в дизайне. Но если он понимает работу коллеги — то быстрее понимает и задачу. А менеджеру, например, полезно разбираться в программировании: тогда он разговаривает с разработчиком на одном языке.
Особенно эффективно, когда фронтендер понимает бэкендера. Первый разрабатывает визуальную часть сайта — делает то, что видит пользователь. А второй отвечает за то, что внутри. Если разработчики понимают работу друг друга хотя бы на базовом уровне, то им проще договориться и избежать ошибок.
Отстаивать свое мнение
Если разработчик понимает, как решить задачу, он всегда может предложить идеи и отстоять их. Главное — защищать идеи без аргументов «я лучше знаю». Можно провести опрос, измерить эффективность идеи и показать результаты коллегам. Объяснить, чем эта идея поможет продукту.
Высказываться стоит, даже если вы новичок в разработке: свежий взгляд иногда полезнее опыта.
Признавать ошибки
Ошибаются все, главное — сказать об этом вовремя. Тогда команда успеет разобраться в ошибке, исправить ее, сделать выводы — и избежать больших последствий. Компания может потерять деньги или проект, испортить репутацию, кого-то могут уволить.
Например, разработчик делал задачу неделю — не задавал вопросы и говорил менеджеру, что всё в порядке. В итоге менеджер обнаружил, что разработчик толком ничего не сделал: не хватало опыта и вводных. Этого разработчика пришлось отстранить от проекта, срочно найти нового, который исправил ошибки за три дня. Но сроки всего проекта сдвинулись на две недели. А если бы разработчик вовремя сообщил, что не понимает, как выполнять задачу, — компания сэкономила бы ресурсы.
Понимаем, что страшно сообщать о своих ошибках: кажется, что никто не будет разбираться, сразу уволят. Но если не затягивать — всё решаемо.
Брать ответственность
Не стоит ждать, когда проблемы решатся сами или кто-то придет и поможет. Работать в команде — это еще и задавать вопросы и самому определять, где взять работу на себя.
И коллеги, и начальство ценят проактивность. Это значит, что разработчик берет ответственность за свои задачи, добывает нужную информацию, задает вопросы, если что-то не понятно, предлагает идеи. Первое время активничать сложно: неясно, к кому идти и куда можно «совать свой нос». Но со временем станет легче.
Глеб Фокин, разработчик в Skypro:
В Skypro мы называем это «самоходность». Когда человек не ждет, когда кто-то разблокирует его проблему и решит. А когда он напоминает о своих задачах, находит ответы сам, ходит к старшим коллегам и доводит до конца.
Быть в курсе происходящего
В сфере IT всё меняется слишком быстро. В 2008 году операционная система Android только появилась, а сейчас это доминирующая мобильная платформа. Айтишникам пришлось быстро ее осваивать и постоянно следить за обновлениями. И так — с любой технологией: появится в любой момент и станет частью рутины. Поэтому разработчику важно следить за нововведениями.
Для этого можно подписаться на профильные рассылки, каналы в телеграме и подкасты. Вот что советуют разработчики из Skypro.
Глеб Фокин:
Я читаю твиттер интересных мне людей. Нахожу их по стандартному сценарию: послушал доклад с конференции, понравился — подписался на спикера.
Читаю еженедельные имейл-рассылки. Например, javascriptweekly.com — статьи, новости и интересные кейсы по JavaScript.
Или softwareleadweekly.com — про управление командами разработки и внутренние процессы. Полезно и руководителям, и новичкам, чтобы понять, как работают команды.
Сергей Иванов:
Слежу за Ycombinator. Они 15 лет инвестируют в небольшие стартапы.
На специальной странице собирают ссылки на свежие новости и технические материалы других изданий.
Слушаю подкасты на radio-t.com — там про хай-тек, гаджеты, программирование и весь мир IT. Выходит каждую неделю.
Слежу за каналом @addmeto в телеграме. Его ведет Григорий Бакунов — директор по распространению технологий «Яндекса». Он мониторит новости из мира IT и технологий, самое свежее публикует в канал.
Дмитрий Денисов:
Слушаю подкаст «АйТиБорода» — он не про программирование, а скорее про жизнь специалистов в IT.
Читаю издание «Типичный программист» — пишут о разработке и создают базу знаний для айтишников. Все материалы есть на сайте, а следить за новинками удобно в телеграме @tproger_official.