Re[19]: Собеседования. Найм программистов.
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.09.08 07:00
Оценка:
Здравствуйте, Кодт, Вы писали:

E>>Мне просто интересно, ответ "Нужно глянуть в справочнике" когда-нибудь в природе встречался?

E>>И если бы встретился, то к какой категории он был бы отнесен?

К>Бора с борометром уже упоминали, а этот ответ — тоже классика, кажется, Эдисон интервьюировал Эйнштейна.


Ну так как бы интересно: интервьюер, возомнивший себя Эдисоном, есть, а попадались ли ему кандидаты, мнящие себя Эйнштенами?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[12]: без гугла
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.09.08 13:04
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


Ну это очень вряд ли. С остальным согласен.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[14]: без гугла
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.09.08 13:05
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>А может оставим как есть и продолжим называть разработчиков разработчиками, а архитекторов — архитекторами?


А что, архитектор (software architect, речь, как я понимаю, именно о них) это не разработчик???
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[4]: Собеседования. Найм программистов.
От: _wqwa США  
Дата: 29.09.08 14:31
Оценка:
Здравствуйте, lollipop, Вы писали:


L> Ага. Самого раз отсеяли — незнал зачем крышки круглые (кто знает тот знает) . Ощущения — боль ... обида. Злость в первую очередь на себя. Щас зп больше чем там предлагали в 2 раза. Контора больше. Много бонусов. Интересная работа. Переспективы роста.

L> Спустя время даже благодарен что невзяли.

Вряд ли не взяли из-за этого. Я тоже люблю задавать подобные вопросы. Но в целом они мало влияют на оценку кандидата, и если влияют, то в положительную сторону. Т. е. я легко возьму того, кто демонстрирует умение программировать, но затрудняется с подобными задачками, но не наоборот. А если еще и с задачками легко расправляется -- это повод набросить уровень :-).
Кто здесь?!
Re[6]: Собеседования. Найм программистов.
От: _wqwa США  
Дата: 29.09.08 14:34
Оценка:
Здравствуйте, HoseCo, Вы писали:


HC>

HC>Почему крышки канализационных люков круглые, а не квадратные?
...

Ну всё, спалил контору!
Кто здесь?!
Re: Собеседования. Найм программистов.
От: ykota  
Дата: 29.09.08 20:53
Оценка: 10 (2) +1
Здравствуйте, msk78, Вы писали:

M>Ответ автору темы "в очередной раз о собеседованиях" (http://rsdn.ru/forum/message/3094939.1.aspx
Автор: mymuss
Дата: 09.09.08
)


M>Собеседования. Найм программистов.

M>(сильно не ругайте А ругайте несильно )

Сильно ругать не буду =)
Читать весь тред времени особо нет, но хочется прокомментировать, если повторюсь не обессудьте.

Начали вы очень здорово. Впечатлило. Потому что, стремление работадателя взять человека получше — действительно часто выражается в "найти поумнее, поспособнее и т.д.". Но я совершенно согласен, что человек который может следовать указаниям руководителя, проявляя __РАЗУМНУЮ ИНИЦИАТИВУ__ и то по большей части в research нежели development, который не гиперамбициозен, и нормально переносит рутину — принесет много больше конечной пользы, нежели философ-мегамозг. Обычно необходимый уровень хорошего исполнителя много ниже — запрашиваемого на собеседовании.


Но мой коментарий нацелен на указание следующих моментов:

1. "Мегамозг — это энтузиаст, который возьмет все и перепишет с использованием новейших технологий". Этот тезис вы использовали многократно. Но согласитесь — вы здесь пали жертвой шаблона. Это не мегамозг — это фанатик. Мегамозг — это человек, понимающий последствия всех принимаемых решений, и адекватно оценивающий требования заказчика. Это человек который способен обобщать и тем самым минимизировать работу. Человек накопивший достаточно опыта для того чтобы не наступать на известные "грабли". В общем, определение "мегамозга" — в вашей статье — очень слабое место. Потому что вы хотели разрушить одно заблуждение оперируя другим.

(Но нельзя не ответить, что люди строящие проектные команды иногда сами не достаточно профессиональны)

2. Over-qualification. Это то, что многие наниматели не берут в расчет. И это как раз та причина, которая толкает заскучавшего человека разнообразить свой рабочий день, переписывая "велосипед" на новый лад.
Re: Собеседования. Найм программистов.
От: Davader Россия  
Дата: 29.09.08 21:36
Оценка: 12 (1) +3
Полностью согласен! Добавлю свой коментарий.

Имея опыт работы в нескольких конторах над разными проектами на разных должностях могу сказать вот что:

1) 80% тасков "новонанятым" программерам — support или bug fix старого (!!!) кода, реализованного с использованием старых технологий. Чаще всего код писался теми, кто уже уволился (или перешел на другой проект) + код этот довольно посредственного качества, хотя бывают исплючения.
2) В 95% случаях никаких мега-математических способностпей, знаний алгоритмов соритровок и умения рещать задачи о Фудзяме ВООБЩЕ не требуется для выполнения этих тасков. А требуется вот что: разбираться в технологии, которая использовалась для реализации фичи (например ASP.Net 3.5, WinForms или PHP и т.д.и т.п.) и разбираться в ТЗ и бизнес-логике приложения. Для этого не нужен мегамозг. Нужен адекватный человек, который способен за конечное время разобраться в чужом коде, что-то дописать, что-то поправить и в итоге пофиксить ошибку, не сделав при этом новых багов.
3) "Обычный" программер, получив таск начнет его выполнять, особо не задумываясь ни над чем. Мегамоск же придумает массу "оптимизаций" кода, процесса разработки, предложит сделать полный рефакторинг, переписать код с использованием 145 паттернов, разбить архитектуру на 25 уровней и т.п. Мегамосгу скучно просто фиксить баг. Он выше этого. Если ему вовремя не дать по рукам, а позволить сделать хотя бы 10% от того, что он предложит, проект может уже и не выплыть.

Вернемся к собеседованиям. Почему-то самые адекватные люди оказывались в тех контрорах, где собеседования были без "домашних заданий", без написаний на бумажке алгоритма сортировки массива, без тестов на время и без прочей ерунды. И наоборот — самая ужасная контора была та, где с порога тебя садят за 2 сложных теста (C# и OOP), потом требуют быстро решить 2 математических залачки — написать на бумажке код программы, решающей их, а потом идет своеобразный "допрос с пристрастием"... Да, они найдут себе мегамозгов таким макаром, отпугнут "средних" программеров. Вопрос — стоит ли оно того? Я, кстати, прошел все тесты, но выбрал другую контору тогда — очень рад этому сейчас.

Как и msk78, могу привести ряд реальных примеров из жизни, подтверждающих данные факты.
Re[2]: Собеседования. Найм программистов.
От: msk78 Россия http://miccro.livejournal.com
Дата: 30.09.08 17:42
Оценка:
Здравствуйте, ykota, Вы писали:

Спасибо за хороший правильный комментарий.
Re[2]: Собеседования. Найм программистов.
От: msk78 Россия http://miccro.livejournal.com
Дата: 30.09.08 17:46
Оценка:
Здравствуйте, Davader, Вы писали:

Спасибо. Очень понравился Ваш комментарий.
Re[5]: Собеседования. Найм программистов.
От: minorlogic Украина  
Дата: 30.09.08 17:51
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Имхо, человек может забыть площадь круга только в том случае, если в свое время она была банально заучена, без попытки понять, откуда она берется.


я число Pi с кандычка то не выведу , не то что площадь круга. Нуууу может пользуясь приближениями , апроксимировать круг треугольниками ..
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Собеседования. Найм программистов.
От: Dirichlet Россия  
Дата: 30.09.08 18:14
Оценка: +3
Здравствуйте, Davader, Вы писали:

D>Полностью согласен! Добавлю свой коментарий.


А я совершенно не согласен.

Пара примеров из моей практики:

— Было некоторое приложение, которое мы саппортили. Периодически в нем повреждались данные, причем эту ошибку никто не мог стабильно воспроизвести. На этот баг было потрачено разными людьми в разное время довольно много времени.
Попалась эта проблема на глаза хорошему разработчику. За один день был составлен 2х страничный документ, описывающий логику обращения к этим данным. При составления этого документа было найдено 6 потенциальных проблем в коде (я имею ввиду реальные потенциальные баги, а не ошибки уровня несогласованного coding style), при обсуждении — еще 3. В тот же день код удалось отрефакторить, сократив количество потоков, которое обращалось к этим данным, с 5ти до 2х. На следующий день код прошел код ревью, тестирование и был проинтегирован в текущую версию. Результат — данные больше не повреждаются, функциональность работает.

— То же самое приложение, баг в логике в одной из фич. Опять же, удалось переписать всю фукциональность за один день. Код в итоге стал поддерживаемым, баг исчез. Дельта кода — 1200 строк кода удалено, 300 добавлено.

Посмотрел бы я, как "обычный" программер справился бы с такими задачами.
Мне некоторые руководители возражают, что решать быстро и качественно сложные задачи в разработке ПО не надо, что проект выплывет и так. Не знаю, не видел я проектов, в которых без таких девелоперов можно обойтись. Зато видел много проектов, похороненных из-за недостаточной квалификации девелоперов. Код разрастается так, что его невозможно понять, становится сложно что-нибудь изменить, не побоясь сломать половину функциональности. Темп разработки новых фич и фикса багов уменьшается, так как девелоперам нужно разбираться в плохом коде и ставить на него заплатки.

D> Мегамоск же придумает массу "оптимизаций" кода, процесса разработки, предложит сделать полный рефакторинг, переписать код с использованием 145 паттернов, разбить архитектуру на 25 уровней и т.п.

Если команда считает, что скорость разработки от этого увеличится — почему нет?

D> Мегамосгу скучно просто фиксить баг. Он выше этого. Если ему вовремя не дать по рукам, а позволить сделать хотя бы 10% от того, что он предложит, проект может уже и не выплыть.

Ээээ... это где вы таких находили?

D> Как и msk78, могу привести ряд реальных примеров из жизни, подтверждающих данные факты.

На самом деле хочется услышать примеры. Может, где-то есть другие проекты, в которых мозгам делать действительно нечего?
Re[3]: Собеседования. Найм программистов.
От: MescalitoPeyot Украина  
Дата: 30.09.08 18:41
Оценка:
Здравствуйте, Dirichlet, Вы писали:

D>Попалась эта проблема на глаза хорошему разработчику. За один день был составлен 2х страничный документ, описывающий логику обращения к этим данным. При составления этого документа было найдено 6 потенциальных проблем в коде (я имею ввиду реальные потенциальные баги, а не ошибки уровня несогласованного coding style), при обсуждении — еще 3


Скажите, пожалуйста, а какие именно знания помогли хорошему разработчику решить эту проблему? Знания алгоритмов сортировки или умение решать задачу о Фудзияме?

D>Зато видел много проектов, похороненных из-за недостаточной квалификации девелоперов. Код разрастается так, что его невозможно понять, становится сложно что-нибудь изменить, не побоясь сломать половину функциональности. Темп разработки новых фич и фикса багов уменьшается, так как девелоперам нужно разбираться в плохом коде и ставить на него заплатки.


Знакомо. Данный сценарий говорит не о недостаточной квалификации разработчиков, а о недостаточной квалификации тимлидов и менеджеров, которые неправильно оценили сложность проекта и квалификацию разработчиков
... << RSDN@Home 1 alpha 3 rev. 0>>
Re[4]: Собеседования. Найм программистов.
От: Dirichlet Россия  
Дата: 30.09.08 19:12
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Здравствуйте, Dirichlet, Вы писали:


D>>Попалась эта проблема на глаза хорошему разработчику. За один день был составлен 2х страничный документ, описывающий логику обращения к этим данным. При составления этого документа было найдено 6 потенциальных проблем в коде (я имею ввиду реальные потенциальные баги, а не ошибки уровня несогласованного coding style), при обсуждении — еще 3


MP>Скажите, пожалуйста, а какие именно знания помогли хорошему разработчику решить эту проблему? Знания алгоритмов сортировки или умение решать задачу о Фудзияме?


Предположу, что хорошие знания языка программирования и способов синхронизации потоков + умение понимать чужой код и писать свой + представление о теории графов и алгоритме топологической сортировки.
Re[5]: Собеседования. Найм программистов.
От: BulatZiganshin  
Дата: 30.09.08 19:57
Оценка:
Здравствуйте, Dirichlet, Вы писали:


D>>>Попалась эта проблема на глаза хорошему разработчику. За один день был составлен 2х страничный документ, описывающий логику обращения к этим данным. При составления этого документа было найдено 6 потенциальных проблем в коде (я имею ввиду реальные потенциальные баги, а не ошибки уровня несогласованного coding style), при обсуждении — еще 3


D>Предположу, что хорошие знания языка программирования и способов синхронизации потоков + умение понимать чужой код и писать свой + представление о теории графов и алгоритме топологической сортировки.


философию ещё забыл. без знания основного вопроса филосфии вообще труба
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Собеседования. Найм программистов.
От: Dirichlet Россия  
Дата: 30.09.08 21:09
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

D>>Предположу, что хорошие знания языка программирования и способов синхронизации потоков + умение понимать чужой код и писать свой + представление о теории графов и алгоритме топологической сортировки.


BZ>философию ещё забыл. без знания основного вопроса филосфии вообще труба

И где я не прав? Без чего-то из того что я перечислил можно нормально фиксить баги в чужом многопоточном коде?
Re[7]: Собеседования. Найм программистов.
От: BulatZiganshin  
Дата: 30.09.08 21:15
Оценка:
Здравствуйте, Dirichlet, Вы писали:

D>И где я не прав? Без чего-то из того что я перечислил можно нормально фиксить баги в чужом многопоточном коде?


представление о теории графов и алгоритме топологической сортировки.
Люди, я люблю вас! Будьте бдительны!!!
Re[8]: Собеседования. Найм программистов.
От: игппук Беларусь  
Дата: 30.09.08 21:48
Оценка:
я тоже репу чешу, зачем для синхронизации потоков нужно знать сортировку и теорию графов? логичнее предположить, что для этого нужно знать, какие объекты синхронизации используются, чем они отличаются и как их использовать.
проклятый антисутенерский закон
Re[9]: Собеседования. Найм программистов.
От: Dirichlet Россия  
Дата: 30.09.08 22:01
Оценка:
Здравствуйте, игппук, Вы писали:

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


Чтобы отловить deadlock, например, на 4х потоках и 4х ресурсах.
Re[4]: Собеседования. Найм программистов.
От: CreatorCray  
Дата: 01.10.08 12:42
Оценка: +1
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Скажите, пожалуйста, а какие именно знания помогли хорошему разработчику решить эту проблему?

Подозреваю что опыт
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[20]: Собеседования. Найм программистов.
От: Gradient http://www.x-trips.com/
Дата: 01.10.08 14:12
Оценка:
E>Ну так как бы интересно: интервьюер, возомнивший себя Эдисоном, есть, а попадались ли ему кандидаты, мнящие себя Эйнштенами?

Имеется пример из жизни:
Интервью на должность NET разработчика. Работодатель дает задачку

Ванна заполняется водой из крана за 5 минут, а опорожняется через слив — за 3 минуты.
За сколько опорожнится ванна, если открыть слив и включить кран?


И вот тут надо очень вниметельно смотреть на работодателя и угадывать, что у него было по физике в школе. Если на морде написано, что не больше тройки, то вычитаем из одной дроби другую — и тест пройден.
Однако, если работодатель похож на физтеховца, то говорим о зависимости скорости опорожнения от уровня воды, рисуем ванную, делаем допущения о размерах, набрасываем дифур, говорим что "решать впадулу" — и получаем все шансы занять вакансию
-----
Любимая фраза физика-теоретика: "Вот видите, мы ошиблись всего лишь на порядок".
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.