Як одна думка того, хто запитує зразки коду під час оцінювання кандидатів, є кілька функцій високого рівня (зміст коду) та кілька особливостей низького рівня (структура коду). Особливості високого рівня:
- Ідентичність : аромат коду. Якщо ви виставляєте рахунки як кодер UI / HCI, я хочу бачити гарний вигляд / відчуття чогось візуального, коли запускаю його. Якщо ви будівельник БД, я хочу побачити щось цікаве з поданням даних або їх аналізом. Зразок повинен бути чим ви пишаєтесь . Якщо у вас немає хоча б одного з них, у вас немає особи.
- Зрілість : чи зміщуєте стратегії для різних проблем? Ви вирішуєте цікаві проблеми? Чи легко легко поширити код або підхід до подібної проблеми? З іншого боку, я відчуваю, що дивлюсь на члена вантажної культової комуни?
- Спілкування : Чи легко код пояснює, що він робить і чому? Це не означає, що код повинен бути простим. Насправді, це бонус зробити складний код легким для розуміння.
Аспекти низького рівня простіші:
- Стиль : Код повинен бути чистим, послідовним (дотримуватися деяких встановлених вказівок) та добре задокументованим.
- Упаковка : Повинно бути, як мінімум, коротка література, версія, яку можна виконати та тести на виконання. У readme слід сказати мені, як запустити останні два, а також чому ви демонструєте саме цей зразок коду.
- Мова (мови) : Я зазвичай прошу когось проби з мовою на посаду, а також того, в якому вони відчуваються найсильнішими. Дає гарне уявлення про поточні стелі людини.
Для хорошого кандидата я розраховую, що зразок буде: A) Непромокальний невеликий зразок або B) Хороша частина більшого цікавого проекту (наприклад, модуль з персональної репортажу Github). Я очікую, що це будуть особисті проекти чи академічні проекти. Якщо вони надсилають один із платного проекту, я очікую, що вони отримали дозвіл на його використання. Якщо я не отримаю цієї ноти, я виріжу їх з кандидатів (слабкий кандидат) або запитаю про це під час співбесіди (сильний кандидат). Не маючи дозволу, це був би великий червоний прапор (напевно, непереборний). Щодо просунутого кандидата, я очікую відмови, зазначивши, що деякі їх найкращі зразки джерела не можуть бути показані, оскільки це було зроблено як частина їхньої роботи. Однак я очікую похмурого відгуку про те, чому вони пишаються тим непоказним дизайном і як вони люблять його, як дитину.
Нарешті, стільки, як деякі люди скажуть, що "О, хтось міг просто отримати зразок коду з Інтернету", контр-аргумент полягає в тому, що більшість людей, які не розуміють хорошого коду якості продукції, також не розуміють його, коли бачать його . Крім того, Google завжди може ознайомитись з відмінним рядком для перевірки коду. Також, у кращому випадку, крадіжка коду змусить кандидата на співбесіду, де вони бентежать себе ("То чому ти це зробив саме так ...?").
Як остання примітка про код попереднього працевлаштування: Просто не варто. З точки зору HR, просити код попереднього працевлаштування є недоцільним та червоним прапором про компанію. Ви обоє несете юридичну відповідальність (тобто вас обох можуть подати до суду), і це свідчить про те, що вони не мають поняття, що вони роблять. Код, зроблений для попереднього роботодавця, ніколи не слід давати, якщо код вже не є загальнодоступним або у вас є чіткий дозвіл цього роботодавця. Гірше, що у великій компанії ваш прямий начальник може не мати повноважень надати вам дозвіл, тож розважайтеся з юридичним відділом у такому випадку? Я впевнений, що вони будуть раді, щоб викрити свій IP для працівника, що виходить.