Представьте себе гипотетическую ситуацию, когда вы оказались в другой стране и без работы, а 22го сентября к вам домой приходили полицаи и интересовались, где вы находитесь, и возращаться немного сыкотно, хоть и ничего незаконного не делал. В такой ситуации при поиске работы можно совершить такую глупость, как взяться за большое тестовое задание, ведь и вроде вакансия хорошая и за него обещали заплатить. Что же может пойти не так.
6 марта мне написала рекрутер:

Мы созвонились пообщались, мне предложили сделать тестовое задание, за которое обещали заплатить.

Вакансия здесь https://telegra.ph/React-native-developer-02-15-2
Задание находится здесь https://github.com/mytonwalletorg/test-tasks но на всякий случай сделал скрины.


Изначально мне показалось, что за неделю я набросаю работающий прототип и этого будет достаточно, чтобы они оценили мои навыки и приняли решение, и я приступил к выполнению. Однако одно из требований — переиспользовать кусок js кода и запустить его отдельным процессом оказалось сложнее, чем я думал. В react native, на который и была эта вакансия, нет воркеров, как в браузере или ноде. Об этом я узнал когда закончил с UI и принялся портировать логику, которую необходимо было переиспользовать. В итоге я потратил почти еще столько же времени перебирая сторонние решения. Пробовал пакеты добавляющие воркеры, которые заброшены уже несколько лет и работют только с какой то мохнатой версией RN, пробовал библиотеку liquidcore, которую даже запустил под андроид, но в итоге она тоже оказалась заброшенной и с кучей проблем, смотрел в сторону в J2V8 для андроид, но насколько я понял, она выполняет только чистый JS, а все запросы к апи окружения нужно реимплементировать самому (вообще за рамками тестового задания), потом наткнулся на nodejs‑mobile, который хоть и не идеален, но хотя бы не заброшен и запустился на андроиде.

В итоге я портировал необходимую часть кода, написал связующую логику между ней и сделанным до этого UI. У меня были сделаны экраны создания, добавления кошелька, главный экран со списком транзакций, бэкап 24 слов, и опциональные для этого тестового прием и отправка (иначе откуда возьмется список транзакций, который нужно продемонстрировать на главном экране, подумал я, и сделал их тоже).
Отправляю им результат.

На что получаю такой ответ

Очень сильно матерюсь, но стиснув зубы соглашаюсь добавить анимации переходов, всплытий и пр. Оказывается, пока я боролся с тем, как бы портировать их логику и запустить отдельным процессом, они добавили требование:

В итоге потратив еще 3 дня я отправляю им версию с анимированным интерфейсом.

Спустя несколько дней договариваемся о созвоне.

И за час до назначенного созвона я получаю вот такое:


Часть претензий возможно и объективна. Я действительно срезал какие то углы из‑за и без того большого объема работ для тестового задания (не выделил жирным какие то слова например). Но некоторые пункты — это опциональные фичи, согласно заданию, и я их не делал. Цель тестового — оценить умение писать код, а не сделать готовый к продашену продукт. Можно месяцами полировать детали, это явно за скопом тестового задания. А самое главное, что мы уже договорились о созвоне, и это просто скотское отношение, вот так отменять его в последний момент под надуманными предлогами. В итоге желания у меня с ними сотрудничать уже не было, я думаю, в процессе работы отношение там такое же, и я попросил обещаной компенсации.

Ответ, который я получил, вы видите выше. Я понимаю, что айтишка загибается, что программистов уже как собак нерезаных, да и вообще скоро гпт отправит нас добывать еду из мусорных контейнеров, но это все равно скотство, вот так эксплуатировать людей без работы, находящихся в уязвимом положении. Я мог бы потратить две недели интенсивной работы, чтобы откликнуться на сотню‑другую вакансий вместо этого.
Вывод, сам дурак, не нужно браться за тестовые, которые занимают больше 20минут, а лучше вообще не браться за них, особенно от этого работадателя. Не повторяйте моих ошибок.
Ссылка на код https://github.com/Tohntobshi/tonWalletRN
P. S. Прошу прощения за возможные ошибки, писал на эмоциях, еле сдерживаюсь от матерных слов в сторону данного работодателя.
Автор:
tohntobshi