Хороший разработчик и как им стать

Кажется, чтобы быть хорошим разработчиком, нужно знать языки программирования и уметь технически решать поставленную задачу. Но всё не так просто.1 мин.


Хороший разработчик

Разработчик — командный игрок. Поэтому он еще и общается с коллегами, задает вопросы, вместе с ними решает задачи. Правда, про такие навыки не пишут в книгах для новичков. А узнать, чему полезно научиться на практике, лучше как можно раньше.

Мы поговорили с разработчиками из онлайн-университета рентабельных профессий Skypro и узнали, какие навыки развивать, чтобы расти в карьере. Делимся ими в этой статье.

Уточнять задачу, даже если есть техническое задание

Новый продукт разрабатывает целая команда: менеджер, бизнес-аналитик, маркетолог, дизайнер, разработчик. Каждый решает свои задачи: менеджер следит, чтобы работу выполняли в срок. Бизнес-аналитик собирает требования для разработки продукта и ставит ТЗ для разработчика. Маркетолог анализирует целевые рынки и продвигает на них продукт. Дизайнер делает продукт визуально удобным и понятным для пользователя. А разработчик придумывает и реализует для продукта техническое решение: придумывает архитектуру, выбирает библиотеки, которыми будет пользоваться, подбирает протоколы, а затем пишет код.

Читай также: Работа в команде и как ее грамотно организовать

Разработчик может не понять, зачем дизайнер просит подвинуть кнопку. А дизайнер может думать, что написать код — дело одного часа. Поэтому они вместе обсуждают задачу и пытаются понять друг друга — так работа не встает и сроки не сгорают.

Даже если техническое задание прописано подробно, разберитесь, всё ли понятно. Проверьте, получили ли вы ответы на вопросы: 

  1. Какую проблему нужно решить?
  2. Какой должен быть результат?
  3. Дали ли все дополнительные материалы для понимания задачи?
  4. Когда дедлайн?
  5. К кому можно обратиться с вопросом?

Работать в команде

Сотруднику важно не забывать, что он не один работает над продуктом. Если разработчик не сделает свою часть в срок — коллегам придется задерживаться на работе, забыть про выходные или выделять дополнительный бюджет. Поэтому трудности здорово обсуждать вместе с командой сразу, чтобы вас успели подстраховать. А еще — быть на связи в выделенные часы и предлагать помощь коллегам.

Вникать в смежные сферы

Всё больше в компаниях ценят сотрудников с дополнительными навыками — тех, кто разбирается в других сферах. Их называют T-shaped-специалистами. Такой сотрудник может подхватить задачу коллеги, когда нужна срочная помощь.

хороший разработчик

Разработчику необязательно разбираться еще и в дизайне. Но если он понимает работу коллеги — то быстрее понимает и задачу. А менеджеру, например, полезно разбираться в программировании: тогда он разговаривает с разработчиком на одном языке.

Особенно эффективно, когда фронтендер понимает бэкендера. Первый разрабатывает визуальную часть сайта — делает то, что видит пользователь. А второй отвечает за то, что внутри. Если разработчики понимают работу друг друга хотя бы на базовом уровне, то им проще договориться и избежать ошибок. 

Отстаивать свое мнение

Если разработчик понимает, как решить задачу, он всегда может предложить идеи и отстоять их. Главное — защищать идеи без аргументов «я лучше знаю». Можно провести опрос, измерить эффективность идеи и показать результаты коллегам. Объяснить, чем эта идея поможет продукту. 

Высказываться стоит, даже если вы новичок в разработке: свежий взгляд иногда полезнее опыта. 

Признавать ошибки 

Ошибаются все, главное — сказать об этом вовремя. Тогда команда успеет разобраться в ошибке, исправить ее, сделать выводы — и избежать больших последствий. Компания может потерять деньги или проект, испортить репутацию, кого-то могут уволить. 

хороший разработчик

Например, разработчик делал задачу неделю — не задавал вопросы и говорил менеджеру, что всё в порядке. В итоге менеджер обнаружил, что разработчик толком ничего не сделал: не хватало опыта и вводных. Этого разработчика пришлось отстранить от проекта, срочно найти нового, который исправил ошибки за три дня. Но сроки всего проекта сдвинулись на две недели. А если бы разработчик вовремя сообщил, что не понимает, как выполнять задачу, — компания сэкономила бы ресурсы.

Понимаем, что страшно сообщать о своих ошибках: кажется, что никто не будет разбираться, сразу уволят. Но если не затягивать — всё решаемо.

Брать ответственность

Не стоит ждать, когда проблемы решатся сами или кто-то придет и поможет. Работать в команде — это еще и задавать вопросы и самому определять, где взять работу на себя. 

И коллеги, и начальство ценят проактивность. Это значит, что разработчик берет ответственность за свои задачи, добывает нужную информацию, задает вопросы, если что-то не понятно, предлагает идеи. Первое время активничать сложно: неясно, к кому идти и куда можно «совать свой нос». Но со временем станет легче.

Глеб Фокин, разработчик в Skypro:

В Skypro мы называем это «самоходность». Когда человек не ждет, когда кто-то разблокирует его проблему и решит. А когда он напоминает о своих задачах, находит ответы сам, ходит к старшим коллегам и доводит до конца.

Быть в курсе происходящего

В сфере IT всё меняется слишком быстро. В 2008 году операционная система Android только появилась, а сейчас это доминирующая мобильная платформа. Айтишникам пришлось быстро ее осваивать и постоянно следить за обновлениями. И так — с любой технологией: появится в любой момент и станет частью рутины. Поэтому разработчику важно следить за нововведениями.

Для этого можно подписаться на профильные рассылки, каналы в телеграме и подкасты. Вот что советуют разработчики из Skypro.

Глеб Фокин:

Я читаю твиттер интересных мне людей. Нахожу их по стандартному сценарию: послушал доклад с конференции, понравился — подписался на спикера.

Читаю еженедельные имейл-рассылки. Например, javascriptweekly.com — статьи, новости и интересные кейсы по JavaScript.

Или softwareleadweekly.com — про управление командами разработки и внутренние процессы. Полезно и руководителям, и новичкам, чтобы понять, как работают команды.

Сергей Иванов:

Слежу за Ycombinator. Они 15 лет инвестируют в небольшие стартапы.

На специальной странице собирают ссылки на свежие новости и технические материалы других изданий. 

Слушаю подкасты на radio-t.com — там про хай-тек, гаджеты, программирование и весь мир IT. Выходит каждую неделю.

Слежу за каналом @addmeto в телеграме. Его ведет Григорий Бакунов — директор по распространению технологий «Яндекса». Он мониторит новости из мира IT и технологий, самое свежее публикует в канал.

Дмитрий Денисов:

Слушаю подкаст «АйТиБорода» — он не про программирование, а скорее про жизнь специалистов в IT. 

Читаю издание «Типичный программист» — пишут о разработке и создают базу знаний для айтишников. Все материалы есть на сайте, а следить за новинками удобно в телеграме @tproger_official.



Зацепила тема? Помоги разобраться тем, кому это тоже интересно.