За годы работы наслушался разного про так называемые софт-скиллы и от руководящих людей, и от эйчаров, и от тех, от кого наличия этих самых скиллов (не)должны ожидать. Сам я за это время успел поруководить и как начальник своей студии, и как наёмный тимлид, и как начальник лаборатории.
В общем, вот что я имею сказать о самых важных софт-скиллах, особенно для неопытного, или недавно пришедшего в коллектив, разработчика. Прям настолько важных, что если ты ими овладеешь, будешь на голову выше многих — даже если они кодят лучше. Ну а если ты начинающий тимлид — то это вообще обязаловка.
1. Всегда добавляй ценности
Если тебе дали слово на совещании, если на тебя назначили тикет, если тебя о чем-то в чатике спросили — никогда не оставляй дискуссию в том же виде, что она была до тебя. Всегда добавляй в неё хоть немного ценности. Не нужно играть тикетами в пинг-понг:
— Вот, Петя, посмотри пожалуйста →
— Вася, я ничего не понял, объясни нормально →
— Да чего тут непонятного, прочитай и разберись →
— Распиши по шагам что ты от меня хочешь → …
Если ты с Васей регулярно участвуешь в таких переписках в таск-трекере, это верный знак, что вам обоим давно пора получить по шапке. Вместо того, чтобы продолжать перекидывать мячик, ожидая, что кто-то сделает всё за тебя, попробуй:
— Вот, Петя, посмотри пожалуйста →
— Вася, я прочитал два раза описание и у меня такие вопросы: <список конкретных вопросов>
Да, задача все еще не решена, но у неё появился actionable: Вася должен ответить на конкретные вопросы, которые ты сформулировал — добавил ценности.
Постарайся делать так всегда. Даже когда устал и смотришь мутными глазами то на задачу, то на часы, отмеряющие время, когда пора пойти домой, взять два пива и запустить наконец ту игру, что купил месяц назад. Ничего не понял? Перечитай еще раз. Задай вопрос. Не знаешь какой? Предположи за автора то, что тебе кажется наиболее близким к тексту, и спроси, правильно ли ты понял.
И тогда коллеги будут знать, что если назначить тебе какую-то задачу, она не просто будет назначена. Она сдвинется с места.
А пинг-понг оставь для перерывов и отдыха. И тоже вжарь там ценности как следует, если играешь.
2. Будь конкретен
Избегай общих фраз. Общие фразы — для остальных ребят, которые не хотят в софт-скиллы, энтузиазм, карьеру и прочее. Не надо:
— На это завязано много процессов, скорее всего будут баги.
попробуй лучше:
— Эта функция используется в (отправке уведомлений, расчете триангуляции, обработке видеоряда, общем-то зря) и при внесении изменений нам потребуется протестировать вот эти модули.
Не надо:
— Ну я поотлаживал опять и у меня ошибка.
— Какая ошибка-то?
— Вот, копирую
— [censored], это та же что вчера была, ты делал то что я написал?
— А, да, сейчас попробую…
попробуй лучше:
— Я прочитал что мы вчера обсуждали, попробовал новый способ, старая ошибка ушла, появилась новая вот её текст: … пока не могу понять, с чем она связана, попробовал проверить вот так и эдак.
— Отлично, вижу прогресс, сейчас разберемся.
Если сходу не получается, попробуй такое нехитрое упражнение: посмотри на свой текст и попробуй представить, какой вопрос тебе первым задаст адресат? Если вопрос удалось представить без труда, значит ты без труда сможешь сразу добавить в свой текст и ответ.
3. Читай всё, что тебе передали
Дали тикет? Ознакомься с историей. Да, да, вот с этими четырьмя комментариями под описанием. Ты не представляешь, насколько это бывает приятно, увидеть человека, который взял и прочитал обсуждение, вместо того чтобы задавать заново вопросы, которые только что обсудили.
Ознакомься, прочитай, и переходи к пункту 1.
4. Будь профессионален
и относись ко всему спокойно. Например, если до тебя сквозь щиты проджекта, рилейшна и тимлида долетело недовольство заказчика в грубой форме, то
— не парься обижайся. Клиент отдает деньги, кровные бабосики свои, денежки, бабулечки. Каждая копейка должна быть строго в цель! И если что-то не так, вполне может огорчиться и немного выплеснуть огорчение, возможно даже не очень умело. Это не значит, что он имел в виду лично тебя, и не значит, что он [censored]. А даже если и значит, что с того? Совершенных людей найти сложно, среди разработчиков, кстати, тоже.
— А вот париться можно. Кто-то, может не ты, а может даже и ты допустил какую-то ошибку, или что-то не успел. И это огорчило заказчика. Успокаивать его — не твоя работа, но почему бы не порефлексировать о том, что мы возможно что-то делаем не так.
5. Соблюдай нормы общения
Отнесись серьезно ко всем этим чатикам, дейликам, совещаниям. Не пиши привет и потом отдельно чего хотел, не пиши 20 необдуманных сообщений вместо одного сформулированного. Просто попробуй сначала подумать, а потом сделать — сразу станет лучше. Вот тут можешь почитать заметку о поведении в чатиках и на совещаниях.
6. Сроки могут быть командными
Помни об этом. Если на вашу команду дали задачу с крайним сроком в пятницу, то это не значит, что всё это время дали лично тебе. Это не значит, что ты должен отправить задачу коллегам на QA в пятницу в 17:50, после чего с криком «Ахаха! 1:0, лошары!» выбежать в ночь до понедельника.
У QA свои сроки есть, так что отправляй не позже 17:30!!!11
7. Будь проактивен
Если что-то не заметили, прошляпили, забыли и не сделали, если в коде ошибка, а архитектура не идеальна — возьми и скажи своему тимлиду. Скорее всего, ты будешь один такой молодец. И не бойся — худшее, что может случиться — тимлид проигнорит и ничего не сделает. Все остальные варианты — лучше.
Как ты можешь заметить, ничего сверхъестественного в этих пунктах нет. Более того, они очевидные, эти пункты. Однако попробуй им строго следовать — и будь уверен, твои старания вскоре заметят.