
Полная версия:
Это всё, программисты?
Экспромт
Началось всё давно, когда начальник работал на заводе ИТ-директором, и очень хотел нанять пару хороших программистов. В деревне это сделать не очень просто – и дефицит постоянный, и, самое главное, хорошие опытные программисты не любят срываться с насиженных мест.
Стандартный поиск кандидатов результата не приносил – текст вакансии привлекал только студентов. Хантинг через сарафанную соц. сеть HR заканчивался «ладно, буду иметь в виду». И тогда начальнику впервые пришла в голову странная идея – самому пойти на собес.
Договорился с директором, чтобы не ругали, и выложил своё резюме. Написал как есть – ИТ-директор, могу быть хоть начальником, хоть программистом, рассмотрю все варианты. Сразу получил несколько приглашений, попёрся. В каждом месте быстро проскочил первичный собес с HR, и добрался, наконец, до своей цели – начальника ИТ-отдела или ведущего программиста. Как вы поняли – ровно до того человека, которого хотел нанять себе.
Дальше просто. Что бы ни сказал ведущий программист о своей компании, наш начальник аргументированно отвечал «а у нас лучше, вот послушай…». Задачи, проекты, отношение, зарплата, рабочее место, парковка, ДМС, контакт с начальством и т.д. Разговор быстро начинал походить на фарс.
Заканчивался разговор одинаково: начальник устало вздыхал и говорил, что ему надо подумать – не поторопился ли он сменить место работы. Вон оно же как здорово-то всё у нас, оказывается! Жалко только, программиста никак не получается найти. А условия просто шикарные, вот послушай…
Пройдя несколько собеседований в течение месяца, он получил сразу двух кандидатов и, соответственно, возможность выбора.
Масштаб
Сначала тупо масштабировал схему, чтобы получить приток кадров. Искал именно заводских программистов, опытных, но не очень уверенных в себе – такие обычно опасаются идти работать в ИТ-компанию. По-человечески, конечно, надо было как все – опубликовать вакансию, подождать, пиар какой-нибудь устроить. Но наш герой плотно увлёкся своим реверс-хантингом.
Научил своих программистов ходить на собесы и хантить тех, кто собирался хантить их. Везло далеко не всегда – зачастую до цели, т.е. ведущего спеца, цепочка не доходила. Иногда его там вообще не было – HR и сразу директор. В таких случаях парни обещали подумать и не перезванивали.
Но если добирались, то во всей красе расписывали, как сами свалили с завода и теперь у них всё распрекрасно. Бояться, мол, нечего – платят больше, задачи проще, а навыки работы внутри клиента – практически бесценны. Старались ходоки не бесплатно – за успешную ходку получали разовую выплату в размере месячной зарплаты.
Инфоповод
Дальше – больше. Начальник узрел проблему в продажах – и менеджеры тупые, и до ЛПР не всегда добираются, и ни «бэ» ни «мэ». Реально успешными были только продажи, в которых участвовал эксперт, но у менеджеров были большие трудности с организацией таких встреч – разве что клиент сам обратится.
Ну наш герой и пошёл устраивать реверс, только уже ЛПР – директорам и собственникам. Искал вакансии, узнавал о компании – выбирал те, где нет своих ИТ-шников, достаточно высокий оборот и нет грустной истории работы с подрядчиком. Представлялся кандидатом, быстро доходил до директора или, в идеале – до кросса со всеми топами сразу.
Включал харизму и экспертность, и почти по каждой озвученной проблеме предлагал решения. Вообще, на обычных продажах он поступал так же, вся разница в инфоповоде. Когда на лицах людей, считавших себя хантерами, расплывались блаженные улыбки, наш парень начинал дрейфовать в сторону «слушайте, я вот что подумал… а вам точно нужен программист на постоянку?». Дальше шли цифры – штатный спец обойдётся во столько, проблемы будут такие, а мы, подрядчик, можем всё сделать за вот такие деньги. Да, в моменте – дороже. Но вы ведь меня знаете. Уже.
Не всегда, но срабатывало. Был и отложенный эффект – возвращались те, кто «вы, конечно, персонаж интересный, мы подумаем…».
Когда штат опытных спецов был набран, а клиентов стало столько, сколько нужно, наш герой занялся внутренней организацией. Подтянул систему подготовки и развития, регламенты обслуживания клиентов, стандарты разработки, расширил стек и… Начал продавать себя.
Перестарался
Собственно, тут мы возвращаемся к началу истории. Оказывается, у начальника не всё так хорошо в той компании, где он работает. То ли он сам молодец, то ли людей хороших набрал, то ли рак на горе свистнул, но образовался сильный разрыв между его отделом и остальными. Началась сильная внутренняя конкуренция.
Программисты из других отделов начали проситься к нашему герою, а по правилам внутренний хантинг запрещён. Началось безумие – люди увольнялись, чтобы на следующий день прийти на собес к этому чуду-юду. То же было с менеджерами и клиентами.
Руководство попыталось выровнять ситуацию разными способами. Сначала велели нашему герою научить остальных. Он рассказал про реверс-хантинг, все посмеялись. Остальное послушали – про стандарты, процессы, стек – головой покивали, но менять у себя ничего не стали.
Потом руководство попыталось внедрить практику из сельского хозяйства СССР – шефство и присоединение «лежачих» к успешным. Вплоть до временного переселения программистов из успешного отдела в обычный. Чем кончилось, можно не рассказывать.
Почти без реверса
В итоге, осознав своё незавидное положение, наш герой и его команда решили пойти проверенным путём – продать себя через вариацию реверс-хантинга. Не поштучно, а весь пакет – команда+система, олицетворение которого – их начальник. Ходят теперь и продают его на собесах.
Целевая аудитория – другие ИТ-компании. Приходит на собес крутой программист, быстро доходит до высокого руководителя. Нужен именно высокий, не средний – тому чужие системы по барабану (я, к слову, средний). И грамотно объясняет, что стал таким крутым спецом по одной простой причине – оказался в правильной системе с мега-начальником. Который, кстати, подумывает о новой работе…
P.S.
На крайний вариант оставили создание бизнеса, всей командой. Надеюсь, после меня им ещё есть куда пойти.
Пусть программирует Серёжа
У каждого клиента – свои предпочтения. Не только в выборе автомобиля, блюда на обед или корпоративной информационной системы. Клиенты любят выбирать программистов.
Ну, что программисты разные – ежу понятно. Считается, что клиенты предпочитают профессионалов. Мы тоже так думали, и искренне стремились сделать каждого своего программиста этим самым профессионалом.
Однако, несколько клиентов, ставя нам задачи, упорно твердили: пусть программирует Серёжа. Хотя Серёжа – лютейший говнокодер, объект всеобщей жалости и главный поставщик материалов для конференций на тему «Как не надо программировать».
Кто такой Серёжа?
Я буду называть Серёжу Серёжей, потому что он просит называть себя именно так. Не знаю, почему.
Ничего особенного. Отучился в ПТУ (колледже) на программиста, пришёл работать. Попал в отдел сопровождения – где надо «а-а-а-а-быстрее-быстрее-клиент-ждёт». Такой старт во многом и определил стиль программирования Серёжи.
Стратегия Серёжи: «быстро и точно». Кратчайшим путём дойти до решения, максимально точно попадающего в исходную постановку задачи. Особенно важна точность интерфейса, включая цвета, шрифты, названия и порядок колонок и т.д.
Сами понимаете, такая стратегия – чрезвычайно сложна. Реализовать её можно либо будучи бешеным профи, либо – оставляя за собой лютейший говнокод. Серёже, конечно, был доступен только второй сценарий.
Клиенты Серёжу полюбили. Руководитель отдела сопровождения – тоже. Но, тем не менее, через три года Серёжа ушёл – в отдел разработки. Туда, где сидят «настоящие программисты».
Переход
Вообще, переходы были нормальной практикой. Человек осваивает какие-то навыки в сопровождении, и идёт к сурьёзным ребятам, задачам и клиентам. Некоторые так и оставались, правда, в сопровождении.
Но Серёжа, будучи почти звездой в сопровождении, нужен был в программировании. Это было не его решение – начальство так постановило.
И началась дичь. И для Серёжи, и для программистов. Закатывали глаза, заламывали руки, брызгали слюной, бились головой о стену. Но ничего не помогало – говнокод стал частью ДНК Серёжи.
Несчастный очень быстро скатился вниз по показателям. Какую бы задачу ему не дали – ни фига не получалось. Точнее, программирование шло с противнейшим скрипом и затратами колоссального времени остальных сотрудников – приходилось объяснять, ещё раз объяснять, тыкать носом, заставлять переделывать и, в конце концов, забирать задачу и, матерясь, переделывать самим.
Начали проседать показатели всего отдела – не сильно, но всё-таки. Ну и атмосфера, конечно, стала гнетущей. Надо было что-то решать.
Позвали начальство.
Решение
Начальство было мудрое. С одной стороны, виден полный провал Серёжи во всём «сурьёзном». С другой – бывшие клиенты Серёжи изнывали без него. Ну а чё, подумало начальство.
Пусть Серёжа сидит с программистами, но решает задачи своих бывших клиентов. Случился лёгкий спор с начальником отдела сопровождения – ведь «забрали клиента». Но, как выяснилось, забирать-то особо нечего, с уходом Серёжи его клиенты почти перестали приносить деньги.
Ну а остальные программисты будут Серёже помогать в развитии навыков, только уже на его задачах и клиентах. На том и порешили.
Пошло хорошо. Первый месяц Серёжа, к великой радости клиентов и начальства, просто херачил весь накопленный пул задач. Быстро и точно, как умел и любил. Но сработал закон Вселенной – чем больше задач клиента ты решаешь, тем больше их становится.
Серёжа перестал справляться с возрастающим потоком. Выход был очевиден – пусть задачи решают и остальные программисты. Те оказались не против. Парней, если честно, немного завидки брали – пусть и говнокодом, но Серёжа зарабатывал больше. А тут – возможность победить засранца на его же поле.
Но начался жесточайший кризис.
Кризис
Программисты полезли в сокровищницу Серёжи и ахнули… Не, говнокод-то они уже видали, но чтобы столько, да в одном месте, и как-то это всё взаимосвязано! И, самое поганое – работает!
Ситуация получалась весьма странная. Раньше Серёжа решал хорошую задачу и огребал за гокновод, который пытался встроить в нормальный, чёткий, лаконичный и выверенный контекст. Теперь – ровно наоборот. Нужно было понять записки сумасшедшего, и хоть как-то вклинить в них что-нибудь изящное и не позорное.
Для программистов это было в новинку. И бесило жутко. Начались скандалы. Брал программист задачу, смотрел, матерился, звал Серёжу и пытался тыкать его носом. Серёжа к тому моменту уже стал чуть смелее, и отвечал просто: «не хочешь – не делай, сам подшаманю». Раз сказал, два сказал – перестали пытаться воззвать к чувству вины.
Ну ладно, сказали программисты. Щас мы покажем – и Серёже, и его клиентам, как надо программировать. И стали молча делать решения так, как положено. Но тут, совершенно неожиданно, взвыли клиенты.
Во-первых, им не нравились решения программистов – они были не точны. Программист ведь почти Бог, и лучше знает, что надо клиенту. Поэтому делает близко к требованиям, но с обязательным внесением своей лепты в постановку задачи.
Во-вторых, не понравились суммы, которые программисты выставляли за свою работу. Они были в разы больше серёжиных. Оно и понятно – быстрый говнокод дёшев, нормальный – существенно дороже.
Фраза «Пусть программирует Серёжа» звучала всё чаще и настойчивее.
Но программисты не сдавались – решили объяснить клиентам, как надо на самом деле. Организовали несколько встреч, собрались, поговорили. Рассказали про архитектуру, стоимость поддержки кода, правильное проектирование, сценарии использования, масштабируемость и т.д. Короче, изложили, что есть «правильно».
Клиенты послушали, головой покивали, но честно признались – всё понятно, но ничего не понятно. Давайте на примерах. Программисты взялись объяснить на текущих задачах.
Под руку попался инструмент планирования загрузки оборудования имени Серёжи – клиент попросил добавить в него новую функциональность. Программисты сказали, что на анализ всего инструмента придётся потратить 10 чел/часов. Но раз такое дело, сделают это бесплатно. Клиент, правда, цифру услышал и запомнил.
После анализа программисты сказали, что весь инструмент надо переделать. От макушки и до пят. И анализ сделать ещё раз – только не кода, а требований, процессов и сценариев. С людьми поговорить, короче. А тут уже не обойтись без привлечения бизнес-аналитика.
Насчитали, в итоге, предварительную стоимость в 120-160 чел/часов. Клиент был в шоке – нахера отдавать столько денег за создание с нуля инструмента, который уже давно работает? Программисты пытались объяснить, что это будет правильно. Говнокод обязательно сломается когда-нибудь, не будет масштабироваться, не натянется на него очередное функциональное требование.
Но всё было тщетно. Клиент перестал слушать программистов. Твердил, как заведённый: «Пусть программирует Серёжа». Особенно с учётом того, что Серёжа оценил текущую доработку в 4 чел/часа.
Но программисты не сдавались. Они пошли к начальству.
Финал
Программисты знали, что начальство, конечно, уважает всякие там «технические подробности», но любит деньги. Поэтому решили надавить именно на доход – сравнить суммы от «хорошего» и «плохого» программирования.
За основу взяли тот самый инструмент планирования, который оценивали для клиента. На вторую чашу весов положили свою фантазию на тему «за сколько Серёжа это говнокодище сделал», и добавили известную им стоимость доработок инструмента за последние месяцы.
Итак, хороший код принёс бы компании 160 чел/часов. Плохой, по оценкам программистов – 50 чел/часов. Отправили цифры начальству, попросили о встрече.
Начальство, напомню, было мудрое. Решило выслушать и вторую сторону – попросило Серёжу посчитать, сколько компания заработала на создании и доработках этого конкретного инструмента. Ну и назначило встречу на всех.
Серёжа насчитал 300 чел/часов. И не просто насчитал – принёс документы, которые подтверждали цифры. Чаша весов резко качнулась. Но Серёжа, кроме денег, докинул на неё свои говнокодерские аргументы.
Во-первых, инструмент работал уже через месяц после начала создания. Да, через задницу, но задачи клиента решал. Во-вторых, инструмент продолжал развиваться и выполнять своё предназначение в течение двух лет. Ну да, не развиваться, а «развиваться». В-третьих, ни разу, ни единого разочка, с клиентом не было проблем – ни с инструментом планирования, ни с другими задачами.
Четвёртое добавило начальство – неистовая, слепая лояльность клиента. К Серёже, конечно, но через него – ко всей компании.
Программисты с выводами не согласились, но уже исчерпали все аргументы. Раз такое дело – пусть и правда программирует Серёжа.
P.S.
Развитие истории получилось неожиданным. Чутка поостыв, программисты подумали, поговорили, поспорили и… Признали право Серёжи и его говнокода на существование. Решили к нему даже присмотреться. И, по возможности, поучаствовать – очень, почему-то, захотелось и к себе неистовой лояльности.
Правда, отношения с клиентами Серёжи уже успели испортить. Поэтому решили так: пусть клиент думает, что программирует Серёжа. А задачи будут решать программисты. Не все подряд, разумеется, и не только их – свои клиенты никуда не делись. Никто не собирался менять веру и уходить в говнокод с головой.
Стали просто разбавлять. Один день красиво программируешь, другой – пускаешься во все тяжкие. Сравнивали дни говнокодерства с мероприятиями вроде Ла Томатины. И, как ни странно, остались довольны.
Во-первых, чутка больше зарабатывали – доработки говнокода требовались часто. Во-вторых, нашли в говнокодерстве профессиональную ценность – лучше понимали, как надо писать код. В-третьих, обнаружили, что и своим клиентам иногда полезно сделать «быстро и точно» - лояльность повышается, а следом – и поток объём задач. В-четвертых, клиенты Серёжи, наконец, сдались и разрешили другим программистам официально решать их задачи.
Теперь можно услышать не только про Серёжу. Пусть программирует Коля, Петя, Вася. Жить стало интереснее и проще.
Конь остановлен, изба догорела
С виду – мужики как мужики. Ну да, среднего возраста, со слегка притухшим взглядом, без искорки. Но таких много среди пытающихся войти в айти. Внешние признаки в резюме и на собеседовании – как у всех, ничего выдающегося.
Но у этих парней есть тайна. Нет, у них Тайна. Вскрывается, как теперь выяснилось, элементарно – задним умом и я крепок. Но то ли я какой-то не такой, то ли явление действительно из ряда вон… Распознать именно тенденцию смог лишь с третьего раза.
История будет короткой, чай не успеете допить.
Я, по злой воле начальства, занимаюсь подготовкой программистов. Принципиально кандидаты мои делятся на две категории: вчерашние студенты и те, кто «одумался», «решился» и проч. По студентам сказать особо нечего – там всё, как у всех. Пришли, повыделывались день-другой, поняли ценность своих знаний и недоделанных вечерних стартапов и сели учиться массивы сортировать.
Спектр жизненных историй одумавшихся намного богаче. Кто только не попадается – учителя, разнорабочие, продавцы, инженеры, слесари, технологи, банковские работники, мастера из цеха, курьеры, несостоявшиеся ИПшники, сисадмины – короче, почти полный срез нашего многогранного общества.
Средний портрет нашего героя таков. Возраст 30-40 лет. Образование – техническое, бывает неоконченное. Работал тем, кем случайно по молодости устроился, и всё никак не мог уйти – платили неплохо, жена, дети, ипотека. Потом кто-то подкинул идею, предложил, настоял – в общем, довольно активно подтолкнул войти в айти. Появились курсы, самостоятельное изучение по видео и, конечно, «жгучее желание».
Под этот же портрет подходят и другие парни среднего возраста, которым не суждено стать героями этого текста. Различия проявляются на испытательном сроке. Там нужно сначала решать учебные задачи, потом – реальные, с постепенно возрастающей сложностью.
Итак, первый симптом – человек садится подальше от наставника. И вообще от людей. Благо, кабинет большой и есть полная свобода в выборе места (если оно никем не занято). Монитором к стенке, чтобы его никто не видел. Не критично – мало ли, стесняется человек.
Второй симптом – очень много общается через смартфон. Вообще, «официальные» коммуникации идут через электронную почту и телегу, которую все, для удобства, ставят на компьютер. А тут – смартфон, много смартфона. Много звонков из коридора, много сообщений, написанных и прочитанных под столом. Не критично – мало ли, дела семейные, или долги по прошлой работе.
Третий симптом – стремление забрать работу домой. Прям жгучее желание. Оно, к сожалению, жутко выпячивает, потому что парни знают «скинуть на флешку» и «выложить в облако» - т.е. что делать с файлом. Но не знают, как этот файл получить (исходники в смысле). Вынуждены обращаться за помощью. Начинаешь спрашивать, нафига тебе домой – уклоняются, мол дома соображаю лучше, ну и «жгучее желание». Не критично – мало ли, я и сам дома вечером лучше соображаю.
Четвертый симптом – полное отсутствие вопросов. Обычно так не бывает. Конечно, поначалу у всех стажёров глаза круглые и вопрос один – «ничего не понятно». Но это вопрос! Начинаешь уточнять, наводить, подсказывать, и процесс со скрипом запускается – вопросы становятся более реальными и конкретными. А у наших героев нет даже вопроса «ничего не понятно». Хоть допытывайся, хоть нет – в ответ уверенная каша. Нормально, разбираюсь, скоро будет результат. Не критично – мало ли, я тоже люблю сам, своим умом до всего доходить.
Тут вы, наверное, подумали, что парни просто списывают. Например, ищут решение в гугле (хотя, сейчас это уже и не назовёшь «списывают» - скорее аутсорсинг мозга). Или просят знакомых программистов помочь. Это нормально, это бывает, но… Не в таком объёме.
Чуваки умудряются протянуть три месяца. Со всеми вышеперечисленными симптомами, но задачи решаются. С низким, но ожидаемым уровнем качества. Да, решение появляется к утру, но появляется ведь. Что ж, блин, за нахрен? Если предположить, что списывают, то кто этот дурак? Кто настолько, я не знаю… Влюблён! в этих мужчин среднего возраста, что готов в течение трёх месяцев решать за них задачи? Или всё-таки они сами таким вот странным образом программировать учатся?
Нет, увы, не сами. Вскрывается лайвкодингом (теперь это – обязательный элемент программы первого месяца). До смешного – даёшь ту же задачу, что герой решил ночью. И видишь полный, беспросветный тупняк. Ну и вслед – признание.
Жена. Супруга. Любимая. Драгоценная. Всё – она.
Жена пилила много лет насчёт смены профессии. Жена не давала забыть, когда появлялись дети и ипотека. Жена тыкала носом в доход, который не растёт. Жена показывала на знакомых, кто сумел заставить себя. Жена сгоняла с дивана.
Жена заставила смотреть обучающие видео. После «я вообще ничего не понимаю» жена сидела вечерами и сама изучала эти видео. Жена велела купить курс. Жена не выдержала «да, скоро куплю» и купила сама. Жена параллельно смотрела эти видео и прорешивала задачи. Жена писала «дипломный проект» (извините, про современные курсы без кавычек никак).
Жена научилась программировать. Ещё раз. Жена научилась программировать. Жена отправила на собеседования. Жена, естественно, изучила все статьи на тему «что говорить на собеседовании». Жена проинструктировала. Жена натаскала решать среднестатистические задачи для собеседования. Жена научила правильным словам, после которых на собеседованиях не предлагают решать задачи.
Жена весь испытательный срок проходила испытания. Жена сидела у телефона и быстро отвечала в мессенджерах. Жена днём переделывала все домашние дела, чтобы вечером программировать то, что принёс с работы муж. Жена ближе к ночи будит мужа и объясняет код. Жена с утра догрызает ногти, переживая, сдал или нет. Жена найдёт слова утешения, когда мужа выгонят. Жена горячо одобрит возвращение на прежнюю работу. Жена замолчит о программировании. На какое-то время.
P.S.
Жена, приходи работать программистом. Все проблемы мотивации и адаптации у тебя уже решены. Всё получится. У всех, кто дошёл – получилось.
Начинающие программисты боятся темноты
Не могу больше. Это не моё. Я не тяну. Всю ночь не спал, ворочался, вставал, курил, читал, пытался смотреть телевизор, снова ложился… Ненавижу.
Всех, кто пишет эти радужные истории «войти в айти». Тех, кому я заплатил за курсы по программированию. «Друзей» и «советчиков», которые сказали: смело бросай свою старую, нелюбимую работу, и иди в программисты. Если бы вы только знали, о чём говорите…
Сегодня я уволюсь. Не могу больше выносить этот стыд, позор, невыносимое бессилие. Я не этому учился. Я хочу программировать, писать код. Но за последний месяц я не накорябал ни одной строчки. Я один в темноте.
Утро
А начиналось всё так радужно! Мне 35 лет, и всю жизнь я работал менеджером по продажам… Не имеет значения, чего именно. Да, это работа, на которую я случайно устроился сразу после института, чтобы были хоть какие-то деньги. Начало получаться – ну так, средненько, без экстремумов.
Зарплата потихоньку росла. Сильно потихоньку. Люди приходили, уходили, а я сидел. Жена, дети, ипотека. Получал свою трицаху, а то и сорокет, в хорошие месяцы – полтос, как-то справлялись.
Потом кризис среднего возраста, всё как положено. Пить начал. На детей орать, с женой ругаться. Друзья давно меня, скажем так, обошли. Есть кому завидовать.
Когда немного успокоился, начал думать, искать. Вспомнил ненароком, что учился на инженера. Нашёл примеры успеха – тех, кто в моём возрасте ушёл в программисты, даже без технического образования. Впечатлился, решил попробовать.

