Он выглядит почти как настоящий...

May 05, 2021 00:55

        Бывшие коллеги попросили помочь им пособеседовать человека средних лет на вакансию программиста со средней по меркам Москвы зарплатой. Кандидат ещё на уровне чтения резюме вызывал некоторые вопросы: было абсолютно непонятно, что он делал на всех предыдущих местах работы. Всё, что было в должностных обязанностях, описывалось какими-то абстрактными понятиями типа миграции, конвертирования, внедрения. Хотя в навыках был указан весь требуемый банку стек технологий.
        Организовал телемост с Москвой (работавшей несмотря на все указания Темнейшего), поглядел на знакомые лица в масках, да начал просвещать человека, в какие ужасы легася ему предстоит нырнуть - за время моего отсутствия в проекте не произошло никаких значительных изменений. А после этого спросил, чем же он занимался на последнем месте работы. Ответ "проверкой миграции компонентов" меня не очень устроил, пришлось попросить слегка развить тему. Выяснилось, что какой-то внутренний веб-продукт переводили на новые компоненты (разработанные сторонней организацией), человек их устанавливал, и глядел, чтоб все формочки работали корректно. Удивившись, что для этого нужен целый программист, стал распрашивать про остальной опыт - и он почти весь оказался примерно таким же. И какой-то опыт реального программирования у человека был разве что в институтские времена в ранних нулевых.

Ладно, в банке не требуются особо сильные кодерские скиллы, но для порядка надо хоть что-то поспрашивать. Начали с крестов. Задаю простой вопрос "что такое деструктор и для чего он нужен". И начиная с этого момента моей главной задачей стало сохранить серьёзное выражение на лице (бывшим коллегам повезло, они хотя бы были в масках). И не разбить себе лоб ладонью. Про деструкторы мне рассказали, что они нужны для освобождения памяти. После просьбы привести пример использования, в онлайн-текстовом редакторе было написано что-то типа a.malloc(10) в конструкторе, и a.free() в деструкторе. Про разницу между malloc() и new было рассказано, что первый предварительно очищает память, второй - не очищает, но есть ещё calloc(), который заполняет память какой-то константой. До разницы между delete и delete [] мы даже не дошли. Потому что после мягкого намёка, что даже в современном C++ начала нулевых стараются обходиться без рудиментов C, а в трендовом C++ конца нулевых вовсю используют умные указатели, я услышал хоть что-то про реальный проект научных расчётов, где обходились без всей этой ереси и в 2015 году. На просьбе проанализировать элементарную функцию в один экран и с говорящим названием (на вход принимается строка и маска, на выходе - строка с применённой маской: f("1234567890", "(###)###-##-##") преобразуется в "(123)456-78-90") человек надолго завис, и умудрился забыть, как работает конструкция switch()/case. Пришлось аккуратно сворачивать дискуссию.

Впервые о фальшивых программистах я услышал много лет назад как раз от моего бывшего начальника в Самом Лучшем Банке, пришедшего к нам из какого-то крупного "бодишопа". Проекты в таких организациях делаются специально набранной под проект командой, где есть и архитектор/тимлид, и разработчики, и ответственные за тестирование/внедрение, и джуниоры на подхвате, могущие весь проект только выполнять какую-нибудь рутинную работу по прикручиванию формочек. И если в небольших организациях (хипсторы называют их "стартапы") человеку волей-неволей приходится осваивать все необходимые технологии и несколько смежных, то в большой фирме безынициативному человеку можно так и остаться "специалистом по прикручиванию формочек". Что не помешает ему потом в своём резюме записать серьёзные проекты, в которых он принял участие, указать весь(!) стек использованных технологий, и просить себе повышенную зарплату за большой опыт. Правда, радости от найма такого программиста не будет никакой.
        В реальности мне с такими людьми ни разу встречаться не доводилось. Даже те, к профессиональной компетенции которых у меня возникали вопросы, всегда могли хоть что-то сделать своими руками. А мне в данном случае осталось только скинуть бывшим коллегам сообщение "ну, вы сами всё видели", да немного порефлексировать.

Как говорится, "если вы в комнате самый умный - значит, вы не в той комнате". СамыйЛучшийБанк слишком долго был для меня этой самой комнатой. Где в профессиональном плане я мог расти только над собой. Где было трудно понимать уровень своей компетенции в профессии. Зато легко было профессионально деформироваться и начать считать себя умнее всех окружающих людей. Сегодня ощутил обратное чувство. За три года работы в "кровавом энтерпрайзе" с достаточно серьёзными входными фильтрами я стал считать, что вокруг у всех людей моей профессии уровень знаний примерно соответствует моему, а то и превосходит его. И если человек программист, то достаточно при каких-то совместных задачах в нескольких словах объяснить идею, а то и самому посоветоваться как лучше действовать в той или иной ситуации. Сегодняшний разговор напомнил мне, что всё в мире - относительно.

СамыйЛучшийБанк

Previous post Next post
Up