preview preview
Нова функція

Слухай статті з Respeecher

Нова функція дозволяє слухати статті в зручному форматі завдяки технології від Respeecher. Насолоджуйтесь контентом у будь-який час – у дорозі, під час тренувань або відпочинку.
preview
00:00 00:00
Наступні статті
    Завантажується
    Голос
    Вибір голосу
      player background
      Вибір голосу
        Наступні статті
          Завантажується
          00:00 00:00
          ТЕХНОЛОГІЇ

          Як розвиватися в 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

          Партнерські матеріали

          Не сім’я, а баскетбольна команда: як побудувати корпоративну культуру через спортивну модель — кейс Boosters
          01 БІЗНЕС
          Не сім’я, а баскетбольна команда: як побудувати корпоративну культуру через спортивну модель — кейс Boosters
          Як виділятися в інфошумі, будувати стале ком'юніті та чому AI не замінить ваших талантів. Про що говорили на UPConf'25 
          02 БІЗНЕС
          Як виділятися в інфошумі, будувати стале ком’юніті та чому AI не замінить ваших талантів. Про що говорили на UPConf’25 
          Паковання з морських водоростей та біопластик: які стартапи увійшли до програми сталих рішень L’Oréal та CISL?
          03 ТЕХНОЛОГІЇ
          Паковання з морських водоростей та біопластик: які стартапи увійшли до програми сталих рішень L’Oréal та CISL?
          АI vs креативні задачі бізнесу. Як обрати підрядника, коли всі довкола працюють зі штучним інтелектом
          04 КРЕАТИВ
          АI vs креативні задачі бізнесу. Як обрати підрядника, коли всі довкола працюють зі штучним інтелектом
          Завантаження...