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

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

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

ставимось

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

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

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

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

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

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

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

Мета № 1: Навчання на практиці

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

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

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

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

З огляду на це, ми хочемо, щоб щоденною метою наших стажерів було прагнення до знань через власну самомотивацію та практику. Чому я можу навчитися сьогодні? Як я можу скористатися усіма цими ресурсами навколо мене, щоб стати кращим інженером? Ці питання ми сподіваємось ставити собі стажери, перебуваючи тут.

Ціль 2: Доставка хорошого програмного забезпечення, яке допомагає клієнтам

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

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

Допоміжна мета: Завести друзів та добре провести час

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

Але загалом це допоміжна ціль, а не основна мета. Як писав у нашій внутрішній вікі наш директор технічного обслуговування JD Шерман:

Наша увага зосереджена на створенні середовища, де стажери можуть робити все можливе, і, сподіваємось, розважитися на цьому шляху.

А як щодо влаштування на роботу?

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

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