Our Blog

Що має знати Senior Python Back-end Developer Аналіз вакансій в Україні та Каліфорнії

Senior/Tech Lead Python Developer

Технології, згадані у вакансіях як плюс, можна розглядати як найбільш перспективні для вивчення. Ці знання потрібні роботодавцям, але знайти спеціаліста, який ними володіє, не завжди можливо. Тому компанії готові не вимагати їх від кандидата, але однозначно віддадуть перевагу тому, хто ці знання вже має. У 40% вакансій в Україні зазначено, що буде плюсом знання AWS. Далі йде JavaScript, вказаний як плюс у 24% вакансій, і React — 20%. Відтак Docker і Machine Learning, що мають по 16% згадок як плюс.

Технології персистентності та Big Data, search engines та message brokers

У Каліфорнії 20% вакансій вказують досвід 6-10 років, в Україні таких було лише дві. Можна сказати, що 5 років в індустрії є надійною перепусткою до «сеньйорної» посади та зарплати. Для будь-якого Senior-розробника першочерговими є вміння аргументувати свій вибір, правильно доносити «чому так, а не інакше» до замовників і колег. У сеньйорів уже є достатньо знань і досвіду, щоб робити вклад в екосистему навколо. Прояв цього — внесок в open source та наявність комітів у release notes відомих пакетів.

Senior/Tech Lead Python Developer

Олексій Шевело, викладач курсу «Технології програмування» в КПІ, Python Software Development Lead у SoftServe

Чи здатен він бути ефективним ментором для менш досвідчених колег. Серед так званих soft skills від Senior-пайтоніста найчастіше очікують комунікаційних, а в Каліфорнії ще й лідерських навичок. На жаль, багато розробників не розуміють прямого зв’язку між їхнім кодом і потребами бізнесу.

  • Робота в проєкті не обмежується лише кодом, часто потрібно спілкуватись із командою та замовником, отже, комунікативні навички теж цінні.
  • 32% вакансій в Україні вимагають від розробника вміти протестувати свій код.
  • Загалом вміння підтримати розмову ніколи не завадить.
  • І наостанок ще одна з надважливих якостей — вміння працювати з технічною документацією та вихідним кодом.
  • На жаль, дані ще грудневі, докарантинні, але тенденцію за ними цілком можна побачити.

Концептуальні знання

32% вакансій в Україні вимагають від розробника вміти протестувати свій код. 24% українських співбесіда з роботодавцем роботодавців вказали, що очікують знання Git. Для когось важливий Linux, для інших — знання мікросервісної архітектури або TDD. Нижченаведені діаграми слугують нагадуванням, без яких компетенцій не обійтися на серйозному комерційному проєкті. Якщо дивитися на досвід, який вимагають у вакансіях, то, як правило, це 4-5 років.

Буде плюсом: AWS, JavaScript, React, Docker, Kubernetes, Machine Learning, Kafka, NoSQL

Senior/Tech Lead Python Developer

Проте не забувайте про розвиток знань із супутніх стеків, хоча б до середнього рівня. У  них обов’язково має входити JavaScript і React або інші бібліотеки. Оскільки інколи в проєкті виникає потреба працювати з кодом, написаним чужою мовою, жодні додаткові знання не будуть зайвими. Щоб уникнути марної роботи та завдань для команди, потрібно вміти пояснювати складні технічні моменти нетехнічним спеціалістам. Розробницька команда очікуватиме, що саме Senior буде їх представляти в перемовинах з PM або ж замовником, до прикладу, у разі рефакторингу чи зміни технологій.

Вимога номер 1 в Україні — англійська мова, або Як заробляти на 9k/рік більше

Погляньмо на зарплати Senior Python Software Engineer залежно від рівня володіння англійською. На жаль, дані ще грудневі, докарантинні, але тенденцію за ними цілком можна побачити. На нижченаведених діаграмах зазначено як вимоги, так і побажання. Ми бачимо, що технології рівня Advanced часто вказують саме як «буде плюсом». Наступна група технологій є стандартним стеком Python-розробника.

Таке цінують (будь-де, і у нас, і в Каліфорнії), адже це показує ініціативу, спрямованість і компетентність фахівця. Робота в проєкті не обмежується лише кодом, часто потрібно спілкуватись із командою та замовником, отже, комунікативні навички теж цінні. Загалом вміння підтримати розмову ніколи не завадить.

Александр Березовский, Lead Python Engineer в EPAM

  • У 40% вакансій в Україні зазначено, що буде плюсом знання AWS.
  • У них обов’язково має входити JavaScript і React або інші бібліотеки.
  • Для когось важливий Linux, для інших — знання мікросервісної архітектури або TDD.
  • Тому компанії готові не вимагати їх від кандидата, але однозначно віддадуть перевагу тому, хто ці знання вже має.
  • Прояв цього — внесок в open source та наявність комітів у release notes відомих пакетів.

Часто їх не пишуть у вакансіях, бо те, що це треба знати, є і так зрозумілим. Розуміння архітектури та вміння застосовувати відповідні патерни. Senior Python Developer має розуміти, в яких випадках та які саме архітектурні патерни доцільно застосувати.

Що має знати Senior Python Back-end Developer. Аналіз вакансій в Україні та Каліфорнії

Senior/Tech Lead Python Developer

Динамічна типізація вимагає більшої дисципліни від програміста, ніж статична, адже потенційна кількість runtime-помилок є величезною. Тому для такої ліберальної мови, як Python, гостро стоїть питання наявності значної кількості тестів (unit, component, integration, E2E тощо) для production-grade коду. Вакансія Senior/Tech Lead Python Developer Відношення та напрацьовані підходи (типу TDD) до написання тестів (більш-менш) виділяють людей рівня Senior з-поміж мідлів та юніорів.

Не завжди технологічно вдале рішення є оптимальним з погляду закриття бізнес-потреби. Часом після аналізу деякі клієнтські завдання виявляються непотрібними, бо насправді не закривають чи не повністю закривають бізнес-потребу. Вірю, що будь-які намагання підвищити свою компетентність і розширити кругозір (у вигляді pet-проєктів та контрибуції в затребувані пакети) повернуться сторицею. Вузьку експертизу та знання Python вимагають ще з рівня Middle+, а от Senior-розробник повинен мати ширше бачення, як виправити проблемні моменти на проєкті загалом. Узагалі все й не перерахуєш, технології невпинно змінюються та розвиваються. І щоб не пасти задніх, людина має постійно вчити нове та самовдосконалюватись, залишатися, так би мовити, на гребені хвилі.