Мой неканоничный метод

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

Я уже хотел было бросить ссылку на какую-нибудь правильную статью, но обнаружил, что 100% выдачи гугла — статьи с сайтой каких-то «образовательных курсов», где копирайтеры несут что-то несвязное про важность «коммуникабельности», «креативности» и «эмоционального интеллекта» в будущей работе.

Жесть. Теперь понятно, откуда у новичков в голове такая каша. Лавандовые коучи и учившиеся по книжкам менеджеры засрали понятие «софт скиллов» так, что его не понимает вообще никто.

Хочу объяснить всё так, как это делаю я. И да, мне насрать насколько это «неканонично» и «не по книжкам». Зато так, …, работает.

От авторов сайта: в статье присутствует нецензурная лексика. Сначала мы хотели ее удалить/заменить, но потом решили оставить. Авторский стиль в чистом виде. При ее замене иногда теряется смысл. Источник


Самое главное определение, которое надо прочитать пять раз и запомнить:

Софт скиллы — это всё, что не хард скиллы, но всё еще нужно на работе, чтобы дерьмо вокруг двигалось вперёд.

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

Сам термин «софт скиллы» придумали не мамкины скрам-мастера, а суровые ребята из Армии США в 60-х годах.

Прямо тогда, в середине холодной войны, когда главными проблемами человечества были не «ой как бы мне написать твит, чтобы никого не оскорбить», а скорее «так, ёбана, нам надо усадить тех ребят в огромную ракету и хуйнуть её прямо в Луну, чтобы к обеду были там».

В те бородатые годы суровые армейские офицеры читали всякие отчёты и задумались:

Окей, мы научили наших бравых юнцов попадать голубю в глаз из винтовки М16 со 100 метров и гонять по пустыне на Хаммере. Но когда первая группа бежала сломя голову ака Рэмбо, их быстро положили, а вторая группа, которая между собой как-то координировалась, достигала цели и выживала.

Даже суровые лидеры и секретные тактики не помогали — были какие-то непонятные отличия даже в одинаково хорошо обученных командах.

А так как американские вояки народ довольно прямолинейный, была поставлена задача данный феномен исследовать и классифицировать, дабы выпустить новую методичку.

Те самые военные методички и дали самое первое расплывчатое определение софт скиллам: это были скиллы, которые не относились к мастерству управления техникой или оружием, но при этом всё равно были необходимы на поле боя для успеха операции.

Никакого «эмоционального интеллекта» или «умения шутить шутки на zoom-созвонах» в этом списке, как видите, нет.

Вообще большинство практик лидерства и менеджмента проектов, даже в айти, сейчас исходит от методичек Армии США. Один только ADP 6-22 (да, это реальное название) стоит десяти «бестселлеров нью йорк таймс» по управлению командами. Но так как читать их и правда физически тяжело и доступно только 0.001% населения планеты, «бестселлеры» всё еще в безопасности :)

С хард скиллами всё просто: если этому учат в универах (или на курсах) по вашей специальности и проверяют на экзаменах (или интервью) — это хард скилл.

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

Для любой профессии вы можете составить такой список «базовых навыков юнита», без которых никуда.

Как же отличить же настоящий софт скилл от «какой-то хуйни, которая никому не нужна»?

Надо спросить себя три вопроса:

  1. Я занимаюсь этим в рабочее время?
  2. Это не относится к моим хард скиллам?
  3. Если я перестану этим заниматься — моя команда (или проект) серьезно замедлится, провалится или заблудится?

Если вы ответили «ДА» на все три вопроса — поздравляю, вы нашли софт скилл.

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

Разберём конкретный пример. Олег — типичный миддл программист в продуктовой компании.

типичный миддл программист

Список упрощенный, даже у обычного программиста там будет больше десятка пунктов, но на нём можно протестировать наши три вопроса для определения типа «скилла».

  • «Писать код», «тестировать» и «ревьюить код» — это точно хард скиллы. Этому учат в универе или на курсах, без этого не возьмут программистом (в идеале, конечно, кого-то может и берут ).
  • «Делать кофе» и «подтянуться 10 раз» — уж точно не относится к хард скиллам для программиста. Но если Олег перестанет делать кофе или подтягиваться — замедлит ли это его команду? Самого Олега, конечно, замедлит, ведь он любит всё это дело, но команде скорее всего будет посрать.

Так что это не софт скиллы, а обычные вне-рабочие навыки или хобби.

  • «Ходить на синки» и «обсуждать фичи с лидом» — уже интереснее. Они «да» по всем трём вопросам, а значит проходят наш тест на софт скиллы.

Если в команде Олега приняты утренние синки и он перестанет на них ходить — команда потеряет часть информации и, очевидно, замедлится. Люди начнут переделывать одно и то же по несколько раз и ссориться — я много раз такое видел. Такого Олега скорее всего придётся увольнять ради выживания команды, ну и, как видите, совсем не за хард скиллы.

На следующем месте работы он может оказаться гениальным и незаменимым программистом.

  • «Обсуждение фич с тимлидом» также намекает, что Олег хорош в планировании, даже если он пока сам об этом не догадывается. Тимлид молодец, смекнул, что с Олегом можно быстренько погрумить следующий спринт и тут кандидат в сеньоры подрастает, потому стал его частенько звать «пообщаться в курилке».

Когда Олег догадается, что это (и еще парочка навыков) не «пустая потеря времени», а самый настоящий скилл, хоть и софт — он в душе дорастёт до сеньора. Может потом даже книжки почитает, прокачается, станет настоящим.

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

Так вы узнаете конкретный их список и вряд ли там будет булщит типа «коммуникабельности» и «эмоционального интеллекта», да?

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

Хард и софт скиллы всегда относительны роли.

Именно поэтому, когда молодые айтишники истерят в комментариях «да дайте уже мне официальный список всех ваших софт скиллов, я их все выучу …, а если вы и сами не можете, значит вы всё врети» — это вызывает умиление.

У тебя всё еще впереди, друг! Так глаза горят!

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

Мы даже можем теперь попытаться представить себе человека, для которого «готовить кофе» — это софт скилл.

Например, вы американский сейлз. Вы известны по всему миру лучшим кофе из своей домашней обжарки, после которого у вас получается заключать на 20% больше сделок с клиентами. Теперь кофе — это ваш софт скилл. Даже если вы этого не планировали.

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

Шок.

Как пример, могу привести две реальные команды, в которых лично работал.

  • Первая — классическая, синхронная, работает по скраму в красивом офисе на 48 этаже мега-корпорации. В такой команде важными софт скиллами будет «эффективно выдавать и получать информацию на утренних стендапах» или «не психонуть, когда тебе задают один и тот же тупой вопрос уже в сотый раз, а тебя достало уже объяснять такую банальность всем этим говноедам».
  • Вторая команда распределена по всему миру, общается исключительно асинхронно. Нет ежедневных синков, нет сторипоинтов у каждой задачи, потому что всё это просто невозможно — когда разрабы из США просыпаются, поцаны из Австралии уже ложатся спать.

В такой команде на первое место выходят другие софт скиллы — «уметь планировать личный список задач на день чтобы не ебланить в ожидании» и «эффективно решать вопросики в режиме асинхронного чата».

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

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

А на тактически написанные мной заранее в чат пять пронумерованных вопросов, утром я получал «о, хэй, у тебя уже поздно, давай завтра на стендапе обсудим». Сук)0))

Это — отличный пример, когда у человека пятёрка с плюсом по «эмоциональному интеллекту», но абсолютно отсутствует софт скилл асинхронной работы.

В итоге того менеджера, кстати, уволили. Но я ушел раньше.

Так что когда я говорю про «софт скиллы» я имею в виду конкретные навыки, без которых в конкретной команде вам будет жопа. А не какие-то там абстрактные «стрессоустойчивости» и «коммуникабельности».

В качестве домашнего задания под звездочкой даю на подумать: а может ли написание кода быть софт-скиллом в такой парадигме?

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

Но иногда на собеседованиях почему-то прям отдельно хотят «проверить софт скиллы». Чаще всего это значит одно из двух:

  • Перед вами рекрутер или просто неопытный инженер, которого заставили и дали методичку. Он ничего не понимает и ему лишь важно поставить галочки в нужных пунктах, которые вы (пока) не знаете
  • Это тимлид или фаундер, которому реально важно убедиться насколько вы вписываетесь в «вайб» команды, который он прекрасно чувствует, а вы (пока) нет

Как видите, в обоих случаях присутствует лотерея.

Определить кто сейчас перед вами и ответить соответствующе — это навык, который приходит с опытом. Собеседования — это игра. Играть в неё — это тоже софт скилл :)

Здесь снова всё зависит от ваших целей.

В желанных FAANG’ах вы скорее всего встретите первый вариант, так что готовьтесь танцевать пьесу «посмотрите какой я дружный и коммуникабельный» прямо перед скучающим на той стороне индусом. Ну они потому и платят $300кк/сек. Хотите денежек — готовьтесь танцевать.

В стартапах будет наоборот — за все эти неуверенные ответы «ну it depends» вам точно перезвонят, а за «да это какая-то ху…, ну её на…» — вышлют оффер.

Я, как тимлид, который собеседует под 50 человек в год, лично нанимал как тех, так и других. Всё всегда зависело от команды. Для меня здесь нет черного или белого. Есть разные проекты и люди, которые либо работают вместе, либо нет.

Так что прекратите расстраиваться, если вас не взяли.

Могу гарантировать — если бы вас взяли, скорее всего спустя несколько месяцев вы бы сгорели дотла, не вписавшись в проект, и стали недовольным айтишником-тысячником из твиттера.

Так что всё к лучшему!