ТЕХНОЛОГІЇ

Як розвиватися в IT за допомогою pet-проєктів

Vector 22 мая 2022, 18:00

Ігор Шатило — Lead Backend Developer в IT-команді NIX. Переважно працює з PHP, JS, Laravel, Magento 2. Але коли необхідно впровадити якусь іншу технологію чи підхід, вивчає нові способи та інструменти. Чудова можливість попрактикуватися — pet-проєкт. Ігор розповідає, з чого починати його створення та як pet-проєкт може вплинути на професійний досвід. 

Що таке pet-проєкт і для чого він потрібен

Pet-проєкт — це індивідуальний (рідше груповий) проєкт, який ви робите заради перевірки власних гіпотез та/або для практичного втілення нещодавно вивченої технології чи підходу. Займатися цим можна як самостійно, так і підтягнути друзів або колег. Робота над pet-проєктом може тривати тижнями, місяцями й навіть роками — у міру того, як у вас з’являється вільний час і нові ідеї.

Такими проєктами можуть бути:

Це позаробоча активність, яка є хорошим варіантом, якщо:

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

Чому варто братися за pet-проєкти?

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

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

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

Самостійний пошук та аналіз великих обсягів інформації — це те, без чого неможливо реалізувати жоден проєкт — чи то комерційний, чи «домашній».

Створення pet-проєкту також допоможе напрацювати самодисципліну. А якщо знайдете однодумців, то зможете вдосконалити навички командної роботи та управління проєктом. Ви будете не лише в ролі розробника, але й спробуєте себе на місці менеджера, замовника або тестувальника.

Окремо скажу про користь pet-проєктів для досвідчених програмістів. Як правило, у професійній діяльності спеціаліст стикається з одним конкретним видом завдань (верстка вебсторінок, розроблення ігор і застосунків, створення ботів для соцмереж та алгоритмів для ведення email-розсилки тощо). Рet-проєкт допоможе розширити свою професійну експертизу, підтримувати наявні навички на високому рівні та весь час «шліфувати» їх. Також це зручний спосіб затестити нові інструменти програмування та роботи з даними.

У багатьох IT-компаніях через вимоги політики конфіденційності забороняється демонструвати фрагменти коду в портфоліо. Щоб наочно показати свої практичні навички потенційним роботодавцям, розробник може створити аналогічний комерційному pet-проєкт, де представить свої найяскравіші рішення.

Pet-проєкт нічим не обмежений: ні термінами, ні форматом, ні технологіями. Це хороший спосіб відпочити від робочої рутини та присвятити час цікавим вам сферам.

Водночас із власного досвіду можу назвати кілька недоліків таких проєктів:

Перш ніж розпочати pet-проєкт, варто пам’ятати про ці моменти та зважено ухвалювати рішення щодо початку роботи.

Яку тему обрати та які технології використовувати?

Для початку визначтеся, для чого будете робити pet-проєкт: 

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

Наступний крок — правильно обрати інструменти. Скажімо, якщо ви збираєтеся працювати с машинним навчанням, то не варто обирати PHP — його створили для інших завдань. Перш за все — для розроблення сайтів і вебзастосунків. Ця мова використовується лише на бекенді та не завжди підійде для роботи з алгоритмами машинного навчання (хоча для цього є кілька бібліотек). У такому випадку краще використовувати Python або мову R. Або ж узагалі поєднати кілька мов. Водночас важливо, щоб кожна з них відповідала за ту область розроблення, для якої вона найбільше придатна.

Наприклад, якщо йдеться про веброзроблення, то можна спробувати стандартний стек LAMP (Apache) або LEMP (Nginx), а як бекенд використати PHP або Python. Хочеться чогось цікавішого — беріть Golang. Для мобільного розроблення взагалі широкий вибір інструментів: від JS (який, певно, вже скоро у чайниках будуть використовувати) до Swift, Java та Kotlin.

Для своїх pet-проєктів я зазвичай використовую такий стек технологій:

Як робити pet-проєкт ефективно?

Щоб ваш проєкт розвивався, насамперед необхідно системно підійти до його реалізації. Напишіть собі графік роботи над проєктом і намагайтесь дотримуватися плану..

Додаткову мотивацію підтримувати проєкт додає і те, що разом із ним розвиваєтесь і ви. Особливо приємно, коли вдається щось зробити, хочеться ще.

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

Буває і так, що pet-проєкт набридає, і це звична справа. У такий момент можна зробити паузу, перемкнутися на інше хобі та з новими силами пізніше повернутися до свого проєкту. Або взагалі закрити його. Так, це трохи сумно, але сприймайте це як корисний досвід, який обовʼязково десь стане вам у пригоді. Можете розмістити свої напрацювання як опенсорс на тому ж Github, і якщо він зацікавить когось, то ваша ідея житиме далі. Хтозна, може саме ваш код виявиться гучною розробкою у світі IT.

Мої приклади pet-проєктів

До початку повномасштабної війни в Україні у мене було чимало ідей власних pet-проєктів. Так, ми з другом збиралися створити мобільний застосунок для занять спортом із використанням штучного інтелекту. На базі великих даних (їх ми мали зібрати під час тестування) система мала генерувати індивідуальний план тренувань. 

Одна з реалізованих ідей — соцмережа. Правда, зараз не працює, але з її запуском я отримав колосальний досвід. Коли ми з командою запускали її 2017 року, в деяких професійних колах ми дійсно навели шуму. Навіть проводили пресконференцію та намагалися рекламувати її.

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

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

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

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

Больше об этом

01 СПЕЦПРОЄКТИ

Я хочу піти у стартап, але боюся залишитися без роботи та грошей — No fears

Материал успешно добавлен в закладки Достигнуто максимальное количество закладок
Добавить в закладки

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