Как стать автором
Обновить

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

А какой смысл этого задания? Определить качество кода? Необязательно для этого отводить 2 недели на написание бесполезной гостевухи.
Согласен - полностью бесполезный тест... тест для коддеров-студентов. Ну и что из этого теста будет видно? Качество кода... наверняка разработчикам нужен не только качество кода (для этого есть "специализированные" "рефакторщики"... а "разработчики" у которых "нормальное" мышление в области архитектуры.
Какое исполинское количество кавычек! Тут и специализированные товарищи, занимающиеся рефакторингом (а такие бывают? зачем? нафига?), и разработчики, которые не разработчики, и мышление у них какое-то странное. Я в прострации.
Отвечаю... :) какая хрен разница сколько кавычек... это к филологам, насколько я знаю здесь it-шники поэтому хорошо что не матом :)
насчет - рефакторинга - расскажу.... бывают... мало того наверно и здесь есть... наверняка знаю, есть фирмы которые занимаются только тем что рефакторят код (в основном индийских кодеров)...
Зачем... отвечаю. Ни одна уважающая фирма не примет заказ а потом не закажет ничего если код будет мягко скажем не после рефакторинга. Ну и последнее... сейчас столько развелось студентов бьющих себя в грудь что они крутые "разработчики"... хотя на самом деле понятия не имеют об организации архитектуры проекта... они умеют просто барабанить по клаве...
Вроде ответил. Я думаю эту дисскусию можно продолжать сколько влезет...
Отвечаю... :) какая хрен разница сколько кавычек... это к филологам, насколько я знаю здесь it-шники поэтому хорошо что не матом :)
насчет - рефакторинга - расскажу.... бывают... мало того наверно и здесь такие «экземпляры» водятся... знаю, есть фирмы, которые занимаются только тем что рефакторят код (в основном индийских … не знаю как назвать)...
Зачем... отвечаю. Ни одна уважающая фирма не примет работу, а потом - не закажет ничего, если код будет, мягко скажем, не после рефакторинга. Ну и последнее... сейчас столько развелось студентов бьющих себя в грудь, что они крутые "разработчики"... хотя на самом деле понятия не имеют об организации архитектуры проекта... они умеют просто барабанить по клаве... для них гостевую сделать не проблема… гостевых в и-нете валом, перпиз…ть код может каждый…
Вроде ответил. Я думаю, эту дискуссию, можно продолжать сколько влезет... ответ в другом – хороших developer – ов всегда не хватает.
Поскольку это задание для junior'a - то перед тестовым заданием стоит цель подготовить человека к реальным проектам, чтобы он смог подтянуть недостающие знания и притереться с коллективом...
а почему 80 часов? Это тестовое для junior junior developer или super junior developer. Тогда лучше ему книгу дать, пусть почитыет, как гостевухи делаються!
Это верхний потолок, т.е. 2 недели, - это первые две недели человека и зачастую это первая работа - человеку надо дать время на оклиматизацию и притирку к коллективу...
Конечно многие справляются за меньшее время...
Имхо, лучше сразу давать реальные задания по реальным проектам. При этом, его реализация никуда не пойдет, так как скорее всего будет не на том уровне, а просто удалиться. Но! это заставит его во-первых, общаться с коллективом, на предмет проекта, а во-вторых, сразу же вникать в проект. Ваша же гостевая, я думаю очень пригодиться очень начинающим пхпэшникам, которые хотят протестировать сам себя.
С таким же успехом можно дать вашему junior'у реальный проект в качестве тестового )
Что-бы потратить в два раза больше на исправление всего того что он написал?
Нет, с перенаправлением результата в /dev/null.
Представляю сколько гостевых книг вы уже собрали в коллекцию :)
Лично для меня первая часть (там где усное собеседование) показалось тяжелее. Мб потому что не заканчивал вуз по айтишной специальности.=))
устное*
Согласен, причем имхо первая часть порядка на 2 сложнее.
Порядка на 2?? Ужос. Там в вопросах собеседования кроме общей сообразительности ведь ничего не требовалось. Не удивительно, что большинство образованых людей дико ржёт, когда слышит слова "я - пхп-программист" :) :)
А я дико ржу, когда читаю такие каменты. Понятие «образованный программист» несостоятельно по природе. Я знаю кучу людей, обучавшихся на «программиста» и с умным видом кидающихся разными терминами, но которые не в состоянии написать простейший код, не то что продумать логику. А еще я знаю экономистов, которые пишут код на 3 порядка лучше «программистов», но при этом гугля каждый второй термин. И наоборот — немало знакомых экс-айтишников работают в экономическо-финансовой сфере, не зная абсолютно ничего об эконометрических моделях и прочей фигне, которой учат на экономических специальностях.
Касательно 2х порядков — я бы такую гостевуху написал за 80 часов даже не зная пхп, гугл решает. И для ее написания даже на высоком уровне не требуется и половины того, что спрашивается на собеседовании.
Да, да. Видел я таких горе-(удалено внутренним цензором). Копипастеры-коекакеры. И экономистов таких тоже видел, гы! Ещё таких водителей тоже много. Которые ездят, твари, по дорогам, абсолютно ничего не зная про пдд. Но зато на какую ширину они умеют растопыривать палтсы!..
А что сложного капчу писать?
Ничего. Просто в процессе написания капчи можно использовать весь арсенал своих извращенных знаний =) Алгоритмов изменения изображения можно придумать очень много.
Тобишь:
Zend Framework
captcha.ru
ImageMagick
Для тегов tidy или jevix.ru (прада он на PERL)
Для BBTags использовать квик такгз http://alexking.org/projects/js-quicktag…
ЛайтБокс можно использовать ;)
Попcовых красивостей можно напихать с http://visualjquery.com/1.1.2.html

PS: Тьфу, только сейчас увидел что задание для Junior
Для Junior задание супер, если у человека нет базового опыта он убьет много времени... если опыта много - сделает за пару дней ;) Класс!!

Соответственно три пункта из аннотации сработают:
---
* завершение испытательного срока и зачисление на работу
* продолжение испытательного срока еще на 2 недели с живыми или тестовыми проектами
* завершение испытательного срока и отказ в зачислении на работу
---
а зачем?)
Ну, да, за зарлату джуниура уж лучше сразу писать распозновалку каптч слабых.

Пользователь может использовать следующие HTML тэги в сообщениях

&lt; (<) и &gt; (>) вам в помощь. ;-)

А какую зарплату будет получать Junior PHP Developer?
Вакансия: водитель.
Требования:
1. Профессиональные навыки управлении
- легковыми и грузовыми автомобилями,
- троллейбусами,
- трамваями,
- поездами метрополитена и фуникулерами,
- экскаваторами и бульдозерами,
- спецмашинами на гусеничном ходу,
- боевыми машинами пехоты и современными легкими/средними танками, находящимися на вооружении стран СНГ и НАТО.

2. Навыки раллийного и экстремального вождения - обязательны, опыт управления болидами F1 - приветствуется.

3. Знания и опыт
- ремонта поршневых и роторных двигателей,
- автоматических и ручных трансмиссий,
- систем зажигания,
- бортовых компьютеров,
- антиблокировочных систем,
- навигационных систем (GPS) и автомобильных аудиосистем ведущих производителей - обязательны.

4. Опыт проведения кузовных и окрасочных работ приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, General Motors, а также справки об участии в крупных международных ралли не более чем двухлетней давности.

Зарплата 1500-2500 руб., определяется по результатам собеседования.
Анекдот забавный, но не в тему. Вот если бы кандидата заставили писать на связке PHP + FoxPro ... ;)
Упс, это должен был быть ответ paradoxs.
Хабр начал глючить?
Очень втему
ага, отличный пример, какие требования выдвигаются, к программистам, при приёме на работу!
давноооо, где-то читал )))
НЛО прилетело и опубликовало эту надпись здесь
имей уважение!
нет, ну не пидарас блин?
НЛО прилетело и опубликовало эту надпись здесь
угу.
просто обидно стало. не сдержался
Это ж какая зарплата должна быть в дальнейшем чтоб человек согласился 80 часов бесплатно пахать... Вы б хоть денег предлагали за такое задание вне зависимости от прохождения.
Испытательный срок оплачивается...
Тогда все норм)
... CakePHP может тогда использоватса? для ускореной разработки - подойдет... но с другой сторони... впрочем знание фреймворка тоже знание... но если ZF - стандарт, то можно и на нем...
Да-да. Я так прикинул, на Симфони это от силы часа 3 работы. А тут 80...
симфони... но системние требования ее то?
та что там) гостувуху поставишь - сервер ляжет)
а если серьезно, слышал от знакомых что на ней пишут, что в плане производительности страх. переписываю теперь проекты, которые на ней делались
вот-вот... а если сравнить сведения производительности CakePHP 1.2, ZF (можно еще и QCodo приписать, но не очень то надо... вещь хорошая, но есть свои плюсики и минусики...)

в принципе: CakePHP можно самому ядро урезать в неких местах... будет бистрей...
А почему только эти либы, почему например mootools нельзя?
jQuery вы использовали?
Чистая штучка) изящная
mootools, имхо, как минимум, не менее изящен..
Даааа, а как там приятно пишется меню, аж физически приятно становится ^_^
Очевидно в проектах компании используется только Jquery/Prototype и навыки владения mootools/mochikit/etc их не интересуют
Да-да, почему нельзя, например, использовать reCAPTCHA для тюринга?
определите для себя сначала что есть "тестовое задание", а что "испытательный срок"
это 2 разные вещи и испытательный срок проводится после заключения трудового договора и оплачивается как основная зарплата
А если джуниор за 5 часов это сделает вменяемо, что будете с ним остальные 75 часов делать? ))
прочитайте еще раз мой комментарий
прочитал.
Его похвалят и дадут еще 2 :-)
Пятнадцать
Слабенькое задание-то :)
Помниться мне давали задание на разработку простенькой админки гостиниц.
Правда я не должен был использовать фреймворки, должен был использовать mvc, а так же шаблоны (SMARTY|XSLT), а времени дали 16 часов (два дня).

Честно говоря, после прохождения у вас устного собеседования, такое тестовое задание, как-то слабо смотриться.
> Просмотр файлов должен сопровождаться визуальными эффектами (для примера можно посмотреть http://www.huddletogether.com/projects/l… )

Ну нифига себе у вас junior developer на испытательном сроке... Если человек пришёл обучаться и сразу же напишет подобную приблуду - это должен быть просто аццкий гик!
а что сложного то? создал див поверх и подгрузил туда данные
модель OSI, про которую узнавали в первой части, должна автоматичски дать знание JS библиотек =)
вообще мне тоже кажется, что на тестовый период лучше давать реальный проект.
Лучше то оно лучше. Но такое решение продиктовано именно опытом.
Часто приходят новенькие, им выделяют проект. Они его пишут. Плохо пишут. Потом приходится в истерике бегать и пытаться всё исправить.

Для написания настоящих проектов нужен опыт. А тут Junior.
гарантии, что после написания гостевой, появится именно тот опыт, который позволит делать качественные проекты в дальнейшем, все равно нет.
у нас на испытательном сроке идет работа над реальными проектами в паре с опытным разработчиком. и проверяем мы не способность человека что-то сделать самостоятельно, я способность быстро схатывать передаваемые ему знания, а потом применять их.

и испытательный срок естественно оплачивается.
Если бы мне потенциальный работодатель дал тестовое задание такого объема только для того, чтобы проверить мой уровень, без оплаты, я бы продолжил поиск работы.
Это задание даётся уже на оплачивемом испытательном сроке.
Увы, тест внимательности вы провалили.
Простите, но в таком случае Вам следует правильней называть топики в будущем. Для меня "тестовое задание" - это "тестовое задание", а не "задание, даваемое на испытательном сроке"
Вы провалили второй тест внимательности - я не автор топика ;)
А можно вопрос? а смысл всего этого? Вы собираете коллекцию гостевух? :) Может быть лучше дать нормальное реальное задание?
Я думаю если б требовался главный разработчик то тут бы было реальное задание на 2 часа и оно б было б намного сложней, а так чел делает гостевуху, он же начинающий! А гостевуху не так то сложно сделать. Я так понимаю главное чел чтоб сделал ее)))
И не забыть оплатить время, потраченное на выполнение этого задания.
Я как разработчик по себе знаю - если меня заставить делать какую-нибудь ерунду, которой никто пользоваться не будет, качество получится соответствующее. С другой стороны, когда делаешь для людей, лучше понимаешь ответсвенность. Я не верю что не найдется небольшого проектика или части большого проекта, который нельзя было бы передать молодому сотруднику на испытательный период.
хм, я думаю потом з/п надо минимум рублей 20 ставить :-) иначе человеку будет обидно, по себе знаю. я в одной конторе пищу решения на ajax и jquery, а платят копейки..да еще и зарезают.
Я бы тоже "зарезал" оплату человеку который пишет на "ajax и jquery". Ну а если вас не устраивает оплата, то можно ведь сменить работу?
20 рублей в минуту?
НЛО прилетело и опубликовало эту надпись здесь
Задание и правда не сложное. Можно даже сказать простое, и уж точно 80 часов на него многовато. У меня примерно такое же задание было для курсовой работы, и я его примерно за 4 часа сделал.
У меня при прочтении собеседовании и тестового задания не возникло никаких вопросов, хотя PHP занимаюсь чуть меньше месяца, правда раньше писал под .NET так что это тоже сказывается. Хотел бы я придя устраиваться на работу получить такие же задания.
Мне кажется написать более-менее вменяемую капчу и то сложнее чем гостевуху. А визуальные эффекты сторонних библеотек применяются с помощью гугла за 20 минут.
у нас попроще: собеседование, показ готовых проектов если есть и тестовое задание домой - меню, навигация для сайта, данные хранятся в базе, администрирование как то добавление пунктов, вложенные пункты, их порядок, редактирование...
обычно на следующий день приносят готовое, смотрим код, задаем вопросы и принимаем решение.
> Сортировка по умолчанию – LIFO.
Никогда не сталкивался, чтобы в терминологии базы данных сортировки обзывали LIFO и FIFO. Более органично звучит ascending (ASC) и descending (DESC).
Или это тоже часть тестового задания?
По мне так лучще всего принимать на работу человека, изучив его портфолио. У программиста всегда появляется какой-то объем наработок, которых как минимум не стоит стыдиться и до максимум - гордиться. Когда приходил на собеседования со мной долго никогда не говорили, принимали сразу - собеседования считали нужным чтоб установить визуальный контакт и т.п. просто пообщаться.
задание легкое(имхо)... собеседование было бы пройти труднее :-), хотя кому как :-)
для прохождение тестового задания, нужно внимательно прочитать требования, после чего воскликнуть "да вы ебанулись!".
тогда становится понятно, что кандидат не лох, его сразу берут на работу.
Ребята ребята.. Ну куда же вы смотрите с высоты своего профессионализма.
Вспомните что из себя как программист представляет Junior.
Неплохой выбор допустимых библиотек. В ZF есть большинство необходимого (DBAL, контроллер, валидаторы и проч.), из PEAR можно взять пакеты для captcha и HTMLSafe. А если человек не знаком с библиотеками, то 80-ти часов вполне должно хватить на ознакомление.
Ого) Интересненько, ядумаю я бы за 80 часов написал... естественно засел бы за задание за часа два до окончания сроков) Ато и меньше.
Вообщем как мне кажется надо убрать ограничение по срокам, это даст больше возможностей оценить быстродействие и отвественность тестируемого. а вот уже следующее задание дать ос сроками и графиком сдачи результатов(возможно даже пусть пишет кусочек, пусть не самый важный реального проекта). Там уже будет отработка умения работать по графику и все дела. Думаю таким образом будет более объективная оценка.
Кто-то похоже путает ТЕСТОВОЕ с полноценным... 80 часов разработки? Это 2 недели 8 часового труда. Откуда нормальный программист, который скорее всего и так РАБОТАЕТ найдет время на это "тестовое" задание? Вы не боитесь, что ваш потенциальный программист, который уже прошел ВАШЕ собеседование просто уйдет от вас при таких не слабых запросах? Вы ему медом намазали место что ли, чтоб он никуда больше не пытался устроится? Я бы не стал делать такое задание, это перебор.
Испытательный срок оплачивается, данное задание ничем не хуже "живых" проектов...
80 это многовато для данного задания, даже для junior'a...
Дабы более не возникало неразберихи - обновлю пост...
посвящается всем, кто здесь отписал "да я бы такое за два часа сделал":

не верю! (с)
Я тоже. Да постаянно наткнешься на какой-нибудь подводный камень и провозишься с ним больше половины времени. Или начнешь социальную сеть делать. Ни у кого чтоли такого не бывало?) Вроде кажет - да халява. А получается как всегда. Я думаю что число меньше 25 называть бы не стал.
Почему все так уверены что это плохое тестовое задание?
Оно конечно не сложное, но объемное. ИМХО самое то, что бы посмотреть на то как человек работает и справляется. Даже если вы и знаете как все это делать и вам кажется, что писать это 2-3 дня, это не значит что качество вашего кода будет отменным. Еще на таком задании, где человек сам от начало и до конца пишет код, можно посмотреть архитектурные способности человека, а это очень важно.
читаешь мои мысли :)

слово в слово практически, только писать лень было :)
Вы сдурели что-ли: тестовое задание на 80 часов? Если это время оплачивается, то это одно. А когда дядя просит тебя 80 часов поработать нахаляву, а потом ещё может быть 3 месяца испытательный срок, то это, извините, хамство.

Собеседование при приеме на работу потому и называют собеседованием, потому что так беседуют с будущим сотрудником. Ну бывает что просят показать код, который уже когда-то писался. А риски работодателя целиком покрывает испытательный срок в течении которого работодатель может уволить работника, если тот ему не подошел.
Мне кажеться это очень полезно, я как начинающий разработчик давно хотел бы проверить свои силы в чем то подобном. Обязательно сяду и сделаю посмотрим сколько часов займет.
PHP Zend Framework или PEAR
JS jQuery или Prototype

Ограничивать Zend/PEAR и jQuery/Prototype некорректно :-)
Я, например, люблю CodeIgniter и MooTools. Конечно, решить поставленную задачу и на далеких от сердца фреймворках достаточно просто, но человеку следует предоставлять более широкий выбор, нежели ставить четкие рамки.

Любые PHP и JavaScript фреймворки - так было бы лучше.

А еще лучше прибавить к заданию древовидность записей гостевой и вывод всех записей дерева одним запросом (тогда Junior узнает о Nested Sets) - это научит будущего сотрудника полезным вещам и еще на пару дней заставит задуматься :-)
Возмём на заметку... спс
насчет фреймворков — не согласен.

реальные задачи очень редко будут решаться "на чем дуще угодно". а так можно будет посмотреть насколько джуниорчик способен освоиться с (возможно, для него) новыми инструментами/технологиями.

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

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

да и, что греха таить, сам таким же был когда-то :))

насчет древовидной структуры — поддерживаю.
НЛО прилетело и опубликовало эту надпись здесь
Ужас какой. Положим, разработчику его времени не жалко, т. к. оно оплачивается. Но мне было бы жалко — потому что нет ничего менее кармичного, чем заниматься бесполезной работой.
Но вам-то не жалко оплачивать полмесяца такой ерунды? Если вы взяли человека на работу, пусть сразу работает. В опытном коллективе, на реальных задачах он проявит себя так или иначе — а вы, понаблюдав за ним и послушав отзывы опытных коллег, определите, насколько хорошо он осваивается с новой работой, насколько он будет хорош в будущем.
1. такой тест не может быть первичным тестом на приеме на работу. потому что см п.2.
2. человек не может бесплатно потратить две недели. ему а) надо есть, б) кормить семью
3. такого рода задания оплачиватся в обязательном порядке, так как такого рода объёмные тесты могут проводиться для людей, которые являются совсем потенциальными сотрудниками.
4. после такого теста "тестовый период" совершенно не нужен.
Перебор по объему! Картинки, кнопки - это лишнее. AJAX тоже - или сразу всё на AJAXе или уже без. Список framework-ов расширить.
Недели работы хватит с головой чтобы понять что за человек, не обязательно тестировать как он всеми технологиями пользуется, тем более это не так важно в итоге.
Как писал Joel - важно понять что человек толковый и доводит дело до конца.
ИМХО, задача слегка плосковата. Разные навороты и красоты - это копи-паст, немного ума и много терпения. А задача должна прежде всего всего отражать то, как мыслит человек. Еще Макконнелл писал, что прежде всего программирование происходит в уме, и уже потом воплощается в код.

Например, поставил бы задачу так. Есть некая XML выдача - предположим, каталог товаров. Соответственно, есть на удаленном сервере простейшие два документа - список всех товаров с такого-то по такой-то (запрос гетом) и подробная информация по товару.
Требуется разработать систему из двух компонентов.

Первый - парсер XML, заносящий информацию в БД. Запускается, допустим, по крону, парсит XML удаленного сервера и складывает товары в локальную БД.

Второе - простейший вывод этого каталога - список товаров (paging, N записей на страницу) и вывод информации о товаре.

Бонусный вариант №1 - сделать поиск по такому каталогу.
Бонусный вариант №2 - сделать обновление только части базы :)
Бонусный вариант №k - добавить к товарам категории :)

Кандидат должен сначала проработать схему системы на бумаге (или в Визио, как удобнее :) ). Изложить свое понимание, как должна такая система работать. Накидать структуру БД, обосновать свои решения, выбор типов полей. Т.е. сначала должен показать свое понимание задачи, продемонстрировать, видит ли пути решения, и если не видит, то что собирается предпринять (например не знает, что такое XML - гуглить, 1 час на понимание концепции).

Чем хороша такая задача - ее можно слегка по-разному ставить, и учить человека уже сразу:
- разумному подходу к разработке ПО
- учету масштабируемости
- умению принимать решение самостоятельно, и отстаивать аргументированно свою точку зрения
- и т.д., вплоть до основ оптимизации запросов
Админов на работу берёте?
$ apt-get install php-guest-book
Вполне осмысленное и даже полезное задание для человека, который пришел устраиваться на работу в самый первый раз, знания PHP которого ограничиваются тем, что он сам нагуглил/начитал в мануале. Чтобы не посылать его сразу, а дать подготовиться.

Студенту не нужно кормить семью, он вполне посидит и (даже с удовольствием) подучится. А если у него самомнения хватит заявить "не пошли бы вы, не буду нахаляву 80 часов работать" - значит, не так уже ему работа нужна.

Вывод: для студентов-будущих джуниоров - то, что надо.
Мне как тестовое задание дали написать полноценный калькулятор для полиграфии с кучей всяких условий, причем чтобы работал на ajax, а данные были в MySQL бд. Такой скрипт в инете стоит 20к руб. ВОт так вот :)

ps я принят на работу))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации