Плюсы и минусы разных ІТ-компаний. Опыт циничного программиста
Здравствуйте. Меня зовут Владимир Кожаев. Программирую я профессионально (то есть получаю за эту работу деньги) с 2004 года — больше шестнадцати лет. Перед моими глазами прошло много всякого, поэтому с возрастом стал циничен как хирург. В этой статье хочу рассказать о разных программистских работах честно, без приукрашивания действительности — перед чтением налейте себе коньячку. Поскольку пессимист — это хорошо информированный оптимист, описываю я типичные проблемы.
Не нужно настраивать себя, что вот всё плохо и нижесказанное обязательно со мной произойдет (может и нет). Но знать о ямах, что могут встретиться на дороге полезно — можно будет их обойти. Сразу отмечу, что пишу я, во-первых, о работе — не о бизнесе, а во-вторых, о работе в Украине. В других странах может быть по-другому. Чтобы было понятнее, буду проводить аналогии с работой слесаря на производстве. Ведь программирование есть не что иное, как создание, ремонт и эксплуатация программного обеспечения. С другой стороны, хочу, чтобы мне хоть раз в жизни пригодились «заводские» дисциплины, которые программистов заставляли учить в Национальном университете кораблестроения.
Итак, начнем пожалуй.
Допустим, некто ищет работу и получил несколько офферов. Что выбрать? Универсального ответа не существует, как его нет и на вопрос: «Какой автомобиль мне купить?». Давайте пройдемся по возможным типам компаний на украинском рынке и попробуем определиться, что кому подойдёт.
Иллюстрация Ульяны Патоки
Маленькая аутсорсинговая компания
— Почему вы ушли с предыдущего места работы?
— Компания переехала, и мне не сказали куда.
© на собеседовании
Собрались однажды три однокашника и решили открыть своё дело. Вначале апворк, потом нашли одного-двух клиентов, и пошло-поехало. Работу свою они знают, клиент доволен — пришла пора расширяться.
И тут оказалось, что гуманитарные предметы в отечественных вузах преподают ещё хуже, чем программирование. Философию, психологию и педагогику путём переписывания учебника, менеджмент — в лучшем случае на примере обанкротившегося в начале
- Невыплата или задержка зарплаты, невыполнение обещаний. Ну не понимают люди, что репутация — самое важное в бизнесе. Но ничего, жизнь быстро научит.
- Автоматический перенос своей психологии на чужую: я готов программировать с утра до ночи и соискатель тоже готов. Я понял задачу — и работник понял.
- Вера в свою исключительность, максимализм: в мою чудо-фирму я возьму только супермотивированных и пассионарных специалистов. Как ты не готов неделю делать тестовое задание без всяких гарантий? Нет... такой работник не нужен!
- Общая неорганизованность и бардак. В одной фирме, где я работал много-много лет назад, при переезде забыли нанять в новый офис уборщицу. Пол не подметался три месяца (!!!), пока арендодатель не поставил вопрос ребром: уборка или на выход!
Кому подойдет такая работа? Правильно: студенту последних курсов программистской специальности. Что-то умеет, уже писал приложения «для себя», но коммерческого опыта (за который платят) мало либо нет вообще. Куда-то получше его вряд ли возьмут, а у вышеописанных товарищей выбора нет — денег поначалу не густо. Да, могут кинуть с последней зарплатой. Может статься ещё веселее: в понедельник приходишь на работу, а дверь закрыта. Подождал-подождал, пошёл узнавать и услышал: «Ваш начальник в субботу забрал вещи и отдал ключи». Такое случилось с одним из знакомых. Что это было, он не знает до сих пор.
Как я писал выше, вести бизнес новоиспечённые предприниматели не умеют, о репутации не заботятся. Так что подобные случаи происходят чаще, чем в крупных конторах. Неприятно, но не смертельно: цель начинающего набить руку на реальных задачах. С другой стороны, это в большинстве случаев молодой человек. Семьи ещё нет, дети голодные по лавкам не плачут. Поэтому потеря части последней зарплаты не большая цена за приобретенный опыт. Программировать владельцы маленькой фирмы уже научились — без этого заказов не получить. Значит, будет над чем поработать и записать в резюме вожделенные строчки.
У работы в маленьких компаниях есть ещё один плюс: их никто не знает.
Появляются и уходят в историю очень часто, поэтому врать в резюме можно не особо стесняясь: проработали год — пишем два, дописываем в резюме технологии, с которыми может и не работали, но читали книжки. Эйчар более серьезной конторы не станет звонить в «Три хлебных корочки»: «Что там джуниор Вася, работал у вас с Docker или только слышал о нём?».
И даже если оттуда уволили за плохую работу, никаких последствий для карьеры не будет. Ну ушёл ты из фирмы «Рога и копыта», никого не убил, ничего не украл и ладно — других дел по горло, чтобы ещё джуниора какого-то пристально проверять. Проведу аналогию, допустим, на завод принимают молодого слесаря. Напильник в руках держать умеет, не пьющий, приводов в милицию нет и особых проблем со здоровьем тоже. Станут в отделе кадров докапываться, что там произошло у него в маленькой мастерской и почему он оттуда уходит? Нет. «Хочу работать на большом заводе, расти профессионально, иметь спецодежду, положенный по закону отпуск, получать аванс и зарплату первого и пятнадцатого числа, без задержек. Я слышал у вас это всё есть», — такой ответ идеально подходит. Кроме него на работу устраивается единовременно человек 20. Собирать досье на каждого, как в контрразведке? Ага-ага, болты во время скрупулёзных проверок кто будет точить? Люди сейчас нужны — не через два года.
Гиганты рынка
«Умные нам не надобны, надобны верные» © Аркадий и Борис Стругацкие, «Трудно быть богом»
Их отцы-основатели начали работать ещё в
Всё вроде бы хорошо, но где ложка дёгтя? А вот она: лидеры рынка сами ничего не разрабатывают — только предоставляют персонал для иностранных фирм.
Соответственно, им важно чтобы:
- Заморский работодатель был доволен, то есть чтобы не сказал: «Этот Василий мне не подходит — несите следующего».
- Разница между расходами на человека и доходом была максимальной.
- Тратиться на найм как можно меньше. То есть чтобы на одном месте работник держался подольше и не воротил нос от устаревших технологий или переработок.
Что из этого следует: крупному аутсорсу люди с навыками сильно выше среднего не нужны. И платить такому следует больше, и увольнения высококвалифицированный работник не опасается, напротив, чаще смотрит по сторонам. А значит, добавить обязанностей за те же деньги не выйдет.
Например, в одной крупной конторе недавно сказали: «У нас коронакризис, сокращение персонала, американские сотрудники не справляются. Поэтому, кроме программирования, вы теперь будете выполнять функции поддержки. По вечерам и по выходным обязаны зайти в рабочий аккаунт и посмотреть, есть ли у клиентов проблемы. Если да — оперативно исправить». Естественно, без повышения оплаты. Что бы было, если бы там работали гуру? Стали ли бы они бесплатно тратить свои выходные на рутинные операции?
Ещё пример, уже из моей биографии. Сейчас без проекта. Создание новых языков встречается редко, поэтому если предлагают, то разговариваю и о другой работе. В одном из лидеров рынка у меня с менеджером произошел такой диалог.
ПМ: Работа состоит в том, чтобы переписать какую-то подсистему банка с совсем древней технологии на Java 8 + servlets (то есть устаревшим этот код становится в момент создания). Зачем это делать? Потому что кто-то на стороне клиента так решил. Ещё у нас бывают разные митинги. Необходимость тебе там присутствовать сомнительна, но заказчик требует, чтобы были все. Денег средненько: по рынку для разработчика, но не выше. Будет ли комфортно работать в этом проекте?
Я: Программирую за деньги. Если мы договоримся, буду выполнять свою часть контракта.
Приходит отказ: «У Владимира отсутствует другая мотивация, кроме финансовой — не подходит».
И я прекрасно понимаю ПМ’а. Он же не может сказать: «Владимир, конечно, опытный разработчик, умеет не только код писать, но выяснять требования, думает о проекте в целом, а не так, чтобы сделать вот эту задачу и хоть трава не расти. И вообще, знает математическую лингвистику! Но, возможно, понадобится поработать на выходных. Он фрилансер, почти бизнесмен. Бесплатно перерабатывать не привык и откажется. Мне объяснять заказчику, почему все другие согласны овертаймить бесплатно, а Кожаев — нет. Потом есть не нулевая вероятность, что ему предложат за узкие знания денег в два раза больше. Повысить аж настолько я не смогу, даже на время, пока не найду нового, ведь бюджет не резиновый. Он свалит, а я должен придумывать причину, по которой я не удержал на проекте хотя и немного строптивого, но нужного нам программиста. Решать, кем его заменить, за короткий срок. Поэтому поищу-ка я пусть не такого опытного, зато послушного и без претензий».
Возвращаясь к нашему слесарю, давайте подумаем: стоит брать на опиливание типовой детали #1 слесаря высокого разряда, умеющего шлифовать лопатки турбин? Кто не в курсе, работа это сложнейшая и очень ответственная. Чуть оплошаешь — и турбине конец. Специалисты даже собственное тавро имеют, мол, шлифовал такой-то. Будет ли такой слесарь делать все, что скажут, в условиях далёких от идеальных? Можно его при необходимости запрячь на бесплатный субботник? Не скажет ли он, мол, мне за это не платят, и пойдет пиво пить?
Есть ли в лидерах рынка проекты, где требуются знания выше среднего? Да, но платят за них похуже, чем, скажем, за работу на банки с легаси-технологиями — не их профиль. Опять же мне недавно предлагали разработку трансляторов с одного языка программирования на другой. И в той же конторе банковский проект за сильно больше денег. Напирали: «Работа ну очень интересная! Разовьёт вас профессионально. Может, вы подумаете?». Когда выяснилось, что я уже написал таких трансляторов с десяток, для меня это рутина, что, возможно, это их разработчикам интересно у меня поучиться, рекрутерша погрустнела.
Выходит, получение новых знаний выше какого-то уровня не имеет смысла? Нет ведь, есть...
...Продуктовые и узкоспециализированные компании
Занимаются развитием одного, реже нескольких продуктов либо продают консалтинг в узкой области. Поэтому по оплате они не ограничены внешним рейтом (ради хорошего человека могут временно и в минус уйти) еще и заинтересованы в высокой квалификации программистов. Чем выше, тем лучше. Это всё плюсы, а минусы?
Дело в том, что для таких фирм лояльность важна ещё больше, чем для аутсорсинга. И не потому, что бюджет ограничен. Причина другая: их товар — экспертные знания разработчиков. Например, занимаетесь вы разработкой SIP-мессенджеров или развиваете OLAP-систему. Можно найти в одночасье специалиста с такими знаниями? Нет! Ещё хуже, если это архитектор, такого только готовить внутри компании. Причем несколько лет! Оплачивать конференции, давать пробовать разные подходы, терять на архитектурных просчетах. А как вы думали, не ошибается тот, кто ничего не делает. Особенно если речь об учебе.
И представьте, человек, которого вы натаскивали, увольняется. Сколько потеряно денег? Вот именно!
Поэтому в такие конторы стараются брать тех, кто очень хочет работать именно здесь. Им должно быть важнее всего заниматься любимым делом, и этим делом должен быть продукт или предметная область компании. На зарплату, если хватает на жизнь, наплевать! Хотя денег там обычно выше среднего по рынку. Знаю, для многих это звучит музыкой, но не для всех. С возрастом и опытом любая работа становится просто работой, без сентиментов. Ну будет твоё имя где-то в конце списка повлиявших на проект разработчиков, может, в середине даже. И что?
Вот вам пример: разработка культовой игры «Казаки». Вы помните, кто там отвечал за искусственный интеллект персонажей, игровые стратегии? Между прочим, добиться плавного повышения сложности уровней — задача тяжёлая. В условиях постоянной нехватки времени разработчику небось приходилось забить на личную жизнь и на хобби — буквально не спать ночами. А выхлоп какой лично для него? Платят, возможно, чуть больше, но стал ли он миллионером? Или, может, его узнают на улицах? Кричали женщины «ура!» и в воздух чепчики бросали? Не бросали!
Лет пятнадцать назад я ещё был таким вот восторженным идеалистом: нам хлеба не надо, работу давай. Сейчас лапша с ушей спала. Хочу просто денег и не слишком упахиваться в процессе их заработка.
Есть ещё одна проблема: в описанных фирмах специализация слишком уж узкая. Приходиться пользоваться библиотеками-фреймворками и инструментами, разработанными тут же, они нужны здесь и больше нигде. Поэтому становясь более ценным в конкретном месте, теряешь квалификацию, востребованную рынком труда — нельзя помнить всего. В то же время смерть и банкротство не отменяли. Поменялась ситуация, и каким бы грамотным специалистом не был — ты больше не нужен. Надо будет опять конкурировать с молодыми, а это в возрасте ой как не просто: и здоровье похуже, и голова уже варит не так.
Если вспомнить слесаря, можно сравнить с работой на экспериментальном заводе. Платят неплохо, но долго учиться, и если этот завод закроется, то на другом придется начать всё сначала.
И остаётся фриланс.
Фриланс и удалённая работа
«Не звоните нам, мы сами вам позвоним» © из собеседования актеров в Голливуде
Подходит только для опытных, которые могут не только выполнить задачу, но и рассказать заказчику, что именно и каким образом нужно сделать. При том так, чтобы он захотел заплатить и сделал это. Начинающим во фрилансе не место, зато опытный специалист может работать из любого места и сколько хочет, был бы интернет. Летом часть времени я живу на юге, и отпрашиваться у менеджера мне не нужно. При этом потолок оплаты выше, чем в офисе — с галерой-то не надо делиться. Технологии тоже какие хочешь. К примеру, я разрабатываю компиляторы, трансляторы, парсеры, IDE и прочее Rocket Science. Такой работы на Украине очень не много, всё больше CRUD и формошлёп.
Но есть и ложка дёгтя. Во-первых, проекты нужно искать самому и по окончанию никаких гарантий, что будет другая работа. Во-вторых, за работу ты конкурируешь на глобальном рынке труда. И внезапно оказывается, что для решения распространенных задач типа написать мобильное приложение или создать бэкенд на Java, или сварганить сайт, на Upwork можно найти исполнителей гораздо дешевле украинского рынка труда. Предположим, ты программист Java. Знаешь спринг, хибернейт, базы данных, работал с докером и ещё можешь пилить фронтенд.
В Киеве за такого орла-мужчину томные девы с чарующим размером груди будут буквально драться, лишь бы оффер принял. Но на сайтах фриланса гордых Full Stack разработчиков из Пакистана, Индии, Вьетнама etc больше, чем в Бразилии обезьян, и работать они согласны по очень сходной цене. На более-менее интересное предложение может откликнуться до тысячи (!!!) разработчиков. Готовы к такому конкурсу? Милости прошу во фриланс!
Можно, конечно, как я изучить совсем уж заумную штуку типа математической лингвистики, тогда конкурентов у вас не будет. Но и тут не без подвоха: как думаете, многим нужны новые языки программирования? То-то же! Я или нужен, тогда походи по рынку и поищи дешевле, либо не нужен вообще. Так что простои у опытного фрилансера — нормальное явление: нужно иметь кубышку на три-шесть месяцев. Для того чтобы перерывы были поменьше, необходимо шевелиться: писать статьи, выступать на конференциях и так далее. Вы думаете, зачем я эти статьи пишу? Потому что добренький — ага, сейчас!
Есть ещё одна проблема: сложную работу многие предпочитают делать у себя под боком. Я как-то подался на вакансию разработчика в дружественную компанию. Они читают мои статьи на английском, иногда обращаются за советом, но ... вакансия в Германии. Хочешь, говорят, приезжай. Из Украины мы не можем, чтобы ты работал: заказчики хотят наличия специалиста в их стране.
Более того, если вы захотите вернуться в офис, фриланс может оказаться минусом. Был такой случай: пригласили меня на работу, найдя по статьям. Поговорили, вроде всё здорово. Но потом тот, кто меня нанимал, пишет: «Извини, тебя взять не можем. Главный начальник против человека с длительным фриланс-опытом». Да, понюхавших свободы не все хотят — слишком уж независимые. Это ещё называют отсутствием командного духа, читай: прогнуть на бесплатные овертаймы нельзя.
Наш опытный слесарь может открыть свою лавочку и выбирать: чинить замки, прочищать унитазы или делать оптику разного рода. Второе, конечно, поинтереснее, в том числе и финансово, но это, если найдешь клиентов.
Ну что ещё можно: открыть свой бизнес, стать менеджером или уехать за границу. Но это уже совсем другая история.