All streams
Search
Write a publication
Pull to refresh
0
@Loferread⁠-⁠only

Software Dev .Net, BA, Solutions Architect, MCTS

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

Кто платит, тот и музыку заказывает. Это без вопросов :) С таким подходом, проще нанять специальных мальчиков/девочек, которые за денежку работодателя хочешь алгоритмы выучат, хочешь стриптиз станцуют, хочешь спинку потрут, хочешь будут обращаться Хозяин, чего изволите…

Но вопрос темы то другой: практический смысл, достоинства и недостатки
Не можешь формально описать простейший алгоритм, который сам (физически, руками) исполнял множество раз — какой ты программист?

Это и есть. на мой взгляд, ключевой вопрос.
Передача знаний, обмен опытом. Умение декомпозиции задачи или решения… не важно.
Алгоримы сортировки создавались с конце 19 века. В 50...60 годы 20 века теория сортировки отрабатывалась и оценивались алгоритмы не одним математиком и не 5 минут, которые выдают на собеседовании.

Сейчас люди, которые не изобрели ничего нового в этом направлении математики «дрючат» других людей, которые не сталкивались с этим направлением математики постоянно. Дрючат за то, что у них хвататет мозгов посмотреть сначала в справочнике готовое решение, а не изобретать велосипед? А-ля «а нафига мне будут гуглить ?!»

А почему бы тогда не добавить вопросы типа: схема разводки платы для микропроцессора? Мы же кодим на этом процессоре! А рассчитайте диаграмму направленности для WiFi антены? Вы же по ней Http запросы то гоняете! Ну ладно. это мы загнули, давайте попроще: сколько тактов выполяются команды процессора? А как же вы будете оптимизировать софт ?!

Мне удалось поработать с не плохими конструкторами по железу-механике.
Они сказали одну очень любопытную штуку по принципам проектирования, которым их учили (в рамках сравнения с программированием и обменом опытом):
  1. я должен знать граничные условия функционирования моего изделия
  2. я помню не большое количество «типовых решений»
  3. я всегда помню, что есть справочники, куда специально обученные люди внесли необходимую мне информацию о материалах и их физических и химических характеристиках
  4. если типового решения нет, я могу придумать свое «типовое решение»
  5. моя задача как конструктора используя типовые решения и справочные материалы применить весь свой опыт, справочную информацию так, что бы решение было достаточным для указанных граничных условий

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

Так что вопрос с короной — очень актуален.
Ну вообще-то гиперзвуковое и кинетическое оружие (типа рельсотрона) на этом и основано — не успевают просто отреагировать и перехватить.
И сбить — означает в лучшем случае «раздробить» на мелкие кусочки. Есть вероятность. что даже сгорит в атмосфере, если будет размером со щебенку. иначе вместо 1 куска крупного, упадет 3 чуть помельче и рядышком…
Путём незначительного увеличения бюджета на поиски, значительно уменьшаем расходы на обучение нового сотрудника.

Эмпирические выводы, на основании практики лет за 10 — чудеса случаются крайне редко. Люди не идиоты и примерно представляют сколько «стоит» их вакансия. Получается в итоге, что сопоставимый «сервис» предоставляемый кандидатами, стоит сопоставимых денег для Клиента/Работодателя. +- х$ на зарплате кандидата съедается зарплатой Hr, Техлида и упущенной выгодой, пока искали «еще дешевше».
Возможно в других экономических реалиях будут другие выводы.
А с точки зрения «техспеца», который выставляет счет за «красивый код» — выгоднее «красивый код.» Его экономика/бумажник основан на «красивом коде». Соответсвенно и подбирать нужно окружение под «красивый код». Иначе в чем разница? Иначе выльется в «научи бобра борщ варить и до свидания ...» с точки зрения бизнеса.
Вы вот сами не видите разницу между говнокодом и нормальным кодом?

Это «эмоциональная оценка». Должно быть какое-то метрическое объективное измерение, в том числе и «экономическое»
При выборе между «говнокодом» который будет стоить будет стоит 10 денег и «классным кодом» ценой в 30 денег, если оба позволят «заработать» 100 денег выбор очевиден. Это будет «говнокод» за 10, а не «красивый» за 30.
Выбор кандидата ограничен и таким параметром, как «цена поиска», а она должна быть меньше чем:
  1. цена обучения нового кандидата
  2. бюджет поиска нового кандидата. иначе перебирали бы 7 миллиардов
  3. горизонт планирования


Если первый кандидат покрывает ваши потребности, зачем вам еще 10?
я так понимаю, что IntelliSense в Visual Studio вы тоже выключаете? а чего оно «само гуглит»?
С точки зрения бизнеса, судя по ответам, так и есть. Зачем договариваться с «равным», если можно выбрать угадавшего наиболее близко «наши внутрение стандарты», работающего не «из-за денег», а постоянно кодящего «for fun» :)
Слушайте, ну по какой политике мой пулл реквест в транк эликсира может подпасть под NDA?! Или библиотека, которая просто csv пережевывает?

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

Вы сделали это находясь на рабочем месте, используя инфраструктуру работодателя, находясь с ним в трудовых отношениях и получая за это зарплату.
Значит все, что вы сделали в этот момент может быть в рамках находящихся под NDA c Работодателем или Клиентом-Работодателем, а повторно используемые куски кода автоматические провоцируют правовые коллизии.

Например: вы выложили свой кусок кода на публичный ресурс, одновременно используя его в каком-то Продукте1. После ваш «публичный» кусок кода к себе вставил Некто, в Продукт2. Некто находит аналогичный кусок кода в Продукте1 и подает в суд на вашего Клиента, а Клиент выставляет претензии вашему Работодателю, как «укравшему код».
Объясняться вы будете ооочень долго.
Прецеденты? К примеру Rambus со стандартами памяти которые делали все, но запатентовала первая Rambus.
написать что-то работающее с использованием незнакомой технологии.

Почему вы решили, что кандидат не знает? Не указал в CV?
Скорее нет. Наоборот, выбор реализации кандидатом — это возможность поговорить и о его причинах, и о других путях. Что даёт представление о владении материалом в принципе.

А собеседование без «тестового задания» это не покажет за минут 5 общения?
Если человек в 100-200 строчках нарушил каждую букву из SOLID

А с какого хр… SOLID стал последней инстанцией, за нарушения заповедей когорого полагается «хорошо, но потом сжеть на костре» ?! Это же набор рекомендаций и не более.
Предположим, что все вызовы запихнули в один интерфейс Web Service. Это хорошо или плохо? С точки зрения SOLID — ужасная ересь. А с точки зрения бизнеса — отличная штука ибо не нужно нанимать нового админа и нету нового гимороя с оркестрацией.
В противном случае это просто «карго культ» SOLID, а не взвешенное решение, на основании объективных метрик.
Заметил пару аргументов «за» тестовое задание:
  • Если изучим код кандидата и если он «хороший», то и програмер хороший.
  • Если человек готов «вложиться на энтузиазме» в изучение новой технологии, то и програмер хороший, обучаем и т.д.


А если попробовать рассмотреть эти два аргумента немного с другой точки зрения?
  1. Что значит «хороший код»?
    Для этого нормальная компания регламентирует свой «Code Style v xx.xx» и регламентирует дизайн в рамках выбранных технологий для проекта.
    Код кандидата будет с таких же позиций рассматриваться или абстрактного «красиво»?
    Именование в «непонятной логике» — плохо?
    Стратегия обратки ошибок «непонятно» — плохо?
    Для простого примера из 5 классов кандидат навернул еще 10 классов что бы впихнуть все популярные шаблоны проектирования это оценить как?
    Кандидат идиот, который сделал избыточно для «простого примера» или грамотный специалист, который предусмотрел в коде все, вплоть до марсианского летоисчисления?
    По идее нормальный кандидат это тот, кто будет следовать CodeStyle и дизайну приложения и при случае аргументированно объяснить «почему можно/нужно сделать лучше».

  2. Что значит «вложиться»? Выучить API? Смысл ?! Это показатель краткосрочной памяти и не более. Возможно скорость гугления.
    Если что-то сложее чем «наваять форму» вроде что-то для Sharepoint / CRM / Service Bus / DB и т.д. то дома или не должно быть лицензий или куча виртуальных серверов, да и развернуть инфраструктуру для такого «простого теста» это далеко не 5 минут.
    Эмпирическая оценка изучения «новой технологии» в смежной области занимает 1...4 недели. Компании выгоднее взять адкватного обучаемого кандидата и прокачать его.
    Диффузия знаний — через месяц всех уравняет.


Как это «оценивает» тестовое задание, тем более если методология оценки «красиво / правильно / достаточно вложился» субъективна и кандидату не предоставляется? Не понятно.
во втором — меньше часа.

Оценка результирующего кода тестового задания тоже чего-то «стоит».
То есть вам нужен интроверт, возможно нарцисс, желательно с не очень обширными социальными навыками общения, который компесирует это сосредоточеностью в программировании и при этом должен разделять ваши «ценности»? Ну да… практически идеальный объект для манипуляций :)
Знакомые «личности» :)
Само по себе задание в принципе не сложное. Ничего сложного нет.
Вопрос в том, что перечень «а покажи что умеешь» очень специфический и узконаправленный, можно было бы сократить перечень раза в 2..3 точно.
А ответ на вопросы можно было бы получить раз в 10 проще задачей.
Похожую задачку присылали лет 8 назад. Сделал просто что бы «размяться», а большую часть заменил «заглушками» не пригодными к «практическому» применению.
как всё-таки решить задачу клиента, за которую он уже заплатил.

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

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

Юридические основания? Аудит проекта и счет за судебные издержки за клевету и разрушение деловой репутации такому «клиенту». Сам получил «звание» Неадеквата/Сложного Клиента и т.д.
Интересно, много кто мелкомягким диктовал, какой офис им нужен…

… и довыеживались до ISO/IEC 26300 ODF формата с последующими требованиями в тендерах.

Information

Rating
Does not participate
Registered
Activity