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

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

          Коли бухгалтер іде, а звітність залишається. Які проблеми розв’язує аутсорс?
          01 БІЗНЕС
          Коли бухгалтер іде, а звітність залишається. Які проблеми розв’язує аутсорс?
          Новий старт після служби: як працює програма для ветеранів, які хочуть запустити власний tech-бізнес
          02 БІЗНЕС
          Новий старт після служби: як працює програма для ветеранів, які хочуть запустити власний tech-бізнес
          Slow planning — fast execution: CEO Universe Group Ярослав Морозов про те, чому погана підготовка може стати дорогою помилкою
          03 Як вони працюють
          Slow planning — fast execution: CEO Universe Group Ярослав Морозов про те, чому погана підготовка може стати дорогою помилкою
          Завантаження...