Java-программист в Петербурге. Обзор рынка труда с точки зрения соискателя. Часть 2/3. Подводные камни для «новичка»

в 14:47, , рубрики: human resources, java, job, метки: , ,

Часть 1/3. Какие бывают 'плюшки'.
Часть 3/3. Какие бывают работодатели. Характерные особенности.

Подводные камни для новичка

Первые подводные камни, вообще-то, могут начаться ещё на собеседовании — например, проект новый, процесс интервьюирования ещё не налажен, первый вопрос может быть “Do you have a printed copy of your CV?” от иностранного представителя, в общем, на вас в качестве одного из подопытных кроликов этот процесс и будут отлаживать. Ещё вас могут внезапно поставить на “конвейер”: пропустить через три стадии собеседования по часу с лишним каждая сразу. Проблемы это может породить, если вы не подготовились к собеседованию или если у вас на это день назначены ещё другие собеседования. Но это так, к слову.

Общие соображения

Во-первых, есть некоторая естественная склонность при возникновении непоняток (что там было про управленческие и коммуникативные навыки?), трений и, тем более, конфликтов с участием новичка истолковывать их не в его пользу. Даже если новичок прав, то всё равно есть причины чтоб его уволить: ‘менеджер не может с ним сработаться’, чел ‘не вписывается в неформальный корпоративный формат’ или ещё что-то в этом роде. Если “не сработаются” и со следующим, то через пару-тройку кандидатов с кем-нибудь сработаются или задумаются, а может быть «что-то в консерватории поправить». В общем, если вы кому-то из начальства (или “старожилов” из тех, к мнению которым прислушиваются) внезапно (т.е. это не всплыло на собеседовании) чем-то “не понравились” (ну, например, чем-то ему напоминаете неприятную ему персону, что вызывает у него постоянное желание подколоть или уязвить вас или продемонстрировать своё остроумие вместо чёткого и ясного выражения того, что от вас требуется), то, как последний довод, кого проще уволить — новичка на испытательном сроке, которому надо заплатить за три дня, или полноправного работника, которому надо при прекращении трудового договора не по его инициативе заплатить за два-три месяца и с которым уже как-то сработались (хотя ещё и вопрос — захотите ли сами работать с таким человеком?)? И если они за пару-тройку итераций всё же найдут кого хотят, то спишут случай с вами на “мало ли что бывает”. “Вершить (социальную) справедливость — не наш профиль, нас дела ждут”.

То же самое если начальник на новом месте говорит сам о себе (и о нём говорят) как о “бесконфликтном” человеке — это всего лишь толстый намёк на то, что если между вами возникнут непонятки и конфликт (ну, например: в самом начале работы над проектом ведущий разработчик, назовём его “Пётр”, описывает, какие плугины для IDE должны быть установлены, вы просите у него списать всю IDE с уже установленными плугинами, он вместо этого даёт полугодичной давности xml-файл с перечнем и web-адреcами плугинов, использованный им, вы в течение суток пытаетесь этот файл применить, у вас ничего не получается из-за того, что какой-то из плугинов больше не находится по указанному адресу, и этот плугин и все, что после него, не могут установиться, когда вы сообщаете об этом начальнику, он отвечает, что “Пётр” “не может посоветовать плохого”, и это у вас кривые руки), то виноватым заранее назначены вы.

Но может быть и наоборот — вы можете сразу произвести впечатление особо “перспективного” работника, которому, наоборот, дадут фору перед “не проявившими себя” давно работающими сотрудниками (например, вас возьмут на должность ведущего Java-программиста в web-проект даже при полном незнании вами языка Javascript (но с опытом использования GWT, при котором оно не необходимо)).

А при хорошем развитии коммуникативных навыков, в случае конфликта с менеджером есть шанс объяснить вышестоящему начальству, что неправ таки менеджер. Хотелось написать, что не проще ли сделать это до конфликта, но стало понятно, что до конфликта просто нет повода для обращения к вышестоящему начальству.

Во-вторых, замечена «дурная примета», что если в течение испытательного срока вам напомнили про то, что вы на испытательном сроке, то, скорее всего, он будет «завален». Подгипотеза — причина в том, что его прохождение, в общем, и не планировалось, точнее, планировалось процентов на 30-60.

В-третьих, то, что испытательный срок будет “завален”, обычно становится понятно недели через две-три: всё как-то странно идёт наперекосяк, и остаются непонятными элементарные вещи (как будто их специально удерживают в состоянии “непонятности”). Занимает такой заваленный испытательный срок обычно полтора месяца при «нормальном» стечении обстоятельств и два — при наличии фиксированной общей даты увольнений (подробнее коснусь ниже).

Встречавшиеся разновидности подводных камней

  • Руководство плохо понимает, что в техническом плане хочет

    Встречается, по идее, редко, но я на лично такое попал. Это был “затянувшийся стратап”, финансирование которого продолжалось по доброй воле его финансового директора, являвшегося параллельно одним из топ-менеджеров в одном агентстве недвижимости, для этого агентства эта фирма служила заодно и вместо IT-отдела. Фирма хотела написать КИС, хотели иметь для неё модуль GUI, который мог бы работать как и в качестве веб-клиента, так и в качестве «тяжёлого» приложения на Swing (понятия «Rich client» не знали тогда ни я ни они, было начало 2005 года). В конце концов я выбрал с качестве универсального промежуточного слоя некоторую обрезанно-модифицированную версию SwiXML. Не могли сформулировать что им надо в качестве базы — веб- или swing-версию. Я там был на этом участке как минимум вторым, после меня решили передать дело какому-то аутсорсеру из Москвы.

    Если бы я был опытнее, я, может быть и смог быстро найти и «продвинуть»/«впарить»/«втюхать»/«навязать»/«внедрить» им решение, но есть встречное подозрение, что если бы я был такой “вумный как вутка”, то бы я навряд ли польстился на ту вакансию;-). В прочем, спустя после увольнения месяц, из которого поиск работы занял последнюю неделю (остальные три недели — временная подработка), я нашёл работу на большую зарплату и с большей понятностью задач.

  • «Нужен человек на пять минут, чтобы его уволить»

    Несмотря на, на первый взгляд, некоторую абсурдность такой мысли, существуют, хоть и не совсем буквально так, несколько разновидностей подобного явления, по большом счёту две больших: 1) нужно временно занять кем-то место, чтоб потом перевести на него нужного человека или 2) заранее берут больше людей, чем планируют оставить. Первое может быть, например, когда в аутсорсинговой компании из-за сокращения рынка идёт массовое закрытие проектов, и вдруг удалось запустить один проектик: получилось «раскрутить»-найти заказчика. На проект берут одного “лишнего”, причём даже, по настоянию собеседовавшего менеджера, человека, который чуть-чуть не дотягивает до уровня вакансии, и потом всячески скрывать от него «жуткие профессиональные секреты» типа автоматического форматирования средствами IDE, полуавтоматического рефакторинга и прочего “причёсывания кода” ими же — чтоб дать человеку наработать негатива в личное дело. Вторая причина может сочетаться с первой и маскировать её.

    Такой «агрессивный кадровый отбор» может практиковаться и на постоянной основе — в частности, в некоторых IT-компаниях, обслуживающих интернет-тотализаторы: там нужны люди со специфическими навыками, которые, похоже, по мнению тамошнего начальства, выработать невозможно, а возможно только отобрать тех, у кого они уже есть. В таких компаниях увольнение тоже поставлено на конвейер, есть фиксированные даты массовых увольнений и хитрая политика делания предложений о работе: нужно, чтобы между предложением о работе и датой массовых увольнений было меньше (хотя бы на неделю) максимально возможного по закону испытательного срока — трёх месяцев. Если на работнике даже всего через три недели решили «поставить крест», ему просто перестают давать задания и могут держать в таком странном «подвешенном» состоянии все оставшиеся до даты массовых увольнений чуть ли не два месяца, официально не вынося всё это время фактически давно сделанное решение об увольнении.

    «Бонусом» к такому «кадровому конвейеру» идёт несколько “несправедливое” и вообще пофигистское отношение к новичкам: раз всё равно половину увольнять, тогда «если мы обидели кого-то зря» — то это мелочь на общем фоне. «Значит, вам не повезло. Значит, вы — неудачник. Идите вон! Неудачники не нужны „Корпорации“!». Если посреди процесса выполнения задачи, на выполнение которой отпущена неделя, вас вдруг заставляют мигрировать с тормозного компьютера, который вам дали сначала, на новый, иначе его отдадут в соседний отдел, при этом при миграции надо при этом скопировать ~100 GiB workspace'ов, и ещё параллельно осваивать на нём работу в Windows 7 после XP — то это как раз такой случай.

  • «Русский SCRUM, бессмысленный и беспощадный»

    Следуют не столько “духу” SCRUM-методики, сколько её “букве”, причём не везде, а произвольно, в основном тогда, когда это ситуативно наиболее противоречит духу и отрицательно влияет на результат. Команда набирается на 60-70% из людей, по SCRUM-методике до этого никогда не работавших и вообще из новичков. Успешно сочетаются недостатки «гибких» и «водопадных» технологий: от первых берётся малосерьёзное отношение к планированию — не него отводится очень мало времени: час на трёхнедельный спринт с разбиением задач на подзадачи не длиннее пяти, а желательно двух-трёх, часов (итого в среднем около 10 секунд на планирование одной задачи), от вторых — невозможность отступить от наспех напланированного и исправить ошибки планирования в течение спринта. Служит источником “косяков”, которые можно легко перевести на “кого надо” (с записью в личном деле), благодаря чему хорошо совмещается с практикой “брать людей с запасом” из предыдущего пункта.

  • «Рекуррентный» испытательный срок

    По окончании испытательного срока (да, полноценных трёх месяцев) вам говорят, что вы им не подходите, но можете уволиться по собственному желанию и тут же написать заявление о приёме на работу — вас возьмут. И так постоянно.

  • Недооцененные и «мутные» задачи

    Точнее было бы назвать этот подводный камень «hidden investigation abyss». Когда и объём работ и время, потребное для их выполнения, должны быть результатом отдельного, не предполагавшегося заранее, исследования, которое ещё нужно провести, и результат может иметь разброс раз в 10, ну или отличаться раз в 10 от того значения, которое выставлено при первоначальной оценке. Тут как раз имеется в чистом виде “плавающий косяк” (неизвестный вначале новичку). Может сработать упомянутый выше пункт про “непонятки и конфликты”. Когда на такую задачу “нарывается” работник со сформировавшейся хорошей репутацией, то ему скорее поверят, что задача была ранее неправильно оценена, чем новичку. Также, фактически, “старожилы” могут «выбирать себе задачи по вкусу», более формально — «расставлять для себя приоритеты», что делать в первую очередь, а что — во вторую. До третьей-четвёртой очереди очередь может так и не дойти: включающая её “над-задача” может быть перепланирована с выбором другого пути её решения, и тогда исходная задача исчезнет. “Старожилы”, стараясь всячески “отпихивать” от себя такие «мутные» задачи, могут быть и правы: дело имеет шанс обойтись workaround’ом. У новичка же есть повышенный риск «попасть» на такие «мины». Особенно “весело”, если у вас в плане на испытательный срок поставлено несколько задач по неделе каждая, и первая же, за которую вы берётесь, оказывается из серии «hidden investigation abyss»: эдак вы могли бы сделать к сроку три с четвертью задачи из четырёх, а так сделаете ноль с половиной задач из четырёх. Чтоб с честью преуспеть, тут (могут быть — как повезёт) нужны (не предполагавшиеся поначалу) менеджерские навыки: заранее оценивать задачи на обилие подводных камней (для этого надо иметь навыки разбиения задач, покомпонентной оценки рисков и прочего планирования), “пробивать” себе те задачи, которые менее “мутны”, аргументированно “соскакивать” с задачи или добиваться её перепланирования, если во время её решения вдруг выяснилась её “мутность”, “переводить стрелки” на смежников (типа постановщиков задач) и педалировать тезис, что они подставляют вас путём (провоцирования) срыва сроков работ, за которые вы поставлены отвечать. Если же у вас при этом по какой-то причине имеется личный “пойнт” на “бесконфликтности”, то в этом случае “у меня для вас плохие новости”.

    С другой стороны, «мутные» задачи — это и шанс;-). Шанс изучить новые технологии и приёмы (типа запуска ELF-файлов из-под Tomcat в МСВС на виртуальной машине — надо не забыть убить дочерний процесс через 5 секунд, что непонятно как сделать кроме как из специально запущенного параллельного потока), потренироваться в (овер-)инжиниринге типа написания фреймворков на аннотациях. Особенно если это не обернётся увольнением по причине непрохождения испытательного срока;-)

    Также «спихивание мутных тасков на новичков» вполне ложится в русло политики «кадрового конвейера» — «заодно», раз половину всё равно увольнять. Но с другой стороны, это можно рассматривать и как своеобразный вариант «боевого крещения».

    В случае «бессмысленного и беспощадного» варианта работы по SCRUM из предыдущего пункта тоже появляется значительное количество «мутных» задач, не только из серии «hidden investigation abyss», но в том числе и тех, которые слишком зависят от других задач (нельзя приступить разу, пока не решены другие), что может быть поначалу незаметно или преднамеренно не акцентироваться, и надо проявлять изрядную расторопность на том кратком этапе, когда исполнители разбирают себе задачи, чтоб тебе не достался подобный проблемный участок. Здесь тоже надо иметь некоторый опыт, которого поначалу обычно нет. Хотя, подозреваю, эта экзотика осталась в 2009 году и ранее.

    Пункт «Руководство плохо понимает, что в техническом плане хочет» тоже может считаться гипертрофированным вариантом данного пункта — до степени «ищем мидл-девелопера для выполнения задач ведущего архитектора». Но в общем, тут главное — не льститься на такие вакансии и уметь аргументированно и доходчиво объяснить людям, в чём они “хотят на грош пятаков” — могут и понять.

  • Общая “экзотичность” новичка.

    Редко, но… Если вы «неформатны» по какому-нибудь критерию, например, возрасту — вам за 35, то есть ещё один повод для предвзятости: стереотип «в 30 лет давно пора быть менеджером, а не кодером» и тем более «не искать работу иначе как по личным связям» ещё не выветрился, вы для некоторых превращаетесь в экзотического «лузера», которого «не жалко». Тут надо быть готовым больше чем обычно “себя объяснять”, “рвать шаблон”, “создавать свой имидж” и проявлять другие грани коммуникативной эквилибристики. С другой стороны — а оно стоит того, раз с самого начала такие непонятки пошли?

  • Более мелкие непонятки

    Из мелких менее опасных непоняток хочется отметить ситуацию, когда начальник, по его мнению, знает, как надо выполнять данное им задание, а вы имеете опыт в выполнении подобных работ и знаете, как сделать быстрее, но начальство не может оценить ваш метод. Например, надо сделать интернационализацию русского веб-интрефейса на JSP (~150 файлов) — вынести куски текста в файлы ресурсов и заменить ссылками на них, начальство не знает о существовании вордовых макросов и настаивает, что надо делать всё руками в «блокноте». Тут варианты могут быть разные — например, сделать как говорит начальство, или сделать как считаешь нужным сам, или сделать, как считаешь нужным сам но пока начальство не видит, или «защитить» перед начальством свой подход…

Если всё же не получилось

Когда фирма нанимает на одно и то же место пять человек подряд, и не один в итоге не удерживается, то это выглядит не так плохо (по крайней мере не так заметно), как если человек меняет пять мест работы и ни на одном из них итоге не удерживается. Если вы (или “вам”, но “крайним”, конечно, всё равно оказались вы) “завалили” испытательный срок, то надо думать, как это отразить на следующих интервью. Можно отразить в резюме этот эпизод трудовой деятельности, можно не упоминать (особенно если нет записи в трудовой книжке), можно упомянуть устно, на второй-третьей стадии собеседования, можно начать упоминать и в резюме, но не сразу, а через пару мест работы (их ещё надо получить!). Если не упоминать, то надо как-то объяснить, почему вы в это время якобы не работали (ага, уволился чел 22 мая во вторник — ни с понедельника ни с конца месяца — по собственному желанию, проработав год с хвостом, и что-то внезапно с 8 сентября ищет работу). Если при этом причиной ухода с предыдущей работы была низкая, по вашему мнению, зарплата (т.е. “ушёл с низкой зарплаты в никуда”), то придётся искать другое объяснение, в общем, решайте, что вам лучше: репутация работника, “завалившего” испытательный срок или репутация работника, склонного внезапно “с балды” бросать работу. Если работа отражена в трудовой книжке или вы по другой причине решили её упомянуть — то надо думать как объяснить причины ухода. Если, например, вас попросили написать “по собственному” из-за плохого качества вашего кода и потому что вы оказались лишним в команде (точнее, в команде был один лишний и поэтому качество рабочего процесса (в т.ч. и качество кода) намеренно “запустили”, и в итоге этим “крайним” оказались вы), а вы будете говорить, что ушли сами из-за конфликта в команде, то на вас прямо с этапа собеседования на следующее место работы будет наклеен ярлык “конфликтного”, что может отяготить прохождение испытательного срока уже на следующем месте работы;-) Потом (через пару мест работы, если придётся), “подтянув” качество кода, можно будет называть (устно) и “настоящую” причину.

И ещё один положительный, а для IT и Java особенно важный, момент непройденного испытательного срока — остаются знания о технологиях, приёмах, платформах и библиотеках, которые иным путём получить проблематично.

Нечто вроде вывода

Выше уже мелькала фраза про «боевое крещение». Это так — в случае успешного прохождения испытательного срока, потом будет проще (по крайней мере, будет какая-никакая положительная репутация). В общем, для успешного «боевого крещения» и преодоления стресса, связанного с встраиванием в новую структуру, требования вакансии желательно удовлетворять “на 146%”, быть “на голову выше” требуемой работы. Ведь требуемую производительность надо будет выдавать с учётом неожиданных рисков, непоняток, предвзятостей и прочих возможных мешающих и демотивирующих факторов. Для этого надо по крайней мере чуть-чуть быть менеджером: планирование и риски — это уже менеджерские компетенции.

Ещё пара советов. Хорошо бы, чтобы все даваемые вам распоряжения, указания, пояснения и ваши ответы на них были бы зафиксированы, а то сначала тимлид устно попросит вас закоммитить непроверенный код, а потом проектный менеджер скажет, что такого не бывает. И помните, что на вас ведётся личное дело, где фиксируются все ваши промахи — хотя оно и несколько предвзято, но откровенного проверяемого вранья или слишком оценочных суждений, выбивающихся из делового стиля степенью своей оценочности, в него писать не будут. Вам, правда, тоже читать не дадут, хотя было бы полезно знать, какое направление работы над собой было бы оптимальнее всего.

Надо также быть внутренне готовым к тому, что испытательный срок может быть “провален”, в том числе и не по вашей вине. В утешение можно сказать то, что обычно (более чем в 50% случаев) эта неприятность всё же не случается ;-)

Часть 1/3. Какие бывают 'плюшки'.
Часть 3/3. Какие бывают работодатели. Характерные особенности..

Автор: Flammar

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js