ТЕХНОЛОГІЇ

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

22 Травня 2022, 18:00
9 хв читання
Матеріал успішно додано в закладки Досягнуто максимальної кількості закладок
Що таке pet-проєкт і навіщо його створювати
Режим читання збільшує текст, прибирає все зайве зі сторінки та дає можливість зосередитися на матеріалі. Тут ви можете вимкнути його в будь-який момент.
Режим читання

Режим читання збільшує текст, прибирає все зайве зі сторінки та дає можливість зосередитися на матеріалі. Тут ви можете вимкнути його в будь-який момент.

Ігор Шатило — 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-проєкт, варто пам’ятати про ці моменти та зважено ухвалювати рішення щодо початку роботи.

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

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

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

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

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

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

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

  • MySQL чи PostgreSQL — як базу даних;
  • ElasticSearch — для сервера пошуку;
  • Redis — для кешування даних;
  • PHP або Python — як мову програмування на бекенді (Python зазвичай використовую для оброблення даних);
  • Nginx або Apache — у якості сервера;
  • Laravel — фреймворк на бекенді;
  • ReactJS або VueJS — фреймворки для фронтенду.

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

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

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

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

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

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

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

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

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

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

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

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

Більше про це

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

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

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

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

Знайшли помилку? Виділіть її і натисніть Ctrl+Enter

Завантаження...