• последовательны и стабильны;
• берут на себя ответственность.
Любители:
• делают то, что им скажут;
• сфокусированы на том, чтобы сделать свою работу;
• притворяются знающими;
• непредсказуемы и ненадежны;
• избегают ответственности.
Очень легко определить профессионала, но вот вопрос: а как стать таким человеком? Что в тебе и твоей работе выдает в тебе любителя? Как стать профессионалом?
Все начинается с привычек. Создание привычек – это естественный этап становления профессионалом, так как бо́льшая часть нашей повседневной рутины зависит именно от привычек. Мы просыпаемся, идем на работу и выполняем рутинные действия, обычно не задумываясь, что делаем. Если ты хочешь изменить свою жизнь, то тебе нужно начать с изменения своих привычек. Конечно, проще сказать, чем сделать. Очень сложно избавиться от плохих привычек, но и новые сформировать не так просто.
Если ты хочешь стать профессионалом, то тебе следует сформировать привычки профессионала. Однажды мне выпал шанс работать в команде, следовавшей принципам Scrum. Мы должны были проводить ежедневные планерки, где рассказывали о прогрессе работы и о том, что мы планируем делать дальше. И был в нашей команде один разработчик, который всегда записывал то, что он собирается сказать. В отличие от других разработчиков он подготавливал свою речь к каждой планерке. Это привычка профессионала.
Еще одна привычка, по которой можно отличить профессионала от любителя, – это навык тайм-менеджмента. Как ты управляешь своим временем? Ты знаешь, как правильно планировать задачи и время? Можешь ли ты верно оценить время, которое придется потратить на рутинные задачи? Возьми в привычку составлять план на следующий день – так ты сможешь гораздо эффективнее организовывать свое время. Профессионал всегда знает, что он должен сделать за день, а также он понимает, сколько времени займет та или иная задача.
Мы рассмотрели лишь два примера привычек, которые необходимы каждому профессиональному разработчику. Тебе придется самому решить, какие привычки развивать, чтобы задать собственный стандарт профессионализма; однако эти две очень критичны, потому что они устанавливают последовательность, а последовательность делает тебя надежным человеком. Если тебе хочется прочитать на эту тему хорошую книгу, то советую тебе «Силу привычки»[2] Чарльза Дахигга.
Будучи разработчиком ПО, ты столкнешься с трудностями – техническими и этическими. Если ты хочешь стать профессионалом, то тебе нужно научиться принимать правильные решения в обоих случаях. Технические задачи будут более объективными – существуют проверенные способы их решения. Очень легко доказать, что одно решение лучше другого. Но решить этические вопросы намного труднее – здесь не существует единственного верного решения.
Одна из труднейших этических проблем – принятие решений, которые станут правильными для клиента, при этом эти решения будут угрожать собственной стабильности.
Один из моих любимых разработчиков и авторов Боб Мартин написал превосходную статью о том, как сказать «нет» (http://simpleprogrammer. com/ss-no). Боб сравнивает разработчика с врачом. Он рассказывает об абсурдных ситуациях, когда пациент указывает врачу, как поступить лучше. Например, пациент говорит, что у него болит рука, так что ее нужно ампутировать. Конечно же, врач на такие «советы» скажет «нет». Но разработчики, оказавшись в такой ситуации, чаще всего говорят «да» и удаляют участок кода, боясь гнева начальника.
Профессионал должен знать, когда уместно сказать «нет» даже своему работодателю. Как говорит Боб Мартин, каждый профессионал имеет собственные принципы, которые не должны нарушаться ни при каких обстоятельствах. Тебя могут даже уволить, но это та цена, которую ты должен заплатить за звание «профессионала». Конечно, это может быть очень болезненно, но привычка делать то, что кажется тебе правильным, вскоре окупится. К тому же ты сможешь спокойно спать по ночам.
Иногда профессионалам нужно принять действительно трудное решение о приоритетных направлениях их работы. Непрофессиональные разработчики тратят много времени на работу над уже созданными продуктами, так как они не могут решить, над чем работать дальше. Возможно, они просят других людей определить приоритеты за них. Профессионал оценивает работу, которую нужно выполнить, сам определяет приоритеты и берется за дело.
2