Pull to refresh
0
0
Send message
Почему?

Ну, вы просите пример масштабного решения с кодом, что представляет собой готовую реализацию некоторой архитектуры, а это, соответственно, может восприниматься по-разному, в том числе и неэтично, например:
  1. Если кандидат подписал договор о неразглашении при устройстве на работу
  2. Может быть оборотная сторона: информацию и реализацию (или часть) от кандидата получат и всё (не потому что она плохая или с кодом что-то не то). Такое очень часто бывает с немаленькими тестовыми задачами на удалёнке. Наслышан, что есть такие фирмы, пусть и немного, но дураком себя никто чувствовать не хочет, поэтому многие опасаются
  3. Не исключено, что таким образом новый возможный работодатель захочет проверить надёжность соблюдения кандидатом договора о неразглашении


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

А может это свидетельствует о том, что кандидаты не сделали и не придумали ничего нового? Я, конечно, могу ошибаться, ибо это моё субъективное мнение.

Я бы, например, никогда не стал рассказывать детали реализации проектов по причинам:
  1. Подписал договор
  2. Если я ценен этими знаниями, то делиться с ними до совершения сделки (устройства на работу) — глупо


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

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

В этом случае всё будет зависеть от кандидата. Если ваша вакансия не принципиальна, то зачем тратить время на описание задачи и условий, поскольку при масштабных задачах их описание может отнять значительное время у кандидата, нужно же всё вспомнить и т.д. + сомнения по поводу кода, которые я описал выше. В связи с этим есть вероятность, что хороший кандидат просто забьёт на вакансию.
Да и вы должны быть в курсе той области, к которой относилась задача, иначе нет смысла: вы конечно прочитаете документацию и комментарии к коду, но не факт, что сможете оценить правильность и оптимальность решения.

Отнюдь. Во-первых, далеко не везде есть свои подходы. Во-вторых даже при установленном сверху код-стандарте все равно каждый пишет по-своему. Разбиение на единицы кода, документация, именование (не на уровне префиксов, а на уровне семантики) — стандартом это можно навязать, но нельзя проверить, поэтому каждый все равно делает так, как привык.

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

Телефонный звонок и/или skype — это дополнительный оверхед помимо собеседования.

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

Для этого есть задача на собеседовании, которую никто не отменяет

Да, конечно.

У вас, я смотрю, на собеседования очень много времени

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

Вообще у всех свои методики проведения собеседований, они могут быть субъективны, базироваться на опыте собеседующего и т.д. и т.п… Каких-то строгих правил проведения нет.

Я не говорю, что это плохо спрашивать код, написанный в рамках работы на прошлого работодателя, но, на мой взгляд, это субъективно (собеседуем только тех, кто показал код: так можно многих хороших разработчиков пропустить) и может быть не совсем этично.
Тем, что не позволяет оценить какие-то масштабные решения за разумный срок.

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

Примеры кода — неэтичны и всё равно не всегда могут дать полную оценку или вообще оценку уровня, поскольку, для того, чтобы оценить масштабные решения принятые кандидатом, нужно, чтобы кандидат предоставил пример кода, рассказал постановку задачи, ограничения на реализацию и т.д., и то архитектурно решение, которое он выбрал, т.е. описал принцип реализации. Код и архитектурное решение неразглашаемы — раз.
Во-вторых, даже если всё будет известно, но специалист работодателя не касался данного направления разработки, то вряд ли он сможет объективно оценить профессионализм и знания кандидата, и в любом случае это будет не быстро.

Посмотреть на привычки в кодировании.

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

Это все требует личного времени собеседующего специалиста. А оно очень дорогое.

Сколько длится собеседование 2-3 часа? Даже при заработной плате в 100 килорублей в месяц это где-то 600 рублей в час, а значит 2000-3000 рублей за собеседование. С учётом того, что в случае успеха кандидат потом работает 2-3 месяца на испытательном сроке с чуть меньшей заработной платой (на 5-10 тысяч меньше) и не получается «кидков» как в статье, то компания ничуть не проигрывает.

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

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

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

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

Зачем примеры кода до собеседования? Убедиться в том, что человек, что-то понимает?
Для этого проще позвонить и провести с ним предварительное интервью по телефону, задать вопросы, не зная ответы на которые, ну вообще никак, и по результатам разговора уже приглашать на собеседование или сказать о несоответствии.
Есть, наконец, skype, там можно и на кандидата посмотреть и на его экран и, следовательно, на процесс написания им примера кода (с устными его пояснениями), решающий поставленный собеседующим вопрос. Если удачно, то потом уже обычное собеседование.

Человек, которому нечего показать, наводит на нехорошие мысли.

Почему не пригласить на собеседование и не попросить «показать» знания на тестовой задаче. Можно сделать набор задач разного уровня сложности и требующих большего кол-ва знаний.

А так работодатель, ставящий такие рамки: программировать в любую свободную минуту, любить программировать (интересно как это доказать), просящий примеры кода (возможно от прошлого работодателя), не проводящий толком собеседование, не поддерживающий дисциплину в коллективе, не проверяющий трудовую (всегда можно получить на нынешнем месте работы копию) и диплом (можно в ВУЗ позвонить) — тоже наводит на нехорошие мысли, нет?
Человек не может научиться программировать, не имея собственных проектов

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

Что же получается, если потенциальный кандидат свободное время посвящает семье, а не программированию и своим проектам, то он вроде уже и не любит программирование и, как следствие, не соответствует?

А теперь смотрите какая может быть ситуация.

К Вам устроился разработчик, удовлетворяющий всем требованиям (любит программирование, делает свои проекты и т.д.). Но так как он занимается помимо работы своими проектами, то, соответственно, у него накапливается усталость (она накапливается даже если он разрабатывает что-то своё, что ему действительно нравится), и, как следствие, он начинает работать менее продуктивно, что сказывается в дальнейшем на рабочем процессе и сроках, качестве разработки и т.д… Хотите сказать, что Вас это устраивает?

P.S.: человек должен отдыхать, отвлекаться от того, что связано с работой, и только тогда он будет выдавать всё на что способен.
Трудовую всегда можно новую завести, правда придётся повозиться с восстановлением записей, в которых всё нормально.
> Я всецело посвящаю свое время программированию для моего текущего места работы. Но так как там очень большая секретность — никаких примеров исходников я вам не вышлю

А что забавного в этой и предыдущей приведённой Вами фразе?

Если работаешь 8 (9, если включить обедом) часов в день, тратишь по часу — два на дорогу до работы и столько же на обратную дорогу: заниматься своими проектами некогда. Дома в первую очередь семья и отдых.

Чтобы трудиться качественно и в нужном темпе на работе нужно отдыхать, так что времени на свои проекты не остаётся при всём желании. Можно, конечно, найти время на свой проект, но при этом пострадает семья (грохнете свою личную жизнь) и эффективность работы (потеряете авторитет, тупо от усталости перестанет работать голова и пропадёт желание что-либо делать).

А показывать код, который ты писал для прошлого работодателя по меньшей мере неэтично: он за него заплатил, плюс ко всему при устройстве всё чаще встречаются договора, в которых есть пункт о неразглашении выполняемых задач, что подразумевает то, что никакой конкретики разработчик сообщить не может, если, конечно, он порядочный человек.
Я, честно говоря, не в курсе чем они живут, но судя по новостям стараются сотрудничать со многими компаниями, особенно это проявляется в организации различных конкурсов. Платных функций насколько помню там нет.
А Дневник.ру случайно не похож на мечту?
Ну, хорошо что было. В 6 тоже было, единственное, что указать надо физический имеющийся файл, например тот же .aspx и всё обрабатывается. Естественно, в 2003 году не думали о том, что в 2011 будет ASP.NET MVC с которым может быть недопонимание.

Я нелогичных моментов пока не встречал, наверное везёт :)
Это также просто делается на IIS 7 и 7.5. И на 6 тоже должно работать, если есть физически указанный файл.
А такое (то, что описано в примере) было реализовано в nginx в 2003 году? Хотя какое там, согласно википедии первый публичный релиз вышел в 2004.
Абсолютно согласен. Заболевание «кривые руки» широко распространено и кросс-технологично.
Почему-то статья стала компроматом на Microsoft и на технологии и продукты разработанные этой компанией. ASP.NET и ASP.NET MVC хорошие и качественные технологии, если использовать их с головой и руками, растущими откуда надо.

Хочу обратить внимание на то, что автор не просто хочет выдать страницу с 404 ошибкой, но и залогировать, обработать индивидуально каждый тип 404 ошибки и события (не найден товар и т.д.), которое привело к ней, именно поэтому требуется немного кода. Особо не вдавался в детали реализации, но уверен, что реализация на других платформах также потребует написания кода и вероятно далеко не меньших размеров.

Также автор использует IIS 6 версии, отсюда часть проблем. А теперь давайте вспомним в каком году он появился на свет? Да, именно, в 2003 году, т.е. 8 лет назад, а ASP.NET MVC 3.0 в этом году. Естественно, будут какие-нибудь проблемы.
Это так кажется. Я недавно скачал WebMatrix, посмотрел, что доступно, и решил развернуть Orchard на локальном IIS'е. Интуитивно жмякая на кнопки добился результата за минут 15.

Это просто руководство получилось большое, но как говорится: глаза боятся, а руки делают.
Может «дискриминация» вконтакта — это показатель отношения разработчиков вконтакта к разработчикам и владельцам других ресурсов? Как ты к людям, так и они к тебе.
Ну, не то, чтобы давно: где-то года 3 назад. Как раз поставил, сейчас буду удивляться.
Класс! Решение буквально в 10 строк, демонстрирующее всю мощь данного математического пакета, на мой взгляд, незаменимого для науки инструмента.

P.S.: И спасибо, что напомнили недалекое прошлое, когда используя матлаб для расчётов и построения графиков, я написал нехилый диплом и поступил в аспирантуру. Прям руки зачесались поставить его вновь и применить его для решения одной старенькой, для меня, задачи.
Вы ошибаетесь в том, что killer feature может привести к массовому переходу. Я писал о пользователях выше, могу добавить ещё:
1. Есть пользователи, которым перейти не позволяет железо;
2. Есть пользователи, которые довольны.

Кстати, чем вам не нравится «современный»? У многих продуктов и ОС в том числе нет этого вашего «ВАУ», но с течением времени при появлении возможности пользователи на них переходят, потому что они современны и лучше по сравнению со своими предшественниками.

Кстати, вы неправы и тут:
«в данный момент не более 30% компьютеров могут быть оснащены им»

Могут быть оснащены больше 30%, просто этого пока, наверное, нет. Хотя бигмир как бы не весь интернет.

То, что 60% пользователей Windows сидят на версиях 10 летней давности и не собираются переходить на новую версию ОС совсем не означает того, что Microsoft лопухнулась (как это хотят представить многие), это вполне свидетельствует о том, что уже 10 лет назад для своих пользователей они сделали хорошую ОС, которую пользователи не хотят ни на что другое менять (кто бы что не говорил). ОС у них всё равно остаётся Windows и, когда они будут переходить, перейдут на Windows, потому что она для них себя уже зарекомендовала, потому что она им удобна, а не потому что «ВАУ». Удоство — это один из главных козырей.
Осталось только добавить, что некоторые продукты до сих пор обновляются каждые полгода не имея «ВАУ» и повышая номер версии, пытаясь дотянуться до уровня, когда требуется не полная смена ядра, а всего лишь три сервиспака за 10 лет.
Я просто подумал, что вдруг у вас ИЕ9 имеется. А так согласен с вами, даже если это и так, то конечного пользователя это будет волновать в последнюю очередь.
Интересно, но processexplorer'ом не пользуюсь и качать только для посмотреть не хотелось бы. Не могли бы вы привести хотя бы пару тройку компонент, которые использует процесс. Был бы крайне благодарен.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity