Як створити портфоліо DevOps для Junior. 10 кроків

Усі статті, обговорення, новини про DevOps — в одному місці. Підписуйтеся на DOU | DevOps!

Привіт! Мене звати Олександр Роздольський, я DevOps Lead і за минулих кілька років я допоміг певній кількості своїх колег пройти шлях від початківця до Senior рівня у DevOps. У цій статті пропоную покрокову інструкцію зі створення портфоліо DevOps, навіть якщо ви ще не маєте професійного досвіду.

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

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

Спробуймо це виправити.

1. Підготуйте навчальні ресурси

  • Зареєструйтеся на безкоштовних навчальних порталах, таких як Udemy/Coursera/Udacity/тощо.
  • Ознайомтеся з тим, як досліджувати, читати та застосовувати технічні рекомендації на Medium, GitHub, DoU, або в офіційній документації вендорів.
  • Не починайте якийсь окремий курс, просто тримайте їх під рукою, щоб мати доступ до будь-якого з них у будь-який час.

2. Створіть обліковий запис GitHub

Зареєструйте безкоштовний обліковий запис на GitHub, щоб розмістити свій код і продемонструвати свої проєкти. Обов’язково заповніть свій профіль відповідною інформацією та професійним фото.

Створіть перший pet-проєкт:

  • «Hello world» буде очевидним першим кроком.
  • Потім спробуйте додати щось складніше, наприклад, отримати якійсь дані із загальнодоступних API і поекспериментувати з ними, наприклад фільтрування та сортування.
  • Якщо у вас уже є напрацювання з ваших курсів — спробуйте запаблішити їх у репозиторій.

3. Створіть обліковий запис Docker Hub

  • Зареєструйте безкоштовний обліковий запис Docker Hub, щоб розміщувати свої образи Docker і демонструвати свої проєкти в контейнерах.
  • Запакуйте скрипт в образ Docker і опублікуйте в Docker Hub.
  • Переконайтеся, що ваш код створено для роботи як сервіс, і все відповідає найкращим практикам Dockerfile.

4. Зареєструйтеся для безкоштовного хмарного облікового запису

Кожен великий хмарний постачальник (AWS, GCP, Azure) те що називається Free Tier для нових аккаунтів, на різних умовах.

Наприклад, AWS пропонує безкоштовний обліковий запис на один рік, це включає різноманітні хмарні сервіси, такі як EC2, S3, RDS тощо.

Це чудова можливість безкоштовно налаштувати хмарне середовище для експериментів, а також створити та розмістити портфоліо особистих і професійних проєктів.

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

Зареєструйте обліковий запис і почніть вивчати служби AWS (або будь-якого іншого хмарного постачальника на ваш вибір).

Спробуйте його CLI інтерфейс та поеккспериментуйте з різними командами і ресурсами. Для awscli ви можете використовувати цю шпаргалку.

Доповніть свій код з попередніх кроків деякими маніпуляціями з ресурсами AWS.

Спробуйте створити деякі ресурси користуючись інструментами IaC, як Terraform, використовуючи цей посібник.

Ви можете поекспериментувати з ним локально за допомогою LocalStack, якщо боїтеся створити щось коштовне в AWS.

  • Розгорніть таблицю DynamoDB або кеш Redis і вставте в них дані.
  • Зберігайте отримані дані на S3.

5. Придумайте особистий проєкт

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

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

Закодуйте його мовою сценаріїв на ваш вибір.

Ще кілька порад щодо створення ідей для такого проєкту:

  • Ознайомтеся з описами вакансій для Junior DevOps/ SRE на Indeed і Glassdoor, виберіть інструменти і технології та спробуйте імітувати їх у своєму середовищі.
  • Перегляньте сайти фрилансерів, такі як UpWork і Fiverr, відфільтруйте одноразові завдання з найнижчою ціною та спробуйте імітувати їх у своєму середовищі.
  • Просто погугліть або запитайте ChatGPT.

Виберіть щось, на реалізацію чого вам знадобиться не більше пари днів.

Пізніше можете збільшити складність.

6. Створіть конвеєр CI/CD

Впровадьте CI/CD для створення та розгортання вашого проєкту. Це продемонструє ваші знання щодо безперервної інтеграції та доставки.

  • Використовуйте GitHub Actions, щоб упакувати свою роботу в образ Docker і опублікувати його в Docker Hub.
  • Потім створіть новий репозиторій, щоб розгорнути його у своєму хмарному середовищі, використовуючи готові рішення, наприклад AWS ECS.
  • У цьому посібнику AWS пояснюється, як створити ECS через інтерфейс користувача.
  • Але в якийсь момент вам доведеться зробити це за допомогою фреймворку IaC, наприклад Terraform. Ви можете скористатися цією статтею.
  • Пізніше ви можете пофантазувати та збільшити складність, використовувати EKS, Lambdas тощо.

Наразі ваша мета — створити наскрізний конвеєр(end-to-end pipeline) для вашого проєкту, зосередьтеся на тому, щоб ваша програма була розгорнута та доступна.

7. Презентуйте свій проєкт

  • Напишіть вичерпний файл Readme для свого проєкту та додайте його до свого репозиторію.
  • В ідеалі намалюйте діаграму за допомогою таких інструментів, як Miro, Lucid, Asciiflow.
  • Створіть особистий блог на платформі Medium, WordPress, DOU або на декількох.
  • Використовуйте ці блоги, щоб ділитися своїм досвідом і проєктами зі спільнотою.
  • Ви можете описати досвід у формі історії, зробити це у розважальній формі, людям таке сподобається.

8. Приєднуйтеся до спільнот

Настав час показати вашу роботу ширшій аудиторії та запитати фідбек.

  • Зареєструйтеся в кількох спільнотах Slack.
  • Приєднуйтеся до Subredits.
  • Підпишіться на мою розсилку, щоб отримувати нотифікації про нові пости.
  • Поділіться своїми посиланнями та попросіть відгуків.
  • Перевіряйте правила спільнот і дотримуйтесь їх.
  • Наберіться терпіння та додайте відгуки у свій проєкт. Зазвичай саме тут ви можете отримати найбільше відгуків і пропозицій, куди рухатися далі.
  • Спробуйте брати участь у зустрічах спільнот онлайн і офлайн. Зазвичай вони заохочують спікера навіть на початковому рівні. Це шанс для вас.

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

9. Почніть робити внесок в Open Source

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

  • Шукайте проєкт, який відповідає вашим інтересам і навичкам. Можете знайти проєкти на таких платформах, як GitHub, GitLab або Bitbucket.
  • Прочитайте дуже уважно проєктну документацію, перш ніж робити внесок у проєкт. Це дасть вам гарне розуміння цілей проєкту, архітектури та стандартів кодування.
  • Перегляньте програму відстеження проблем проєкту, щоб знайти помилки або запити на функції, з якими ви можете допомогти. Шукайте GitHub issues, позначені тегами «beginner-friendly» або «good first issue».
  • Підключіть проєкт до власного облікового запису GitHub і внесіть зміни, щоб розв’язати вибрану проблему.
  • Обов’язково дотримуйтеся стандартів кодування проєкту та пишіть чистий, підтримуваний код.
  • Після того, як ви внесете зміни, надішліть пул-реквест розробникам проєкту. Додайте чіткий опис ваших змін і причини їх внесення.
  • Чуйно реагуйте на відгуки та будьте готові вносити подальші зміни на вимогу супроводжувачів.

10. Створіть обліковий запис LinkedIn

Зареєструйте безкоштовний обліковий запис LinkedIn і заповніть свій профіль відповідною інформацією, зокрема про освіту, досвід роботи та навички.

Доповніть профіль LinkedIn своїми досягненнями:

  • Опишіть власні проєкти як професійний досвід. Додайте посилання на сховище GitHub та/ або загальнодоступні посилання, якщо вони доступні.
  • Вкажіть досвід позаштатної роботи, якщо такий є.
  • Опишіть внески та діяльність в опен-сорс.
  • Зазначте участь у спільнотах, як-от виступи на зустрічах.
  • Спілкуйтеся з іншими учасниками в спільноті DevOps і діліться своїми проєктами та публікаціями в блогах.
  • Заповніть набір навичок у розділі endorsement та обміняйтеся «схваленнями» зі спільнотою.

Висновок

Зрештою в якийсь момент як варіант ви зможете отримати фрилансерські запити від UpWork, Fiverr чи подібних, що може дати вам перший професійний досвід, випробуваний у боях.
На випадок появи вакансій на рівень Junior ви зможете продемонструвати портфоліо на співбесіді або використати для тестового завдання.

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

Подивімось, як може виглядати структура вашого портфоліо:

Виконавши ці кроки, приблизно через кілька місяців ви зможете отримати досить солідне портфоліо безкоштовно, яке назавжди стане вашим активом і яке ви зможете з часом розширювати.

👍ПодобаєтьсяСподобалось13
До обраногоВ обраному17
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Думаю під Docker Hub мається на увазі hub.docker.com. Але ж вони закривають безкоштовні акаунти. Радити його в статі початківцям без надання альтернатив не краща ідея.

Дякую за статтю! А взагалі такі вакансії існують в природі? Маю на увазі DevOps джуни. І чи реально свічнутись в ІТ на цю посаду ззовні? Використовую Python на роботі для автоматизації деяких виробничих процесів, почав вивчати глибше, + деякі навики адміністрування (Windows, Linux). Чи краще заглибитися в Python, знайти роботу як софт інженер, а тоді вже розвиватись як DevOps і свічнутись в межах компанії?

робити внесок в Open Source

. Який відсоток ваших знайомих мідлів може привнести щось у open source?

Почитал

портфоліо DevOps для Junior 10 років

и слегка офигел, но не так чтобы сильно после тимлидши в 17

Поддерживаю. Выглядит как хороший план.

Доволі хороший список кроків. Збережу для менторення

Не хочу вас якось демотівувати, але у 2023 це може зробити звичайний чатгпт, джуну якось себе треба краще проявити

imgur.com/a/1nhr4iU

Момент по фрі-тірах в клауді, особливо AWS. Потрібно дуже пильно слідкувати, щоби не заїхати за ліміти, бо пришлють рахунок. В AWS це взагалі часта штука. Іноді можна вирішити це через сапорт, але краще бути працювати на випередження.

Billing alarm для AWS дуже раджу. Воно не запобігає виходу за межи free tier, але попередить завчасно і сплачувати рахунок не буде так вже боляче.

ось і буде перший досвід менеджменту витрат на клауд :)

бо пришлють рахунок.

Та пусть шлют. Адрес выдуманный, а карту и не спрашивали. А если б и спрашивали, то виртуальную нулячую карту подвязал в привате и готово.

почав юзати AWS не слідкуючи за лімітами, так через місяць прийшов рахунок на 5 к гривень. Написав в сапорт і як виключення новачку мені ці кошти повернули.
А щоб цього не сталось то час від часу переглядайте Cost Managment сервіс на AWS і все буде гаразд

Дуже цікава та інформативна стаття дякую автор

Підписатись на коментарі