💳 Потрібна європейська картка з лімітом 50к євро? Встановлюй Trustee Plus 👉
Вікторія ГорбікРобота
5 липня 2024, 09:00
2024-07-05
SmallTalk with Senior. Досвідчений Python Engineer розповів, як дорости до сеньйорного тайтлу, чому все відносно в цій спеціалізації й чому тут не має «срібної кулі»
Зустрічайте черговий матеріал рубрики в циклі матеріалів SmallTalk with Senior на dev.ua.
Про фахівців із роботи на Python вже розповідав Олександр Вітер, тоді мова йшла про девелоперів. У розмові чи описі вакансії терміни Software Developer і Software Engineer частіше використовуються, як синоніми. Про те, чи є різниця в цих поняттях, що характеризує Software Python Engineer та як дорости до сеньйорного рівня у цьому напрямі? Про шлях до рівня senior із власного досвіду розповів 29-річний Владислав Небеснюк Python Engineer із майже 10-річним досвідом.
Зустрічайте черговий матеріал рубрики в циклі матеріалів SmallTalk with Senior на dev.ua.
Про фахівців із роботи на Python вже розповідав Олександр Вітер, тоді мова йшла про девелоперів. У розмові чи описі вакансії терміни Software Developer і Software Engineer частіше використовуються, як синоніми. Про те, чи є різниця в цих поняттях, що характеризує Software Python Engineer та як дорости до сеньйорного рівня у цьому напрямі? Про шлях до рівня senior із власного досвіду розповів 29-річний Владислав Небеснюк Python Engineer із майже 10-річним досвідом.
Якщо ви — сеньйор і бажаєте поділитися своїм досвідом — пишіть на пошту [email protected]
«Влад і IT»
Я з промислового міста Запоріжжя. Закінчив 28 гімназію в класі інформаційних технологій. Тут буде історія — «Влад і IT». З 9 класу в школі було розподілення на спеціалізовані класи: «фізико-математичний», «інформаційні технології», «хіміко-біологічний». Спільно з батьками було вирішено обрати клас «інформаційних технологій», бо тут була посилена англійська мова, інформатика і математика. «Доволі перспективні напрями», — казали батьки. Далі на інформатиці при розподілі на групи, якимось дивом я потрапив до «більш сильних» учнів, хоча в програмуванні я нічого не розумів, а завжди сидів на останній парті і ховався, щоб мене не викликали до дошки.
Водночас мені дуже подобалися вебсайти, їхнє «створення» (на той момент на конструкторі сайтів), їхнє наповнення і т. д. На диво, в мене склалися дуже добрі відносини з викладачем інформатики (привіт, Юрію Миколайовичу), тож коли постав момент обирати спеціальність у ВНЗ — я звернувся до нього за порадою — чи є сенс вступати на програмування. Відповідь була чесною: «Влад, ти не потягнеш».
Деякий час я ще думав обрати банківську справу, але врешті-решт вирішив — просто спробую, а там переведусь, і, попри думку викладача, вступив до Запорізької державної академії на спеціальність «програмна інженерія». Спробував — стало цікаво — почало щось виходити. Так і почався мій шлях в IT.
Трошки субʼєктивної думки щодо різниці між Developer та Engineer. Одразу скажу, що не зустрічав чіткого визначення цих понять, але для себе розумію це наступним чином:
Developer — людина, яка більше зосереджена на розробці, це більше вузькопрофільні спеціалісти, які класно виконують конкретні задачі.
Engineer — більш глобальне поняття. Ця людина вміє вникнути в розробку, тестування, налаштування, роботу з фізичними пристроями, за потреби. Такий собі універсальний солдат, але без глибокої деталізації — як у випадку з Developer.
Шлях сеньйора
Шлях до гордого звання «Senior» розпочався з третього курсу інституту. Так, звучить дивно, але зараз поясню, як так сталося. Все почалося з компанії, точніше типового стартапу, який знаходився у підвалі сусіднього будинку, де я жив. Я спробував себе на вакансію PHP-розробника, якого вивчав самостійно, але не пройшов. Через декілька днів отримав дзвінок з пропозицією пройти відбір в цій компанії на курси з Python з подальшим працевлаштуванням. Це була нова для мене мова і дуже цікава пропозиція, тож, пройшовши тримісячні курси, я розпочав свій комерційний шлях в IT.
Другою моєю посадою була вакансія Python Engineer, де працюю до сьогодні вже більше 7 років. Цей шлях був довгий, але дуже захопливий, і в цьому не останню роль зіграли ментори, які виділяли на мене свій час і нерви.
За цей доволі довгий час була змога попрацювати з великою кількістю проєктів (близько 15–20). Завжди новий проєкт — це невеличке хвилювання, як перед чимось новим і незвіданним. Але варто почати з розбору технічного завдання і всі переживання відразу проходять, і починається звичайна щоденна робота. Мені пощастило і всі проєкти були дуже різні: від звичайних CRM систем, або якихось невеличких веб-застосунків до більш «фізичних» проєктів, де потрібно було не тільки писати код, тестувати, розробляти CI/CD pipelines, займатися інфраструктурою в хмарі, а ще й попрацювати «руками». Один з таких проєктів використовував Raspberry Pi, які треба було прошивати, налаштовувати, моніторити тощо, або робити автоматизацію тестування на мобільних пристроях (це також можливо робити за допомогою мови програмування Python).
Щодо часу, скільки треба, щоб від Junior дорости до Senior — усе індивідуально, і дуже погана практика оцінювати скіл за допомогою шкали часу. Усі ми різні, і різна кількість часу нам треба, щоб опанувати ту чи іншу технологію.
Що по грошах
Звісно зарплата, яку я отримаю зараз, зросла в рази, у порівнянні з першою і це доволі сильна мотивація. Але треба розуміти, що ніхто не буде платити $1000 співробітнику, який лише пройшов трьохмісячні курси (можливо хтось і буде — але це не точно). Я починав із $600 на місяць, але в мене вже був певний background, тож я вже був такий собі Junior на мінімалках.
DOU пише, що зарплати сеньйорів продовжують знижуватися (-$100 за пів року), хоча й залишаються одними з найвищих на ринку.
Я не займаюсь щоденним моніторингом зарплатних виделок, але вважаю, що вказані зарплати цілком відповідають дійсності. Звісно, як і завжди, ми можемо казати про винятки, але це одиничні ситуації. Щодо зниження зарплат — не відчув на собі такої тенденції, тому важко коментувати цей момент. Якщо порівнювати зарплати в Україні і за кордоном — то, звичайно, за кордоном ви будете отримувати більше. Але давайте не будемо забувати про рівень життя і рівень оподаткування за кордоном. Тому після усіх вирахувань ви будете отримувати плюс-мінус ті самі гроші, можливо трошки більше. Знову ж таки варто пам’ятати, що досить великий відсоток розробників працює на закордонний ринок, знаходячись в Україні. Тому, на мій погляд, це найкращий компроміс — отримувати конкурентну заробітну плату.
Скрін DOU
Скрін DOU
Говорячи про підвищення оплати, потрібно зрозуміти — ви маєте приносити гроші компанії чи проєкту і тоді отримаєте віддачу (схожа аналогія із заліковою книжкою). Ви маєте бути корисними, а для цього маєте багато знати і вміти. Тому, якщо є дуже велике бажання, не гоніться спочатку за великою ставкою — вчіться. Це час, коли вам будуть платити за ваші помилки, бо вони будуть відносно дешево коштувати. Коли будете досвідченим спеціалістом, ваші помилки будуть коштувати набагато більше.
Що має знати кожен синьйор
Немає срібної кулі, яка допоможе вам досягти цього рівня. Так само, як і немає відповіді на питання — «що має знати Senior». Усе, знову ж таки, відносно. Ви можете сказати: «У тебе все відносно, налив нам тут води. Давай нормальні поради». Наведу приклад, як я розумію градацію спеціалістів (не претендую на авторство, можливо, десь це вже було):
Trainee — не знаю, не вмію, не відповідаю.
Junior — знаю, не вмію, не відповідаю.
Middle — знаю, вмію, не відповідаю.
Senior — знаю, вмію, відповідаю.
Отже, для мене Senior — це не про скіли, а про вміння самостійно вчитися, вирішувати проблеми та брати на себе відповідальність. У своєму проєкті ви як риба у воді — все знаєте і розумієте — тому можете впевнено сказати про себе Senior. А в іншому, зовсім незнайомі технології і підходи, і там ви вже не зможете так сказати про себе. Але що точно об'єднає тут людей рівня Senior — ви швидко і самостійно (або майже) розберетесь у чомусь новому, візьмете за це відповідальність і будете корисним бізнесу. А тепер поради, як стати сеньйором:
Знайдіть людину, яка погодиться з вами займатися (бо це дуууууже суттєво зекономить ваш час). Звісно тямущу людину (можливо Senior або Lead на вашому проєкті, або просто гарний знайомий).
Учіться «гуглити». І це дійсно важливий скіл. Можливо, зараз з розвитком AI цей скілл трохи втратив свою вагомість — але вміння лаконічно, правильно і, бажано, англійською формулювати свої думки (питання) — це вже 50% вирішення задачі.
Учіться вчитися. Бо тепер це буде з вами до кінця вашої кар'єри. Ви будете вчитись щодня і без цього ніяк (звісно, є винятки — де у вас одна мова і один стек технологій і ви живете з цим роками). Тому думка, що вам знову треба буде робити домашнє завдання, не має вас лякати.
Тому все відносно. Думайте про користь, яку ви приносите бізнесу. Це головне. Ви тут — щоб вирішувати проблеми бізнесу.
Залишу невеличку підбірку ресурсів, якими я користуюсь для поглиблення знань:
Udemy — дуже велика колекція різноманітних курсів, які дадуть базове представлення про ту чи іншу технологію, або мову програмування
Fwdays — онлайн та офлайн заходи, як то кажуть — тусовки. Тут Ви зможете послухати дуже розумних людей та завести корисні знайомства
Robot_dreams — навчальна платформа з платними курсами, але дуже компетентними викладачами і зручною lms для відстежування прогресу. Дуже важливо, що весь контент україномовний.
Не буду давати порад стосовно якогось конкретного стеку, або технологій — це все дуже мінливе і залежить від конкретної компанії і продукту. Зазвичай розробка починається з якихось конкретних людей, в яких є конкретний досвід з якимись інструментами і зазвичай вони і стають основою нового творіння. Тому, як порада, оберіть компанію, або декілька, проаналізуйте їхній стек і вивчайте його. Так у вас буде конкретний список для вивчення і, я думаю, на інтервʼю представникам буде дуже приємно, що ви готувалися до роботи саме з ними і вивчали потрібний їм стек.
Що може бути далі
Подальший розвиток сеньйора знову ж таки все залежить від напрямку проєкту, галузі тощо. Але зазвичай розумні книжки рекомендують два шляхи — розвиваємо soft skills і йдемо в менеджмент (Team Lead, свій бізнес, C-level і тд), або розвиваємо hard skills і йдемо в більш серйозну розробку (Solution Architect, якісь HighLoad проєкти і тд). Тут кожен вирішує для себе сам.
Я обрав soft skills — тож вчуся будувати результативну комунікацію між бізнесом і технічним відділом, керуванню командою (а це дууууже не просто), намагаюся простими словами пояснювати складні речі.
Колись одна доволі розумна людина сказала, що програмістом можна бути до 35 років, далі ти вже не зможеш конкурувати з «молоддю» (зараз полетить каміння за ейджизм).
Тому саме програмувати планую до 35, далі може бути більш менеджерська робота. Але про пасивний прибуток уже почав думати і робити певні кроки в цьому напрямі. Знову ж таки складно щось прогнозувати — тому поживемо — побачимо.
Про те, що буде, якщо не IT, можу повторити, що казав раніше — мабуть це було б щось, повʼязане з банківською справою, тому що маю не погане математичне підґрунтя.
Чи існує компанія мрії?
Під час опису компанії мрії не буду оригінальним:
цікавий проєкт — плюсом буде, якщо він якийсь соціально корисний,
правильно підібрана команда — дійсно люди, які готові разом вирішувати нові виклики,
висока зарплатня (куди ж без неї),
вплив — можливість приймати рішення і впливати на кінцевий результат.
Будь-чим, що виходить за ці межі, мабуть, можна знехтувати (але це не точно — ви вже мабуть накидали цікавих варіантів для себе).
Чому сеньйору зараз складно знайти роботу?
Пошук роботи — це окрема досить велика і важлива тема. Статистично зараз, або в найближчому майбутньому, має бути зростання попиту на IT вакансії, зокрема й розробників. Тенденція веде до того, що:
Усе більш цікавими є технології AI, відповідно і спеціалістів шукають з релевантним досвідом. Тому, якщо вже зараз почати цікавитися цим напрямом та пробувати себе в ньому — не думаю, що пошук роботи стане проблемою.
Знову ж таки важливе поняття є «особистий бренд», як часто ви спілкуєтеся з рекрутерами, чи є у вас знайомства в інших компаніях чи проєктах. Це все буде впливати на швидкість пошуку роботи.
Тому займайтеся собою, своїм розвитком і вперто йдіть до своєї цілі.
SmallTalk with Senior. Про те, як досягти сеньйорного тайтлу та сформувати «коктейль із хард, софт скілів і реального досвіду» від досвідченої QA Engineer
SmallTalk with Senior. Досвідчена Tech-рекрутерка розповідає, чому сеньйорість не вимірюється роками, та про інструменти досягнення найвищих щаблів кар’єри
Запускай код прямо в браузері: найкращі онлайн-компілятори для C++, PHP, Python, Java, C#, Go і не тільки
Не завжди є доступ до улюбленої IDE, або час на її запуск. Але коли потрібно швидко перевірити якийсь простий функціонал або втілити нову ідею, стане у пригоді онлайн-компілятор.
Мануал для джуна. Python Developer: запитання на співбесіді, практичні завдання та поради для початківців
Джунів, які шукають роботу, проходять купу співбесід та отримують відмови замість оферів, під час війни побільшало. А все тому, що до співбесід необхідно ретельно готуватися.
dev.ua продовжує серію матеріалів про те, що треба знати джунам для проходження співбесіди й отримання омріяного оферу від першого роботодавця.
Олександр Ковтунов, Python Software engineer компанії Ajax Systems, який також проводить співбесіди для junior- і middle-фахівців, розповів про професію Python Developer і надав поради, як початківцям долучитися до професії.
Хочу стати програмістом. З чого почати і як вибрати між Java Script, PHP, Python та іншими
Діана Смелікова, операційний директор Wezom Academy, у своєму блозі на DOU пояснила, з чого почати вивчати програмування та яким мовам варто налагодити перевагу на початковому етапі. Ось 5 важливих порад від неї.