Як знайти першу роботу через свій пет-проєкт
Вітання! Мене звати Андрій. Я люблю ділитися досвідом та думками про те, як технології змінюють свідомість, що стоїть за лаштунками нашого IT та які зміни відбуваються в індустрії.
Сьогодні я розповім як правильно створювати пет-проект, який відкриє тобі шлях до першої роботи в IT-компанії, використовуючи Pet Project Kit, який допоможе розкрити твій потенціал до навчання і по-новому поглянути на процес працевлаштування, приділяючи при цьому особливе отримання першого досвіду комерційної розробки, демонстрації своєї цінності для рекрутерів та найголовніше — як уникати типових помилок.
Я впевнений, що ти вже читав цю статтю dou.ua/...es/leave-the-it-industry і розумієш, що шанси у тебе, рядового айтішника без солідного багажу досвіду, знань та навичок — найменші? Наразі недостатньо пройти навіть десяток IT-курсів, які розкручуються ботами. Більше того, навіть стажування не дають гарантій знайти роботу, адже потрібно докласти величезних зусиль, робити краще, більше та швидше, ніж інші. Ну а про сумний шлях через вирішення завдань на Літкод перегляду лекцій в Ютуб — і говорити нічого!
Зараз на мене накинутися в коментарях апологети Літкода та успішні кар’єристи MAANG, але будемо чесними — вирішення таких завдань — це чудовий спосіб освоїти базові навички імплементацій алгоритмів. Але, займаючись тільки цим, ти як збираєш сферичний Кубик-Рубік або кладеш цеглини досягнень в оптимізації коду без архітектурного плану. Таким чином ти втрачаєш найважливіше — розуміння взаємозв’язку між інструментом для написання коду та продуктом, який ти створюєш! Про це добре написано тут dou.ua/forums/topic/48117
Зрозумій просту річ, на своїй першій роботі ти будеш писати код і включати його в продукт, який має додавати цінність самому продукту. Це можуть бути багфікси, рефакторинг чи нові фічі. Щоб потрапити на першу роботу, тобі треба показати, що ти вже вмієш правильно взаємодіяти з продуктом (hard skills) та командою розробки (soft skills). Зрозуміло, ти розумієш, що тебе не візьмуть на роботу, бо досвіду роботи ще не маєш? Максимум що ти зможеш — це болісно довго писати якийсь код, на рев’ю якого Тімлід закочуватиме очі чи, ще гірше — постійно відволікати команду неправильно поставленими питаннями?
І ось тут рятівною соломинкою послужить пет-проект — це як демонстрація того, як ти поведеш себе на майбутній роботі. Пет-проект — це не обов’язково код, це мінімальна демонстрація того. де ти можеш випробувати себе в PM, маркетологаабо дизайнера. Більше того, є шанс, що перетворити пет-проект на свій стартап — dou.ua/...-started-as-pet-projects
Що є та не є пет-проектом?
Я впевнений, що прямо на цьому етапі у тебе виникло бажання створити свій проект, тому поспішаю охолодити запал. Для початку — найцінніше, що не є пет-проектом:
- Створення чергового калькулятора/онлайн-магазину/чат ітд — це лаби, де ви намагаєтеся застосовувати інструмент розробки коду на практиці, а не створювати продукт, спрямований на взаємодію з користувачами.
- Участь у волонтерському проекті для створення лендингу/додатку/порталу для благодійної організації/школи/музею — це вже зачатки командної роботи, якщо ти там не один, але немає найголовнішого — свого власного продукту, ти ним не володієш.
- Підключення до команди стартапу, у якого немаєнезаймана, Заснованого на ідеї створення якогось продукту, яке переверне весь світ — у вас можливо і буде продукт, але вже точно — не буде активних користувачів.
Що тоді правильний пет-проект? Правильний пет-проект — це твій майбутній стартап.
Основне завдання вашого пет-проекту на стадії створення — це формування міні-ком’юніті майбутніх користувачів, для яких він вирішуватиме якусь проблему. Зрештою, саме це й вирізняє успішні стартапи: вони вирішують реальні проблеми реальних людей. Тому правильний пет-проект починається з вивчення існуючих проблем, отримання їх підтвердження та проведення глибинних інтерв’ю з першими фанатами вашого пет-проекту для вивчення наявності конкретної проблеми, на вирішення якої спрямований твій.
На відміну від стартапів, які швидко розгортають нові функції, намагаються бути зручними для користувача та мають високу гнучкість, пет-проекти не несуть прямого обов’язку бути швидкими та гнучкими, проте можуть еволюціонувати у стартап за наявності завзятості та правильного підходу.
Корпоративне середовище має свою унікальність — чіткі бізнес-вимоги та спеціалізація створюють певні межі та обмеження, вийти за які часто неможливо. У той же час, пет-проекти є чудовою нагодою для тих, хто прагне досліджувати нові горизонти у своїй професійній діяльності.
А зараз я розповім про те, як треба підходити до створення правильного пет-проекту у семи пунктах:
Пункт перший: Ніколи не пиши код без розуміння того, яким буде твій пет-проект. Це класична помилка новачків — спочатку щось зробити, а потім думати, чому продукт, що вийшов, нікому не потрібен. Пошук проблеми — ось із чого треба починати створювати пет-проект. Якщо є якась проблематика певної аудиторії — це вже великий успіх! Як шукати проблеми? Не повіриш — це неймовірно просто! Відкрий для себе Reddit! Наприклад, ось тут — www.reddit.com/r/AskReddit — 46 мільйонів користувачів пишуть про проблеми. Шануй, подумай, поговори з ними — і проблематика, яку вирішить твій пет-проект — прийде сама собою. Ах так, обов’язково вчи англійську, щоб писати правильно і не ганьбити наш прапор!
Пункт другий: Ідея нічого не варта, якщо вона не підтверджена. Для підтвердження тобі не потрібно писати код, а просто ставити відкриті питання аудиторії, та хоч на тому ж Reddit. Увійдіть в обговорення проблеми і скажіть, що хотіли б зайнятися її вирішенням, щоб від вас чекали учасники? Ви отримаєте багато корисних інсайтів, особливо, якщо люди будуть говорити, що готові платити за рішення. Платити, звичайно, ніхто не буде, але вони можуть почати користуватися безкоштовно — а звідти і до freemium недалеко!
Пункт третій: Формуйте із побажань вашої аудиторії та власних ідей User Stories та CJM. Чи не ускладнюйте! Пам’ятайте — все має бути максимально просто, швидко та працездатно! Тут у повний хід йдуть навички UI/UX дизайнера, тому якщо хочеш зробити правильний пет-проект, то потоваришуйте з дизайнером-новачком, який зможе закрити цю частину.
Пункт четвертий: CustDev та PoC — Потім необхідно опитати людей про наявність проблеми та необхідність її вирішення. Важливо з’ясувати, із чим стикаються ці люди. А із чим стикаються ці люди. Створіть Proof of Concept, наприклад Jupyter або з використанням GPT, щоб перевірити здійсненність рішення.
Пункт п’ятий: MVP та перевірка гіпотез — Після цього створюється мінімально життєздатний продукт (MVP), який можуть використовувати люди. На цьому етапі можна проводити A/B тести, опитувати користувачів та тестерів, перевіряти різні гіпотези.
Пункт шостий: Запуск Пілота — Пілотний проект є закінченою діяльністю з підтвердженою основною гіпотезою. Це проект, який можна сміливо показувати публіці. Однак завжди є можливість знаходити нові гіпотези та ідеї у рамках проекту.
Пункт сьомий: Просування — Відмінним завершальним етапом розповістиме про свій проект. Виступити на конференції, написати статтю на Хабрі і таке інше. Можливо, саме з цього моменту до вас почнуть надходити цікаві пропозиції щодо роботи!
Приклад справжнього, реального пет-проекту
Програміста Фернандо Песаньо звільнили 2023 року. Він витратив 10 днів на запуск свого пет-проекту і за 3 місяці вийшов на колишню зарплату, але вже на своєму власному пет-проекті.
Що він зробив? Фернандо зауважив, як часто люди створюють карусельні пости у соціальних мережах. Це така пост, в якій відразу кілька картинок і їх можна перегортати. Це нішевий, але популярний запит, який у трендах: https://trends.google.com/trends/explore?date=today%205-y&q=carousel%20post&hl=uk
І це найголовніше. Вже перед початком розробки він розумів, що робить додаток під існуючі запити від потенційних користувачів. Як результат — Фернандо створив генератор каруселів для Instagram та LinkedIn. Причому він реалізував строго одну функцію — створення каруселів у соцмережах і нічого більше.
Зверніть увагу — він вторгся на ринок, де вже існували такі монстри як Figma та Canva. Але вони не були орієнтовані саме на цей запит і перевантажені важким інтерфейсом.
А ось Фернандо по-максимуму все спростив. І зробив так, щоб у каруселі було мінімум налаштувань:
- У 2 кліки вибираємо шаблон
- Вводимо потрібний текст (або просимо ChatGPT його написати)
- Карусель готова. Причому, із класним дизайном.
При цьому він використовував джунівський підхід, пропустивши складний функціонал. Не реалізував навіть базових речей: Не можна пересувати текст на слайді. Не можна міняти слайди місцями. Взагалі — нічого не можна, а користувачі й раді, і готові платити гроші — за простоту!
Як же він робив цей простий проект?
- 6 днів він писав код, додавав шаблони слайдів, реалізувавши MVP у вигляді редагування тексту в шаблонах, додав налаштування та кнопку завантаження каруселі.
- На 7 день додав оплату в Freemium модель, де більшість функцій для користувача безкоштовні.
- На
8-й день він створив назву, логотип та лендінг-сторінку для сервісу. - На
9-й він уже запустив aiCarousels. - На
10-й день до нього прийшла оплата від перших п’яти користувачів.
Фернандо вчинив дуже правильно:
- Не винаходив велосипед у вигляді чергового движка для блогу, а пошукав реальну потребу користувачів та перевірив її через Google Trends.
- Сфокусувався не на фреймворку/патернах/чистому коді/ітд, а дуже швидко реалізував мінімально робочу функцію, яка дозволила користувачам у три кліки вирішити їх запит.
- Відразу підрубав оплату і Freemium — це дало йому зрозуміти, що його проект має цінність, що було підтверджено першою оплатою. Зверніть увагу — його користувачів не цікавило якості коду, юніт-тести та інші дрібниці.
Він не фрустрував про те, що робити, він вважав, що шукають користувачеві. Він не став створювати черговий клон Figma або Canva, а просто реалізував одну функцію за 10 днів, не гаючи часу ні на що, крім її реалізації. І ти теж будь молодцем, будь як Фернандо!
Чіткість — шлях до успіху чи інфляція інформації
Коли я вкотився в IT — у мене був радянський комп’ютер ПК-01 Львів, на якому були наступні можливості:
- Написання програм на вбудованому BASIC — дуже просто та швидко, але швидкість виконання та можливості — зовсім убогі.
- Розробка, як зараз прийнято говорити «нативних програм» — асемблер, регістри та осередки пам’яті — вкрай повільно, зате все працювало швидко та необмежені можливості (в рамках заліза)
Таким чином я міг чітко розуміти, що якщо є якась потреба в автоматизації бізнесу — краще писати на BASIC, там важливим є лише те, що воно роздрукує. А якщо писати гру — то доведеться лізти «в потрухи» і вигадувати якісь нестандартні фішки, на кшталт перевірка зіткнення спрайтів через результат xor від їхньої тіні (звучить дуже дивно, але я не знаю як інакше це пояснити).
Загалом — раніше і трава зеленіша була, і вибір дуже простий. А зараз все дуже складно. Ти починаєш вивчати якусь статтю, потім серфіш за посиланнями, потім дивишся вже вечір, а ти чомусь на Вікіпедії читаєте біографію Кевіна Митника і в тебе нулькоду за цілий день. Знайома історія? Це — інфляція інформації.
Для того, щоб допомогти швидше стартувати — я створив Pet-Project Kit у вигляді git репозиторія з відкритим кодом для типового пет-проекту на початковому етапі. Це відіграє ключову роль для набору команди однодумців — твій пет-проект розглядатимуть інші люди і дуже важливо, щоб він був зрозумілим.
До речі, вже на цьому етапі ти можеш прокачати свої знання з Github, як мінімум з управління версіями та робота з гілками. Якщо ти ще не пробував до командної роботи з кодом — саме час зробити це зараз!
Просто створи форк репозиторія, як на зображенні, вивчи вміст ReadMe файлів і відредагуй їх відповідно до рекомендацій. Я постарався зробити так, щоб у кожній директорії, починаючи з кореневої, тобі було зрозуміло, що тут лежить зараз і що треба додати насамперед.
Ось кілька моїх особистих кроків, які я регулярно виконую під час створення репозиторію. Ділячись ними, я ніби віддаю частину свого серця:
Якісний опис
Одним із ключових елементів, за яким можна оцінити пет-проект, є його опис. Що важливо — у рекрутерів немає можливості вивчити ваш код, але вони цілком можуть прочитати Readme репозиторія, якщо файл одночасно містять всю необхідну інформацію для вибору — призначати вам інтерв’ю чи ні.
Ось рекомендації, що має бути у твоєму репозиторії пет-проекту, щоб воно було максимально інформативним та корисним:
- Назва та використовувані інструменти у хотбарі, щоб наочно показати, які технології та інструменти застосовувалися у проекті. Це допоможе переконати рекрутера, що у вас є досвід, так що постарайся навести там все по-красі!
- Опис проекту: тут важливо відповісти на запитання: Що це за проект? Для кого його створено? Навіщо він потрібен? Такий опис допоможе швидко дати зрозуміти суть проекту, що особливо важливо для пошуку роботи — найчастіше рекрутер може просто передати ваш проект замовнику, якщо там ти з ним будеш у якихось аспектах на same page.
- Інструкція зі встановлення: детально опиши процес встановлення проекту. Для розробників (dev, contributor) бажано надати окремі інструкції, включаючи особливості встановлення залежностей, налаштування середовища та ін. Обов’язково намагайся автоматизувати виконання всіх дій скриптами. Чим простіше онбординг у твій проект — тим краще!
- Pet-Project Kit спеціально структурований так, щоб ти міг вести в ньому документацію, зустрічі, запити і вказати список команди. Буде добре, якщо ти додаси де можна знайти додаткову інформацію про проект, як отримати підтримку та куди звертатися з питаннями. Це спростить комунікацію з користувачами та іншими розробниками, надасть твоєму пет-проекту більш професійного вигляду.
- У твого проекту обов’язково має бути лендинг, який дуже просто і швидко можна створити на Сайти Google. Обов’язково додай до репозиторію посилання на свій лендинг! Тож ти зможеш легше залучити перших користувачів, а додавши збір контактів чи посилання на свою телеграм-групу — набрати перших фанів твого пет-проекту!
І ще одна порада — можна значно посилити свій шанс на увагу рекрутерів, якщо додати презентацію проекту, яку можна зробити в Google Slides і забезпечити коротким відео, в якому показати, що саме він робить, і розповісти, який був твій особистий імпакт.
Так, звичайно всі айтішні компанії хочуть найняти розробників з досвідом, але їх мало і на всіх не вистачає — доводиться брати новачків. Тому у тебе є шанс отримати першу роботу, просто виділивши себе серед решти кандидатів за допомогою пет-проекту!
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів