Программисты Национального фонда подготовки кадров Зоя Белова, Игорь Солойденко, Александр Коротаев и Дмитрий Будаев обедают в пивном ресторанчике
Солойденко: Просто программеры в Белоруссии — это одна из тех профессий, которая позволяет жить достойно. Они не то что как короли ходят: они те немногие, кто могут нормально ходить. А у нас в России абсолютно другая ситуация. Разработчики разработчикам рознь. Зарплаты очень различаются. Помнишь, Саш, мы полгода назад смотрели, что тетенька с Mail.ru сказала?
Коротаев: Да-да, обычная зарплата, по ее словам, составляет 125–150 тысяч рублей.
Солойденко: Ну она не говорила «обычная», она сказала «средняя по Москве». Но эта цифра непонятно откуда взята. Может, она хотела сказать, что «у нас в Mail.ru» средняя зарплата по Москве…
Коротаев: Я года два уже не отключал подписку на предложения в области. И поэтому вижу уровень зарплат, который предлагается. В среднем — от 50 до 80 тысяч.
Белова: Ну ты же понимаешь, что это не те деньги, которые предлагают людям с улицы на всяких job.ru.
Солойденко: Тем более что разработчик разработчику рознь. Если брать по языкам, по платформам, на которых разрабатывают люди, то везде зарплаты разные и не всегда они складываются тупо из-за знаний. В Ruby1 зарплаты такие, потому что Ruby-разработчиков немного. Некоторым конторам, которые уже подсели на Ruby, не очень повезло. Они теперь вынуждены предлагать больше, чтобы к ним пришли. Php2 такими вещами не страдает.
Коротаев: Тут, наоборот, — отстрел.
Солойденко: Тут да, ищут хомяков, которые могут работать за деньги.
Коротаев: Тут есть несколько проблем еще. Не все люди обучаемые. «Мы хотим учиться», — говорят они, а на самом деле подразумевают, что они хотят получать зарплату и ничего не делать. И потом на тебя ложится еще и обязанность уволить их. Ведь более или менее честная контора не может просто так взять и уволить человека.
Солойденко: Слышали мы от некоторых кандидатов фразы «Мы хотим учиться», которые в переводе на наш русский обозначали: «Мне влом учиться самому, а научите-ка меня». Я к чему веду: согласитесь — в IT3 постоянно приходится чему-то учиться. Если хочешь, конечно, быть сколько-то в теме. Это не то, что нужно просить у людей, это то, что нужно самому делать. Если есть желание.
Дмитрий Будаев: И время.
Коротаев: И возможности.
Приносят торт «Прага».
Зоя: А это че за плюшки?
Будаев: Не знаю, но пригодится.
Коротаев: Да, так вот: у нас постоянно нужно чему-то учиться. В юриспруденции, например, учат законы, иногда они меняются, но незначительно. У нас не так. Программер начинал работать на перфокартах, а тут раз — и уже какие-то клавиатуры.
Солойденко: Ну в целом ты прав. Раз на то пошло, то даже законы разных стран зачастую повторяют друг друга, незначительно отличаясь один от другого.
Зоя: Учиться надо постоянно — но при этом быть программером долго может очень малое количество людей. Очень быстро хочется уйти из этого дела и заниматься уже чем-то другим, смежным: например, быть начальником либо просто продавать.
Коротаев: Или аналитиком быть.
Белова: Но именно программистом быть долго никто не может.
Солойденко: Возможно, иногда дома в качестве хобби что-нибудь пописать, но не более того.
Солойденко: Ага, просто тупо лень работать, когда у тебя одни и те же задачи постоянно шаблонные. И не всегда их можно… Как сказать?
Коротаев: Автоматизировать.
Солойденко: Да, автоматизировать, чтобы не решать их повторно. То есть когда-то это получается, а когда-то нет. И вот делать именно рутину — тут нужно иметь…
Коротаев: …восточные качества характера.
Солойденко: Или секретаря программиста.
Белова: Да, программиста старше 27-28 очень сложно, по-моему, найти. В основном молодежь.
Солойденко: Не знаю… Смотря где. В некоторых местах, в которых я раньше работал, чем они старее, тем более гуру.
Белова: Нет, ну я себе не представляю программиста, который начал работать в 20 лет и проработал 30 лет.
Солойденко: Ну я таких видел. Но в основном они, знаешь, в математику лезут, им надоело все что-то совсем легкое. Им приходится иметь много дела с теорией.
Коротаев: А в той же Швейцарии у них проблема в том, что недостает программистов, потому что они уходят по достижении пенсионного возраста. 65 лет — и все.
Белова: Ну проблемы Швейцарии — это, знаешь, как проблемы Тюменской области.
Солойденко: В любом случае в программировании для бизнеса проблема в недостатке кадров. Мне кажется, после кризиса рождаемости 90-х у нас мало просто детишек, и сейчас в институты принимают, грубо говоря, кого угодно, и падает уровень образования, потому что народ не учится. Это первая большая беда. Вторая большая беда — это то, что у нас, как и везде в мире, программирование не достигло того уровня и, наверное, не достигнет никогда, чтобы можно было очень точно предсказывать, когда что будет готово и сколько это будет стоить. Для бизнеса это большая проблема, они постоянно переплачивают. И по времени, и по деньгам. То есть они обещают одно, а на практике вылезает что-то другое. Хотя сфера бизнес-разработки существует уже как минимум 20 лет. И самое смешное — что непонятно, как это можно обойти.
Коротаев: В процессе работы c командой ты со временем можешь более точно предсказывать сроки. И потом, когда ты получаешь какую-то базу результатов (к примеру, этот в 75 % запаздывает в два раза, а этот делает быстрее в 20 % случаев), у тебя чуть повышается способность предсказать.
Солойденко: Ну тут опять же, бизнес не может это просто взять на вооружение легко.
Коротаев: Нет, не может.
Солойденко: Тут требуются очень большие доверительные отношения между конторой, которая разрабатывает, и конторой заказчика. Если они доверяют друг другу, то все хорошо. Но, если они хотят, чтобы через полгода при условии, что они предоставляют 2 млн рублей, на выходе был обязательно требуемый продукт…
Белова: Это нереально.
Солойденко: И опять же, заметьте, — это никак не связано со знаниями людей. Отчасти бедой является то, что у нас очень быстро все меняется. Если бы мы жили на одной только Java4, мы уже имели бы на многое готовые решения.
Белова: Знаешь, я уже два года использую одну и ту же технологию. И проблема тем не менее не решается — всегда приходят задачи, которые требуют от тебя какого-то нового кода. Не бывает такого, что один в один перенес — и все.
Солойденко: Понятно, значит, я заблуждаюсь.
Будаев: С другой стороны, смотрите: есть контракт. Нужно сказать, сколько времени нашей конторе понадобится на разработку. Скажешь много — контракт уйдет от тебя. Подумают, зачем с таким количеством времени связываться с этими людьми. Пойдем найдем другого, кто сделает быстрее. Поэтому не каждый готов терять контракты. Так что не сам программист виноват в том, что сроки поджимают, а сам заказ по срокам очень сжат.
Солойденко: Короче, тот, кто согласился на такие условия контракта, пофейлил, дал нереалистичные сроки. Кстати, еще одна проблема — у нас нет надежности кода. Никакие конторы, занимающиеся разработкой кода, не могут дать надежный код. Даже те, кто запускает космические аппараты, все равно имеют ненадежный код. Вопросы корректности и верификации еще долго будут актуальны.
Будаев: И очень часто приходится сталкиваться с проблемами внутри разработки чего-либо. То есть ты знаешь, как что-то сделать, начинаешь — и понимаешь, что здесь находится какая-то проблема, и ты не можешь делать так, как ты хотел. И тебе нужно находить решение. Но изначально же ты не знал, что нужно будет искать это решение, и не учитывал сроки. А решение можно будет искать день, два, три, неделю, месяц. Подводные камни такие. И это, разумеется, сказывается на твоем моральном состоянии.
Коротаев: Подводные камни связаны с низким качеством тех технологий, с которыми тебе приходится работать. Которые ты выбрал. Думаешь — вот замечательный инструмент. Он подходит к моей задаче. Начинаешь его использовать — и натыкаешься на то, что одно не работает, другое не работает. Нигде об этом не написано, естественно. Но это фундаментальные вещи, которые могут помешать тебе работать над своими задачами.
Солойденко: Но это решается только опытом и знаниями, на мой взгляд.
Белова: Это, кстати, показатель того, откуда взялись все эти конференции5, почему они так популярны. Потому что существует проблема поиска методов для решения типичных задач. Люди ходят на конференции, пытаются что-то откопать для себя. Люди, которые работают в других областях, так часто на конференции не ходят.
Белова: Игорь, а тебе, кстати, пришло подтверждение «Яндекса»?
Будаев: Ты мне, кстати, так и не прислал ссылку.
Солойденко: А я тебе разве обещал?
Будаев: Ну да — вечером, когда сидели наверху, был разговор. Интересно, можно заявку прислать еще?
Солойденко: Заявку-то наверняка можно. Вопрос — подтвердят ли они.
Белова: Главное, там блокнотики дают на халяву с майками!
Смеются.
Солойденко: Вот как компания простым способом обеспечивает лояльность.
Белова: Ну и не работать целый день.
Коротаев: Ну это вообще может быть полезно. Не то что конференция Microsoft. Да, Игорь?
Солойденко: Да. На конференции Microsoft тебе просто говорят: «Купи слона, он такой клевый. Он большой. Он серый. И у него хвост. У него такие уши. Ни у кого в мире нет таких ушей». И не важно, что уши ты, возможно, никогда не будешь применять, а хвост тебе вообще лишний.
Коротаев: А брюхом он тебя раздавит.
Солойденко: А потом ты будешь еще и elephant addicted. Будешь ходить с этим слоном. А на конференции «Яндекса» есть все-таки шанс что-то полезное узнать и запомнить.
Белова: Да просто интересно послушать, как они попадали во всякие там сложные ситуации и все это разруливали.
1. Ruby — язык программирования, разработанный в 1993–1995 гг. японцем Юкихиро Мацумото.
2. Php — один из самых распространенных языков программирования, применяющихся для разработки веб-приложений.
3. Информационные технологии — все дисциплины и области деятельности, связанные с технологиями создания, обработки, хранения и прочих манипуляций, которые производятся с данными, в первую очередь с помощью компьютеров.
4. Java — очень популярный язык программирования, разработанный компанией Sun Microsystems. В отличие от многих других языков может работать на разных платформах.
5. Конференции – конференции для специалистов, работающих в области IT, проводят «Яндекс», Google и другие разработчики.