Как я делал тестовое задание...

Всем привет. Расскажу вам про поиск работы, потому что это достаточно интересная тема и в ней бывает множество забавных и не очень моментов.


В общем я программист, "пишу" игры на мобильные телефоны. Я разместил объявление и ожидал. Через некоторое время мне написали HR из разных компаний и выдали мне ТЗ(Тестовое задания). Одни попросили сделать игру за 3 дня, причем мне пришлось изучить полностью новое направление. Через 3 дня я им скинул файл игры, и они целую неделю рассматривали заявку ( в духе "мы ищем более выгодного соискателя"). Я начал делать ТЗ для второй компании, оно оказалось очень простым ( в первой игре я делал геймплей 3d surv-игры), от меня всего лишь требовалось сделать 2D гольф на двух игроков с простейшими правилами, с парой преград и горок. И попросили указать за сколько я справился. В итоге я сделал эту игру за 2 часа+2 часа потратил на всякие фичи чисто для себя и отладку. Скинул им игру. На след день попросили у меня код. Ну ок, подумал хотят проверить сам ли я писал. Спустя пару часов приходит ответ в мягкой форме "что чуть-чуть не хватило до приглашения на собеседование". Ну я человек простой, спросил что же именно не так в моем коде. Через 20 минут мне скидывают 15 пунктов. И результат мой 1 из 15. 1 из 15!!! Карл!!! Это же просто фиаско. В итоге я прочитал все эти 15 пунктов, из них 10 относились к названиям переменных и функций, что нет форматирования кода и прочее относящееся только к тому, как выглядел мой код. Да я даже трассировку из кода не убрал. И угадайте за что я получил 1 балл? За то что мой код работал в точности как указано в ТЗ. На мое негодование ответ был такой - "Вам было выделено 3 дня".


В общем подведем итог - не стоит думать что найти работу просто. И когда уже думаешь что все готово, то лучше доведи все до блеска. В противном случае можно столкнуться с очень привередливыми людьми, которые найдут причину обломать тебя.


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


Картинка не в тему, но что-то типо этого они мне и написали.

Как я делал тестовое задание... Работа, Программист, Непонятно, Скорость, Лень, Перфекционизм
2
Автор поста оценил этот комментарий

Ты вообще понимаешь, что они нанимают программиста? То-есть человека который пишет код. В команде с другими. Я думаю о всех кандидатах они более менее уверены, что игру они напишут. Вопрос как. 


Я что это вобще такое - свободный стиль? Это как?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

знаешь, не во всех конторах делают игры командами большими это раз. Во вторых если они хотели чтобы я показал навыки командной работы надо давать задание похожего типа, или сразу обозначать такое. Свободный стиль? Ну когда ты не задумываешься над стилем написания. Делаешь максимально просто и понятно

показать ответы
1
Автор поста оценил этот комментарий

я не пойму, что значит тратить кучу времени на форматирование кода. У каждого языка есть свои style-guides. У каждой команды есть свои дополнения к ним или в корне другие правила, но они есть. Хороший разработчик, хотя бы в этом, пишет так как надо с самого начала. Называть переменные t,t2 - это уровень школы. Всегда, даже когда ты пишешь для себя ты должен думать, что код кто-то прочитает после. Это как догма. Просто видно опыта у тебя еще немного и, конечно, это не проблема, со временем ты будешь тоже писать на автомате красивый код. Но не стоит недооценивать силу стилистики. Я бы не взял на в команду разраба, который наплевательски относится к тому, что он сам же пишет.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

ты вообще понимаешь суть задания которое мне дали? Сделать игру. Да я писал максимально быстро, но это не говорит о том что в проекте, который делают несколько десятков человек я буду писать так же. Просто нужно понимать когда есть смысл делать код по шаблонам, а когда можно сделать в свободном стиле. Лично я бы не стал делать змейку или гольф используя все что знаю, лишь бы доказать что я так могу. Я сделаю максимально быстро и эффективно. Если от меня бы потребовали "продемонтрируйте ваши познания написав игру гольф и бла бла бла" тогда да, я бы посидел день два и выдал zip с десятком файлов, содержание которых вызвало бы у работодателя оргазм.

показать ответы
1
Автор поста оценил этот комментарий
С таким подходом не берись за Питон - у тебя ничего работать не будет :)

А в ТЗ никогда не упоминают отдельным пунктом соблюдение стиля и форматирование.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

в ТЗ вообще не упоминается код) Требование было - игра. И указать срок выполнения. Не более. Поэтому и негодую.

Автор поста оценил этот комментарий

И не одну с тех пор. Давно дело было

раскрыть ветку (1)
Автор поста оценил этот комментарий

В общем разочаровался в работодателях, не умеют четко ставить цели. 

Автор поста оценил этот комментарий

Я так не думаю. Уж очень примитивная игра была. Они просто мудаки

раскрыть ветку (1)
Автор поста оценил этот комментарий

Вот и я тоже такого мнения. Ты работу то хоть нашел?)

показать ответы
Автор поста оценил этот комментарий

С кодом. Я же написал, что они код оценили

раскрыть ветку (1)
Автор поста оценил этот комментарий

Мне тут байку рассказывали что таким образом работодатели игры делают :D через таких доверчивых, которые код присылают)

показать ответы
Автор поста оценил этот комментарий
Компания не Playrix случаем? Был у меня с ними похожий случай. Сделал тестовое задание, реализовал игру с достаточно тупыми правилами. Пришла от них оценка.


Все аккуратно, по делу, ничего лишнего. Код хороший. Но, в то же время, есть вещи, которые можно улучшить:

Нужно сделать так, чтобы играть стало интересно.

Сделать эффекты более плавными, более интересными.

И т.п.

Причем слово "интересно" употреблялось в каждом замечании. На мою просьбу формализовать требования они ответили, что они так ставят задачи и мягко послали лесом.

раскрыть ветку (1)
Автор поста оценил этот комментарий

не, другая компания. В твоем случае ты им кидал просто игру? Или код запрашивали тоже?

показать ответы
Автор поста оценил этот комментарий

"Ищем программиста C++ со знанием 3D-анимации и китайского языка, медицинским образованием и опытом работы на гильотине на круглосуточную ставку. Обещают даже иногда платить. Что-то. Может быть".


https://youtu.be/1LuyZ7ZdOow?t=45s

раскрыть ветку (1)
Автор поста оценил этот комментарий

я думаю такой найдется в Китае, опыт работы на гильотине правда будет проблемой)))

2
Автор поста оценил этот комментарий
По поводу "чуть-чуть" согласен. Но ты делал тестовое задание и должен был понимать, что у тебя попросят код. Вся суть тестового не в том, чтобы сделать как можно быстрее и в соответствии с ТЗ, а в том, чтобы показать свои знания и навыки, а они видны в коде. Я однажды наступил на такие же грабли: сделал задачу полностью, но не стал париться с оптимизацией, рефакторингом, и в итоге пролетел. Я ее потом переделал, но было уже поздно - первое впечатление обо мне было испорчено.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

ну обычно когда просили код до этого они так и говорили. В большинстве случаев от меня требовали игру или уже на собеседовании пытали всевозможными вопросами что да как. Это как незваные гости, а ты в трусах и сонный.

1
Автор поста оценил этот комментарий

Мужик, ты видно еще молод и глуп и не видал больших... проблем. 

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

ну так я делал не только им ТЗ. + какой смысл тратить кучу времени на форматирование кода, когда в задании его не запрашивали.

показать ответы
3
Автор поста оценил этот комментарий
В нормальной команде за такое сильно пинают. Обычно спецы пишут код сразу согласно привычному стилю и даже не думают о таких мелочах.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Код то читаемый, даже названия переменных не содержат матов, а то был коллега который называл функции матами, переменные матами двухступенчатыми. И когда приходилось ему объяснять где у него ошибка в .... ну ты понял короче)

1
Автор поста оценил этот комментарий

Извиняюсь, но если эти пункты вас смешат - вы говнокодер.

"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете" — Martin Golding

раскрыть ветку (1)
Автор поста оценил этот комментарий

они меня смешат в том плане, что я сделал игру за 2 часа из 3х дней. И в мыслях не было что они еще и код будут смотреть. Просто сам подумай - гольф, на 2х человек. Это и обезьяна написать может. Тем более изначально первой строчкой написано "укажите сколько вам потребовалось времени". Вот я и решил что сделаю быстро. Форматировать текст не было времени и желания. Если работодателю нужен быстрый результат, тогда я не вижу проблем. Код читаемый. Повторюсь, то к чему придрались было последствием скорости. Естественно для коллег я бы не стал писать код без комментариев, а то мало ли

показать ответы
3
Автор поста оценил этот комментарий
Скажу как программист программисту - вам правильно ответили и по существу. Программист в первую очередь пишет для своих коллег, и чем чище код, тем легче его понять другим разработчикам. Поэтому такой "разносол" в стилях, обфускация переменных очень затрудняют понимание кода.

То, что программа работает в соответствии с ТЗ показывает лишь то, насколько внимательно вы его прочитали и обдумали. Остальное показывает ваше отношение к будущим коллегам.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну так соль была в том, что изначально они и не просили код. Была четкая задача сделать игру, я и сделал за максимально короткий срок. Если бы изначально в ТЗ было написано сделать игру и прислать код для проверки я бы тогда дня 1.5 поделал может быть. Сделал бы по всем правилам. НУ вот серьезно, ты думаешь я бы стал тратить 1.5 дня своего времени чтобы вылизывать код, когда в запросе его даже не было? Мне мое время важно. Меня просто бесит лицемерство. Когда пишут что чуть-чуть, а по факту всего 1 пункт из 15.

показать ответы
3
Автор поста оценил этот комментарий

Дали 3 дня. ТС сделал быстрее при помощи паттерна (наверное), но положил хуй на рефакторинг и отправил работодателю нечитаемый говнокод. Любой работодатель сразу пошлет в пешее эротическое за такое.

раскрыть ветку (1)
Автор поста оценил этот комментарий

ну почему же паттерн то сразу? просто сделал за 2 часа. У меня изначально в ТЗ написано сделайте игру. Нигде не было указано что им нужен код. А код был читаемый, просто в пример строчка "public Text t,t2", в тз нужно вывести счет одного игрока и второго. Мне пишут что непонятные переменные.


вот кусок из пунктов, которые больше всего смешат)

Оформление кода - 0 из 5

· Нет единого стиля кода (-1)


· Имена функций, классов, переменных то с большой, то с маленькой буквы (-1)


· В коде присутствуют ненужные закоментаренные куски (-1)


· Нет единого форматирования в стандартных конструкциях (например блок if) (-1)


· Присутствуют как сильно разряженные куски кода, так и сильно сгруппированные. (-1)


· Написанный код реализует работу игры соответственно ТЗ (+1)

показать ответы