Как составить не-трэшовую (зачёркнуто) отличную вакансию программиста

Это тезисный конспект к моему вебинару “Как составить не-трэшовую вакансию программиста“.

Я 20 лет работаю в управлении проектами в IT, ищу людей, пишу вакансии, регулярно вижу чужие вакансии, и мне тоже иногда предлагают работу программистом. Мне кажется, я за эти годы насмотрелся всякого, и у меня довольно часто получается составлять вакансию так, чтобы мне писали “извините, я вам пока не подхожу, но уж больно классно написана вакансия”. Вот я бы хотел, чтобы у вас было так же.

Успех любого проекта в огромной степени зависит от людей, которые его создают. Хорошая команда может вытянуть бедный продукт, а плохая – завалить удачный. Поэтому лично моя миссия, и я надеюсь – ваша тоже, это не просто “подобрать кандидата” любой ценой, а сопоставить конкретнЫХ кандидатОВ и конкретнЫХ работодателЕЙ так, чтобы они максимально совпали по личностным и профессиональным качествам.

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

Но сегодня мы сфокусируемся именно на начальной фазе – на сборе требований с заказчика и на описании роли и задач (в простейшем случае – на тексте вакансии).

Чего не будет в моём рассказе: не будет никаких подлых психологических трюков, каких-то секретиков которые якобы знаю только я, не будет серебряной пули. Будут инсайды и понимание как целенаправленно работать, чтобы достигать цели. Будут советы, что ВЫ должны говорить заказчику (а он должен сделать), чтобы нанимать получалось лучше. Сначала будет общая теория, потом ряд конкретных примеров, потом домашнее задание для тех, кто захочет продолжить со мной общаться.

Если мы говорим о найме программистов – то это не люди-функции. Это не кассиры в Пятёрочке. Они вас выбирают ещё тщательнее, чем вы их

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

Если вы не в Москве – вы конкурируете с Москвой по ценникам. Если вы в Москве – вы конкурируете с небольшими городами за условия проживания и экологию.

Что лежит в основе мотивации программиста?

  • Гормональная подпитка от изучения нового;
  • Желание творчества, желание созидать;
  • Стремление к общественному признанию.

Программистов не мотивируют деньги и ДМС. Если вы сейчас возмутились “очень даже мотивируют”, у меня для вас плохие новости – ваш работодатель просто нанимает людей с низкой самооценкой за небольшие деньги. Зарплата программистов в нормальных конторах сейчас очень близка к среднему и топ-менеджменту.

Программисты логичны. Если вы требуете 5 лет опыта работы с технологией, которая вышла 3 года назад, нормальный человек вас сольёт в спам. Придёт полный дятел. Не ленитесь погуглить ключевые слова и посмотреть даты статей.

Программисты строят в голове системы. Ваша вакансия должна быть системной. У неё должны быть логически увязаны начало и конец, написаны в одном стиле, желательно одним человеком. Иное будет воспринято как мусор.

Технологии в вакансии должны быть логически увязаны между собой. Простое бессистемное перечисление технологий в 99% случаев сливают в спам с комментарием “вот сами теперь с этим зоопарком разбирайтесь”.

Программистам [бывает] интересен продукт и бизнес. Большая часть народу не будет работать с попилом бабла, политическими заказами, микрокредитами и всем таким грязным. В лучшем случае вы получите человека с низкой самооценкой и принципами.

Не пишите слишком подробно про бесплатный кофе и плюшки. Если вы целитесь в миллениалов, они привыкли что это есть везде. Приличный выбор еды в офисе молодой команды удлинняет их рабочий день на час-полтора – просто потому, что им можно попозже ехать домой, где их никто не ждёт и надо готовить пожрать.

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

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

Дайте инфу о принятых в проекте методиках управления. Что у вас там – аджайл, скрам, ватерфол, лин. Иначе это будет воспринято как фигак-фигак и в продакшен.

Что ДЕмотивирует программиста?

  • Изучать чужой код. Если вы нанимаете в легаси-проект – вы должны решить, раскрываете вы это честно или скрываете до последнего. Колебания вам не простят.
  • Решать задачи, не связанные с программированием. Программист это не дизайнер, не верстальщик, не контент-менеджер и в большинстве случаев не сисадмин. Есть специальный термин “фулл-стек”.
  • Бюрократия и неэффективность. Для большинства в 2019-ом году говорить что “мы тут полгода писали ТЗ, а теперь по этому ТЗ надо за полгода запилить проект” – как минимум нелепо, в то время как весь мир уже больше десяти лет работает по гибким методологиям. С другой стороны, есть ребята, которые только и мечтают сидеть и пилить космолёт без малейших перспектив его запуска. Чем точнее вы сфокусируетесь, тем быстрее закроете вакансию.
  • Тупизна и непонимание прописных истин со стороны менеджмента. Не существует гарантий сроков, программирования без багов, достижения финансовых целей без продуктового менеджмента. Это всё ложь и манипуляция.

Как снимать требования с заказчика:

Я не рассматриваю сейчас случаи, когда там уже есть 10 одинаковых кодеров и нужно нанять 11-го такого же. Нет, речь пойдёт о более сложных случаях.

Работодатель будет говорить вам о том, что у него уникальный проект. Кивайте, но не ведитесь на это. Для малолетней аудитории сойдёт, но люди постарше сразу просекут разводилово. Реально сейчас что-то уникальное втихую создать сложно – сработало бы сарафанное радио. Опытные ребята знают, что во всех проектах задачи и (особенно!) проблемы в целом одинаковые. Если вы будете лезть к ним со своим энтузиазмом – получите скуку в ответ.

Берегитесь абстрактных слов Платформа, Соцсеть, Блокчейн, Маркетплейс и прочих хайповых терминов. В большинстве случаев это означает, что заказчик сам толком не знает, как будет зарабатывать его проект. Не сама по себе платформа зарабатывает деньги, а та ценность, которую несёт этот продукт в мир. Если конечно вам нужно любой ценой выполнить заказ, взять бабло и свалить – то пожалуйста…

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

Берегитесь слишком навороченного описания компании и продукта. Большинство сольёт это в спам как буллшит. Должно быть 2-3 предложения — и приглашение посмотреть подробности на специальном лэндинге (кстати, научитесь делать, если не умеете).

Не соглашайтесь требовать у кандидатов сертификатов, если нет публично известного единого центра сертификации. Например, очевидно, что у Битрикса он есть. У какого-нибудь ангуляра скорее нет. Заказчик может этих тонкостей не знать.

Лучше сразу пишите о перспективе выполнения тестового задания.

Простой совет напоследок : гуглите ФИО, ИНН и название компании-заказчика. Возьмите egrul_bot в телеграме. Я однажды нагуглил у одного непогашенную судимость, у другого – финансовые махинации в анамнезе.

Итак, что интересует осознанного программиста, и что надо в идеале снять с заказчика, чтобы написать хорошее объявление?

  • Удалёнка это или нет, и возможно ли договориться. Должно быть понятно сразу. Экономит время и вызывает уважение к вам со стороны кандидата.
  • Какими местами предложение матчится кандидату. Вызывает невероятное уважение, что вы потратили минутку времени и разобрались.
  • Известность. Громкое имя компании. Громкие имена среди публичных сотрудников. Погуглите блог конторы на её сайте или на хабре. Посоветуйте завести, если нет.
  • Что за продукт. Зачем он? Какую проблему решает? Совсем новый или сколько лет существует? Кратко и по делу.
  • Что конкретно придётся делать. Список должен быть логичен.
  • Кто (личность и принципы) будущий руководитель.
  • Какие технологии. Здесь тоже список должен быть логичен. Если заказчику уж очень хочется, заставьте его поделить на основные и второстепенные.
  • Атмосфера в команде: сюда входят методики управления, инструменты, способы общения в коллективе, традиции, культура, дресс-код, в общем всё-всё что будет окружать ежедневно.
  • Условия в офисе: мебель, техника, вентиляция, кондиционирование, еда, бытовая техника. Пишите буквально. Какого размера мониторы. Сколько их на каждом рабочем месте. Вы моментально выделитесь среди конкурентов. (а зачастую заказчик почешет репу и скажет “хм, хм, а я и сам не знаю”… и вы на своей шкуре прочувствуете, в какой трэш вы зовёте кандидата)
  • Транспортная доступность. В век торжества удалёнки все нормальные ребята плевать хотели на офисы. Для молодёжи пишите, как добраться до офиса и есть ли там рядом макдональдс. Для ребят постарше пишите, что там с парковкой.
  • Какие возможности для обучения там есть. И речь не про банальные курсы, тут всё сложнее. Речь здесь о возможности удовлетворения одной из своих базовых потребностей – изучение нового, гормональная подпитка. Простые курсы, семинары по повышению квалификации — этого эффекта не дадут. Это даст только практика, реальные эксперименты и освоение новых инструментов и методик. Из вашего предложения, в идеале, должна быть видна такая возможность.

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

Прибавьте к этому, что программисты любят всё новое. И на практике это будет означать, что на каждую (!) вашу вакансию будут приходить люди, которые ещё сырые для неё. Они ещё не готовы, но им хочется. Они что-то потрогали на предыдущем месте работы, но не смогли полностью освоить (например – нет потребности), и теперь хотят это применить у вас.

Практически никто не будет переходить горизонтально на тот же уровень и задачи, ну кроме разве что случаев когда ему там прилично не доплачивали. Всегда идут на повышение. И заказчики этого не понимают. Будьте к этому готовы и по возможности покажите в вашем предложении, что у вас можно подтянуть конкретные скилы.

И последнее: любой ценой отговаривайте заказчика требовать высшее образование в тексте вакансии.

А теперь переходим к конкретным примерам (сначала так себе примеры):

https://spb.hh.ru/vacancy/29993336?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Мы стараемся использовать все доступные технологии на сегодняшний день. Но обратите внимание, они пишут о руководителе.

https://spb.hh.ru/vacancy/29786797?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Позитивная вторая часть, но почему-то требуется javascript.

https://spb.hh.ru/vacancy/29665752?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Просто уныло.

https://spb.hh.ru/vacancy/29712940?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Зачем здесь Docker???

https://spb.hh.ru/vacancy/30066245?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Латентный рефакторинг, ненормированный рабочий день с 9 утра и возможны переработки.

https://spb.hh.ru/vacancy/29986145?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Современная инновационная компания с окладом 50к. Оборудование и обучение за счёт компании… ну ээээ окей.

https://spb.hh.ru/vacancy/29641618?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Ни слова о проекте.

https://spb.hh.ru/vacancy/30048098?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Может, среди сишников это нормально?

https://spb.hh.ru/vacancy/30049341?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Ни о чём.

https://spb.hh.ru/vacancy/30065112?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
На проекте нужно будет писать новые фичи и поддерживать текущий функционал. Требуются люди работать работу, оплата деньгами.

А теперь хорошие примеры:

https://spb.hh.ru/vacancy/29151917?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Честность и прозрачность в отношениях с руководством.

https://spb.hh.ru/vacancy/29853672?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Не смотря на то, что выглядит как финансовая пирамида, “конечное решение принимает разработчик” и зарплата 180к.

https://spb.hh.ru/vacancy/30073897?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Прописан план собеседования.

https://spb.hh.ru/vacancy/29985800?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Почему к нашей команде хочется присоединиться?

https://spb.hh.ru/vacancy/26412575?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Культура! Мы верим, вот наши принципы, как устроено внутри.

https://spb.hh.ru/vacancy/30063460?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Примеры задач.

https://spb.hh.ru/vacancy/30000123?query=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82
Чтобы работа спорилась, и мы придём в восторг.

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

Я ментор в IT-проектах. Это значит, что если вы - собственник или руководитель, я могу помочь вам взять новую высоту. Навести порядок в процессах, разобраться с мотивацией команды, внедрить инструменты и достичь конкретных целей. Я не учу делать бизнес, а лишь помогаю обойти щедро рассыпанные грабли на вашем пути. Узнать больше.