Про типа-работу

В общем, я уже довольно давно ищу работу, при этом крайне желательно, чтобы она была по фрилансовому контракту, ибо у нас частное предприятие.
Где-то в январе месяце подал я заявку на очередную вакансию. Довольно скоро мне пришёл ответ, давайте, мол, общаться. Напишите-ка нам функцию на PHP и отправьте по электронной почте. Ну, думаю, ладно, странно это как-то. Написал, отправил.
Теперь, говорит HR, напишите ещё одну функцию таким же образом. Ладно, написал, отправил.
А теперь, говорит, будет настоящий кодинг-тест. Ну ладно, сделал кодинг-тест как положено на Гитхабе, отправил.
Да, говорит, всё хорошо, ты прошёл, будет звонок с другим HR'ом. Хорошо, звонок так звонок. Звонок состоял примерно в следующем:
— Привет.
— Привет.
— Сколько денег хочешь?
— Столько-то. За час.
— Хорошо, пока.
Я почти не преувеличиваю.
После этого был разговор с чуваком, который представился моим будущим боссом. Говорили о разном, о PHP, о Laravel, о рефакторинге, о платёжных системах, — в общем, расстались довольные друг другом.
И они замолчали больше чем на месяц.
Потом мне написал ещё один HR, уже третий, который сказал «Ойц! Ты знаешь, у нас тут пертурбации, компании сливаются, тех эйчаров, которые с тобой говорили, уже нету, бо уволились, — в общем, ты ещё заинтересован?» Ну да, говорю, заинтересован.
Окей, говорит, скоро приступаешь.
Ладно, подписал контракт, приступаю.
У вас, говорят, неделя онбординга (если что, неделя — это очень, ну просто оооочень, катастрофически мало!). За эту неделю нужно было написать малепусенькую API-интеграцию. Я справился за два дня, потом остальное время правил коммиты, потому что у них какое-то гиперстранное отношение к коммитам: очень важно, чтобы каждый коммит был осмысленным, потому что они не сжимают все твои коммиты в один перед вливанием в основной код, как это делается у большинства людей (так на моей прошлой работе было, так во многих опенсорс-проектах, я сам всегда так делаю), а вливают все твои коммиты в основной код по одному.
Ладно, фиг с вами, золотые рыбы. Это они назвали онбордингом, хотя никто никому никого не представил (см. ниже), только CTO (техдиректор) рассказал, типа как у них всё устроено, причём всё — это было в основном про то, как писать коммиты и как писать ежедневные планёрки-дейлики (да, здесь они не говорятся словами через рот, а пишутся, причём их формат я тогда вообще не понял, а нормально словами мне его объяснила проект-менеджер потом уже). Если что, формат такой, обязательно три пункта: что ты делал; что ты будешь делать; что тебя блокирует (ну например, нет куда-то доступа или нужна чья-то помощь).
Ладно, пошла вторая неделя. И тут меня рандомно направляют в команду совсем другого чувака, которого я в глаза не видел. Опять же, коммуникации ноль, никто ничего никому не говорит, типа-босс (менеджер) вообще не приходит в Слак, не назначает один-на один или, как это часто называют, приветственный кофе — ну такая встреча, где разговаривают о том о сём, о работе, жизни и всём прочем. Тут — тишина. Вот тебе задача, иди решай.
Задача, чтоб вы понимали, перелицевать с Фигмы (это такая дизайнерская штука, типа Фотошопа для веб-дизайнеров современная) модальное окно в CSS. Я, конечно, никому не говорил, что я незрячий (может, зря, но столько было отказов…). В итоге, побарахтавшись какое-то время, я сказал в открытую, что я не могу гарантировать визуальную привлекательность проекта. На что мне было сказано «А я думал, ты фулл-стек». Я, может, и фулл-стек, но я нанимался на совершенно другую вакансию.
В итоге поговорил я с тем чуваком, с которым интервью проходил, и перевели меня в его команду. Тут задачи… нет, Фигма тоже есть, но он мне сказал не париться, типа главное код напиши нормально.
А теперь для тех, кто понимает:


  • 3000 строк — это маленький файлик. Те, с которыми я работаю, 12000 строк PHP и 20800 строк JavaScript;

  • Если файл PHP, это не значит, что в нём нет здоровенных кусков JavaScript и HTML, которые выводятся просто echo;

  • Если файл JavaScript, это не значит, что в нём нет каких-нибудь магических массивов, в которые подставляется какой-то HTML;

  • Если у вас есть пустой span или div, это не значит, что он пустой, — это значит, что где-то через третьи руки зарыт какой-то вызов, где он чем-то заполняется;

  • Если у вас есть вызов переменной в PHP, будьте готовы, что эта переменная находится внутри функции, а значением этой переменной тоже является уже анонимная функция строк эдак на восемьсот;

  • Если у вас есть функция «Перевести сообщение» (да, там типа есть многоязычная поддержка), то в неё нужно зачем-то передавать дополнительные параметры, не имеющие никакого отношения к переводу;

  • Если вы видите jQuery-код, то на самом деле это не jQuery, а ender.js;

  • Если что-то обёрнуто в try…catch, то исключение ловится так: …) catch (Exception $e) {}. Как следствие, в браузере ошибок нет даже на локальной машине, в логах ошибок нет, нигде ошибок нет, надо (как-то!) использовать отладчик. А отладчик останавливается на всех исключениях, которых там видимо-невидимо;

  • Если вам сказали, что нужно изменить какую-то маленькую вещь, будьте готовы, что вы увидите повторяющийся буква в букву код в шестнадцати местах. при этом если вы удалите это всё, то ошибок не будет, но и работать тоже ничего не будет;

  • Конечный продукт практически недоступен для пользователей скринридеров. Недоступен так, что даже я не везде могу эту доступность нормально приляпать.


При этом, повторюсь, коммуникации нет никакой, парное программирование отсутствует как класс, разговоров в команде нет вообще, ни по работе, ни тем более за жизнь. Вплоть до того, что мне приходилось спрашивать у менеджера, кто такая вот эта дама, а кто вот этот чувак. Вообще-то обычно, повторюсь, команду друг другу представляют, а ещё бывают созвоны если уж не ежедневные, то раз в неделю, минимум в две точно.
И тебе никто не хамит, никто не отказывается отвечать на вопросы, но… ты абсолютно и совершенно один на необитаемом острове, а вопросы можешь задавать телеграммой, телеграф работает.
Документация тоже как бы есть, но это куча путаных страниц в Confluence, на которых никак не описана архитектура проекта. Более или менее документировано новое приложение на Laravel, которое должно стать в итоге основным, но мои задачи не по нему.
Я не против был бы, если бы моя задача состояла в разгребании этого всего и в рефакторинге кода. Но нет, мне нужно просто налепливать заплаты на вот этот ужас.
И один тикет, который я считал суперпростым, мне уже завернули, потому что я что-то не учёл в этом чудовищном бардаке.
И честно, я не знаю, что делать, я в растрёпанных чувствах. С одной стороны это работа, она есть и это хорошо, нам, вероятно, удастся немного финансово выдохнуть. С другой стороны… вся эта обстановка так выматывает, что выходных ждёшь как праздника. С третьей стороны, спроси меня в лоб, что не так, я даже не знаю, как именно ответить, кроме вот этого отсутствия коммуникации в команде. Код лапша — так он много где лапша, увидеть более или менее чистый код штука довольно редкая (и кстати да, теперь я понимаю и полностью прочувствовал ещё один плюс фреймворков — они заставляют писать код так, чтобы его можно было потом поддерживать, ну или делают для этого всё возможное).
В общем… реально не знаю. Уже хотел обратиться за помощью к ойремагии, но даже не знаю, чего толком просить.

Настроение: По крайней мере завтра выходной

Метки: РаботаПрограммирование


Рейтинг записи:  2

Комментарии 1

Ностиэ Эленсуле

Невозможное возможно

Не нравится работа - ищи дальше. Мы же обсуждали это. Будь готов к тому, что с фрилансом так будет много где, на это теперь надо обращать внимание на интервью. Типо ты принимаешь заказ-тикет, оказываешь услугу, получаешь гонорар, о чем с тобой разговаривать каждую неделю и, тем более, день? В этом месте ещё очень даже приличный контракт. А не к душе - так не на всю жизнь.


Менелион Эленсуле

Aiya Anar, i elen Ardava, i elen ancalima!

Контракт да, очень вкусный, это правда. Многое позволяет, во многом развязывает руки.
Надеюсь на то, что удастся прорваться через первую стену, а там будет легче.


1


© Разработка, заклинания и дизайн — Ностиэ & Менелион Эленсуле, 2010 — 2024