Чому ми ставимось до інтернів як до повноправних членів команди

Є деякі компанії, які мають спеціальні кооперативні та стажувальні проекти, які відокремлюються від звичайного потоку розробки продуктів. Часто робота кооперативів та стажерів ніколи не бачить світла, або, принаймні, поки вони не перебувають у компанії.

Ми принципово не віримо в такий підхід. Ми вважаємо, що найкращий спосіб вчитися - це робити, а отже, найкращий спосіб навчитися бути інженером-програмістом - робити те, що робить інженер-програміст.

ставимось

Кілька наших нещодавніх стажерів, які тягнуть свою вагу на нашій літній вечірці.

Завдяки цій філософії ми дивимося на стажерів здебільшого так само, як і на інших штатних інженерів програмного забезпечення. Ми стажируємося на тих же типах проектів, що й інші штатні інженери. Ми очікуємо, що вони розроблять такі самі функції та поставлять у виробництво, як і інші штатні інженери. Вони відправляють виробничий код протягом перших кількох днів перебування тут. Під час стажування вони розробляють реальні функції, які надаються реальним клієнтам і часто навіть демонструються перед усією компанією на щомісячному Науковому ярмарку. Ті, хто користується зовнішніми інструментами, часто можуть брати участь у дзвінках, де вони можуть спостерігати за клієнтами за допомогою нашого програмного забезпечення та бачити їхні труднощі та успіхи, а потім вдосконалювати ці інструменти.

Для багатьох кооперативів та стажерів це поєднання захоплюючого та лякаючого. З одного боку, їхній зв’язок зі створенням цінності відчутний: код, який вони створюють, забезпечує реальні функції, якими користуються реальні клієнти. З іншого боку, крива навчання може бути крутою. Ми часто очікуємо, що стажери швидко прискорять технології, якими вони ніколи раніше не користувались, такі як React, Java, Kafka та інші. Ми не ставимо їм мікророзмірних завдань і не підказуємо, як вирішити кожну проблему. Натомість ми просимо їх продумати складні проблеми та запропонувати власні рішення.

Звичайно, існує мережа безпеки для наших стажерів. Ми не кидаємо їх у глибину і очікуємо, що вони самі попливуть. Кожен стажер має технічного керівника, менеджера з продуктів, дизайнера продукту, ще кілька інженерів у команді, а в деяких випадках і окремого наставника, який допоможе їм навчитися, рости та досягти успіху.

І так, ідея доставки реального коду реальним клієнтам може бути страшною. Я впевнений, що більшість стажерів в якийсь момент дивуються самі собі: "Що станеться, якщо я зіпсуюся і спричинюю помилку або, що ще гірше, знімаю частину товару?" Хоча робота стажиста - старанно вчитися та намагатися писати високоякісний код, врешті-решт, відповідальність їхнього технічного керівника, а не їхня, - забезпечити хороший код, який надходить у виробництво. Технічний керівник та відповідальність команди - проводити огляд коду та переконуватись, що справи йдуть нормально. Ми не хочемо покладати вагу всіх наших клієнтів на плечі наших стажерів. Ми не хочемо, щоб наші стажери боялися невдач. Ми хочемо надати їм можливість та інструменти, щоб розтягнутись робити те, чого раніше ніколи не робили, знаючи, що навколо них є мережа підтримки, яка допоможе.

І щоб бути повністю прозорим, цей підхід не для всіх. Є деякі люди, які хочуть набагато більше рук і настанов, ніж ми даємо тут. Вони хочуть, щоб їм дали завдання і сказали, що робити. У нас також було кілька стажерів, які прийшли, почали виконувати роботу інженера-програміста, а потім зрозуміли, що для них це просто не правильний шлях. І це нормально. Ніхто не в інтересах змушувати їх робити роботу, яку вони просто не хочуть робити, тому в цьому випадку ми намагаємось знайти рішення, яке підходить для всіх. Ми вважаємо, що допомога цим особам зрозуміти, що вони роблять, а що не хочуть робити зі своїм життям, є успіхом сам по собі.