Главная

Почему лучшие разработчики чаще говорят “Нет”.

И почему вам стоит поступать так же.

Поделиться:
 

11+

На написание статьи меня вдохновила книга “The Clean Coder” — кодекс профессионального разработчика программного обеспечения.

Вступление

Будучи относительно “зеленым” разработчиком (3 года опыта работы), я частенько сталкиваюсь с новыми аспектами в отношениях с коллегами. Это особенно проявляется, когда надо обсудить со старшими программистами разработку какого-то функционала. И вы, наверное, знаете это чувство “новичка” в офисе — вы хотите вести себя как парень, который не доставляет лишних хлопот senior-девелоперам. Вы хотите быть тем, кто всегда выполняет работу вовремя и не доставляет лишних хлопот.

Поэтому иногда вы приукрашиваете и ведете себя так, будто все, над чем вы работаете, находится под вашим пристальным контролем, будто вы не знаете, что в этом функционале есть баги, будто вы успеете все сделать к дедлайну. Что-ж… Из личного опыта могу сказать, что если вы верите, что такое поведение “заставит вас сиять” или просто “сохранит ваше лицо” перед коллегами, то вы ошибаетесь.

Проблема профессионала

Видите ли, профессионал — это человек, у которого не только много опыта. Характерной чертой профессионала является честность. Определение слова “профессионал” довольно широкое и расплывчатое, и поэтому ответить на вопрос “Кто такой профессионал?” достаточно трудно. Вот моё определение этому слову:

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

Профессионал не будет лгать по поводу дедлайнов, он не будет обвинять кого-то другого, если код, который он написал, не работает. Каждое его обещание имеет смысл и обязательство. Профессионал не пытается казаться лучше, чем он есть на самом деле. Насчет попыток, есть хорошая цитата Роберта С. Мартина в книге «The Clean Coder»:

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

Качества профессионала

Конечно, приведенное выше определение профессионала довольно личное и ограниченное. Есть и другие важные характеристики, которые мы также можем рассмотреть:
Готовность помогать другим: согласитесь, приятно иметь под рукой senior-разработчика, который без лишнего шума, без унижений и ворчания, помогает младшим по должности.

Непрерывное обучение: наймете ли вы адвоката, который не знаком с последними законами или правилами? Или механика, который не знает, как установить новые запчасти для вашего автомобиля. Наверное, нет. Так же дела обстоят и с разработкой ПО. Настоящий профессионал всегда на волне последних событий. Он всегда стремиться изучать что-то новое, чтобы сохранить свою конкурентоспособность да и просто из любознательности и природного интереса.

Есть одна черта профессионала, которую стоит упомянуть. Она является основополагающей для этой статьи: способность говорить «нет». Когда я говорю об этом, я не имею в виду какие-то манипулятивные навыки, которые помогут вам избежать работы. Я говорю об умении говорить правду. Я говорю о способности сказать «нет» ситуации, которая нанесет явный ущерб проекту и компании.

Непрофессионализм

Позвольте мне привести несколько примеров, когда неспособность сказать «нет» может нанести ущерб:
Ваш босс спрашивает вас: “будет ли эта функция готова к концу недели?”. Вы отвечаете, что будет, даже если вы знаете, что точно не можете завершить ее к этому дню.
Обман не поправит ситуацию.

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

А еще возможно, что босс уже договорился о чем-то с клиентами, и теперь вам придется работать по 16 часов в день и не спать по ночам, дабы босс оправдал ожидания клиентов. Почему бы сразу не говорить правду?

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

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

Умение говорить “да”

Означает ли все, что я упомянул выше, что вы должны просто сказать «нет» всему, что кажется недостижимым, сложными или неподъемным? Конечно нет! Вы всегда должны стремиться найти способы и возможности сказать «да». Однако помните, ваши коллеги и ваш начальник рассчитывают на вас и вашу способность сказать «нет», чтобы понять, куда двигаться и как решить проблему наилучшим образом! Это то, что называется “командная игра”.

Заключение

Быть профессионалом в сфере разработки программного обеспечения трудно не только из-за сложности технологий, которые необходимо знать, но и потому, что существует множество моделей поведения, практических навыков и умений, которые являются обязательным инструментарием. Помните о важности «нет», но также не забывайте о важности “да”. Спасибо!

Онлайн-курс “Python-разработчик” от Skillbox

11+