Русский
Русский
English
Статистика
Реклама

Алгоритмы и написание кода на собеседованиях полезно, но необязательно

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

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

Кажется, проблема лежит глубже, и все смешалось в кучу.



О многомерности вопроса собеседований


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

Во-первых, какие бывают области разработки ПО? Вспомним миры Джоэла Спольски. Уже это будет давать разные требования к собеседованиям.

Во-вторых, что за компания? Стартап, big tech, галера, веб-студия, интернет-магазин, или контора с IT-отделом, где основной бизнес другой?

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

Далее, какие цели и какого собеседования? Бывают собеседования для поточного набора, бывают поиски звезд, бывают поиски людей с конкретными навыками работы и опытом в технологии, и так далее.

О роли пути в профессию


И, конечно, не стоит забывать про культуру. Знаете, в музыке или в науке есть особое разделение на своих и остальных. Типа, есть у тебя образование профильное и стандартный путь, или нет (в музыке это выражается в обучении более 10-15 лет: ДМШ училище консерватория, к примеру). И мне, имеющему опыт без музыкального образования выступления на сцене с профессиональными музыкантами, хорошо знакомы вопросы ты что заканчивал / у кого учился, которые выделяют своих от остальных.

Программисты получают образование в области CS. Нередко многие из них проходят отбор через олимпиады, где решают специализированные задачи. Учат тонну матана и разных других дисциплин в том числе уже набившие оскомину структуры данных и алгоритмы.

Думаю, немалая часть противостояния лежит в том, что часть программистов имеют профильное образование и считают тру программистами тех, кто прошел схожий с ними путь. А другая часть самоучки (вспомним знаменитое Google: 90% of our engineers use the software you wrote (Homebrew), but you cant invert a binary tree on a whiteboard so fuck off.).

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

Какие предварительные выводы?


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

Считайте, как поступление в вуз все сдают математику и физику, готовятся к экзаменам (и потом успешно забывают к концу учебы тут, правда, замечу, что поступал до ЕГЭ и у нас в каждый вуз были свои типовые задачи и по ним готовились отдельно). Возможно, за этим есть A/B тесты бизнес-подхода к набору, где алгоритмы наиболее эффективно определяют качества человека (способен ли тупо физически выучить все, может ли думать так, как думают будущие коллеги), который будет успешен в компании.

Если в компании АльфаБетаГамма (название выдумано) работают с Джавой и нужно знание нюансов всего стэка, то будет разумнее спрашивать пет-проекты или нюансы по технологии, ибо нужен будет опыт.

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

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

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

Немного о пользе алгоритмов


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

Со временем, изменил свое отношение, и считаю, что это как школа. Ты тупо впитываешь знания, полученные лучшими умами за прошлые десятилетия. Чтобы понять, и если потом нужно будет быстро нагуглить или написать самому. Стал испытывать удовольствие, когда прорешал N задач на Codewars, и прочитав на русском + проработав упражнения отличной книги Питон и алгоритмы (всем рекомендую, есть еще на английском).

Поднимается самооценка, когда в общении с коллегами знаешь такие термины. Плюс ощутимо развивается мозг, который познает новое. После этого даже взялся за два пет-проекта (на Джанго и node.js), возможно, выложу на Хабре и в опен-сорс, как доведу код до смотрибельного состояния, чтобы в комментариях не сильно распекали.

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

Рано или поздно, начинается граница, для которой нужно иметь некий запас знаний и навыков (например, в играх математику, работу с графами, памятью, рекурсией и тд; в data science, как хорошо недавно писали линейную алгебру, статистику + системы аналитики), которые придется освоить.

И лучше сделать это по кайфу и размеренно, в рамках собственного развития, чем, как пишут, насильно и имея два набора знаний для работы и для собеседований.
Источник: habr.com
К списку статей
Опубликовано: 11.12.2020 20:11:43
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Программирование

Управление персоналом

Карьера в it-индустрии

Собеседования

Программисты

Сеньоры

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru