З рятувальника ДСНС в DevOps-інженери за 6 місяців
Середина 2021 року. «Максимум», що я можу зробити на комп’ютері, це перевстановити віндовс (якщо під рукою є ще один комп, на якому можна дивитись відео як то робиться). Тоді я служив в рятувальній службі ДСНС України, і «раптом» зрозумів, що якось по-іншому уявляю своє життя (в фільмах про пожежних не показують миття підлог, копання лопатою, перенесення піску з однієї купи на іншу, та безкінечне заповнення якихось журналів). І оскільки я нічого РЕАЛЬНО робити не вмів на той час (закінчив славнозвісний ІНФІЗ, займався боксом замість навчання), то мій вибір пав на айті сферу. Ну а що? Гроші платять мішками, працюєш з будь-якої точки світу, вчитись
Якось інтуїтивно я зрозумів, що айті курси мені «не підходять». По опису система навчання більшості курсів була дууужжеее схожа на ту, що в школі чи в універі: приходиш на урок, тобі щось розказують, ти щось пробуєш, тобі дають домашнє завдання, ти його «успішно» вдома виконуєш, і всі роблять вигляд наче ти тепер щось вмієш... А потім як і в випадку з закінченням універу: «Вибачте, але нам потрібна людина з досвідом. Хтось, хто вміє вирішувати реальні задачі!». Тож маючи НУЛЬ знань в сфері я подумав: «Буду САМОСТІЙНО робити свій додаток, а там по ходу діла чомусь та й навчусь» — це було найлогічніше рішення в моєму житті !!!
Я довго не думав про що буде мій додаток. Як згадувалось вище, на службі (будь-якій, до речі) є купа якихось журналів, які обов’язково треба заповнювати і в них розписуватись. Так, при виході на зміну, я розписувався в таких журналах:
1. Журнал первинного інструктажу з безпеки
2. Журнал повторного інструктажу з безпеки
3. Медичний журнал, де я затверджував своє самопочуття
4. Журнал, де треба розписатися, що ти прийшов на роботу (ніколи, до речі, не розумів, як можна НЕ прийти на роботу, якщо ти ВЖЕ розписався в трьох попередніх журналах)
З моєї сторони також була ініціатива запровадити ще один журнал, де необхідно затвердити, що ти розписався в попередніх 4 журналах, але цю ініціативу керівництво чомусь не підтримало.
І от окрім цих та ще інших журналів в нас був журнал чергувань. Тобто на своїй зміні (працюють рятувальники добу через 3) окрім того, що твій взвод вже є черговим взводом, всередині нього має бути ще людина «черговий-черговий». Ця людина миє поли, драє умивальники з сортіром, і частіше інших переносить речі з однієї купи на іншу. Журнал заповнюють, ведуть, вписують людей в колонки з датами..., а потім успішно десь плутаються, ставлять не там відмітки, і починається: «Ви шо гоните, я 4 зміни назад чергував! Хай Вітя сьогодні драє плитку!!!»
І от, в 21 столітті, живучи в «найвідцефрованішій» країні світу (так мені казали), я вирішив, що з веденням цього журналу ніхто не справиться краще ніж безпристрасна залізяка, на якій буде хоститись моя майбутня аплікуха.
Короче, як казав Юлій Цезар: «Жереб було кинуто!»
Почалась моя «робота» з гугління які взагалі існують напрями в айті, що є фронтенд і бекенд, що існують різні мови програмування для них.... Потім я нагуглив, що Python вважається чи не найпростішою мовою для початківців, і що на ньому взагалі багато чого пишуть... А ще я додумався до того, що можна не витрачати час на фронтенд та створення кнопок, і що можна просто взяти Telegram API з вже готовою UI.... І понеслась....
Подивився я десь
Після створення калькулятору я вирішив спробувати взаємодію з API Телеграму. Зареєстрував токен для Телеграм бота і написав першу строчку коду з використанням бібліотеки для нього, натискаю «Run»... І В МЕНЕ В ТЕЛЕФОНІ З’ЯВЛЯЄТЬСЯ КНОПКА З НАПИСОМ «Hello World» !!!
Ауууууу!!! Ви мене чуєте взагалі? КНОПКА! З’ЯВЛЯЄТЬСЯ! В ТЕЛЕФОНІ!
Не знаю, можливо для вас нічо нового.... Але для мене (фізрука за освітою), в якого не те щоб інформатики в школі не було..., я навіть оцих «всесвітньо-відомих» курсів як користуватись Excel не застав....
Просто зупиніться на секунду, і уявіть собі: ти пишеш ТЕКСТ на своєму комп’ютері, а в тебе в телефоні (який не має, між іншим, ніякого «прямого» зв’язку з твоїм комп’ютером) з’являється кнопка в Телеграмі. І якщо ту кнопку натиснути — щось відбудеться! Не знаю як вам, а мені тоді дах просто знесло.
Я прокидався о 8 ранку і відразу сідав за комп: писав цілий день код, малював на папірчику схеми як я хочу щоб бот працював, який функціонал мав, як попереджав людей про те, що сьогодні не їх зміна, щоб він «переносив» людину далі в черзі, якщо вона зараз у відпустці чи на лікарняному, гуглив, запускав, дебажив...
Оскільки це був мій перший досвід з програмуванням, то НЕ працювало в мене абсолютно все! Я бачив всі можливі види помилок на світі, починаючи з того, що стрінгу не можна додавати до числа, і закінчуючи тим, що значення змінної не змінюється після відпрацювання якоїсь функції через різні області видимості (про це я ще згадаю, коли дійду до співбесід). Ерори сипались на мене звідусіль. Бували дні, коли я сідав о 8 ранку в надії виправити якусь помилку, а вставав з-за столу в годину ночі з тією ж помилкою на екрані. Були навіть помилки, які я не міг пофіксати тиждень. Відбувалось це через те, що в мене не було кого запитати, і не було такого як на курсах: тобі щось показали, а ти успішно повторив. Тому мені доводилось постійно гуглити.... Гуглив я дуже багато.... Читав якісь статті про банальні речі, слухав подкасти по дорозі в метро, дивився StackOverflow (чату GPT на той час ще не було).
Забігаючи наперед, скажу відразу, що свої перші 2 офери я отримав вже через півтора тижні після початку пошуку роботи. Ніяких
Ще через місяць в мене була запланована поїздка на Кіпр (якщо кожного місяця відкладати 100$ з зарплати рятувальника в 400$, жити з батьками, і не купувати айфон, то приблизно за рік-півтора можна накопичити на подорож до Кіпру). В ту поїздку ноут я брати не планував, тож про всяк випадок купив собі книгу Бгархави про алгоритми. Як ви вже здогадались, свою відпустку я провів з тою книгою під накриттям на пляжі.
Отож, прогу я закінчив, базу зробив.... А де то все хостити? Отоді я вперше почув про клауди. Почав гуглити де є безкоштовні сабскріпшини, безкоштовні віртуалки, бази даних.... І попутно гуглячи те все, я дізнався про ДевОпс. Мені сподобалось описання, мені сподобалась філософія, і перш за все мене привабила робота з інфраструктурою, і те, що це направлення здавалось більш «глобальним», більш «значущим». Адже, процитую уривок з книги SRE: «Не має значення наскільки твій додаток корисний, якщо ніхто не може ним користуватись». Тож, я витратив ще близько місяця щоб довчити базові речі про методологію Девопс та як влаштований Linux, інтернет, комп’ютерна мережа.... А потім.... Мені сказали: «йди на співбесіди!»
Весь цей час, поки я вчився, мені було дуже складно гуглити щось англійською (я витрачав половину всього часу на переклад). Тому паралельно я почав займатись в одній зі шкіл англійської (десь по
Перша технічна співбесіда пройшла через три дні після створення мною резюме. Я зайшов на мітинг, де мене протягом 10 хвилин питали одне й те ж запитання, але багато разів: «А ти працював з технологією Х ?». Я ті технології чув вперше, і на тому моя співбесіда закінчилась. Другою в черзі була співбесіда в компанію, де інтерв’юер знову ж таки 20 хвилин обурювався моїм незнанням технологій, і тим, що я ПРОСТО написав свою апку, і осмілився відправити своє резюме не маючи ніякого досвіду в ДевОпс. Потім в мене була співбесіда в компанію Y, де мене нарешті почали питати як влаштований Linux, що таке порт на VM, і що таке OPEX та СAPEX. Інтерв’юер поставився до мене з розумінням та повагою, а всі питання, на які я не знав відповіді, детально мені пояснив. Я записував абсолютно все, що він мені казав, щоб потім загуглити і вивчити. Дуже йому вдячний за це (сподіваюсь він це зараз читає).
І от сиджу я на четвертій моїй співбесіді в компанію XXXXX зі всіма знаннями з попередньої співбесіди, а мене питають про мій пет-проект, про те, як я його робив, і про те, яка різниця між передачею аргументу за референсом і за значенням (пам’ятаєте я раніше згадував про області видимості, і те, що деякі помилки я не міг пофіксити більше тижня?). І тут Остапа понесло..., бо я ненавидів ті mutable та immutable типи даних як ненавиджу рекламу казино перед онлайн фільмами, і мити-мити руки з милом.
Тоді, здається, я розказав все що знав і не знав про свою апку, розповів що таке точка входу у Flask, чим відрізняється cgroups від namespaces в Linux, як кораблі бороздять океани....
Через пів року, парячись разом зі своїми 2 менторами в бані, я запитав чому вони мене тоді взяли, і відповідь була по типу: «Ти був реальний чувак, який РЕАЛЬНО щось зробив, а не штани просиджував в універі. Тому твоє незнання технологій нам було по-барабану, бо ти їх дуже швидко вивчиш.»
P.S : А додатком, до речі, користувались.... Але не довго. Ну бо якось не дуже доцільно користуватись додатком, якщо керівництво все одно заставляє писати в журнал.
14 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів