Технології, згадані у вакансіях як плюс, можна розглядати як найбільш перспективні для вивчення. Ці знання потрібні роботодавцям, але знайти спеціаліста, який ними володіє, не завжди можливо. Тому компанії готові не вимагати їх від кандидата, але однозначно віддадуть перевагу тому, хто ці знання вже має. У 40% вакансій в Україні зазначено, що буде плюсом знання AWS. Далі йде JavaScript, вказаний як плюс у 24% вакансій, і React — 20%. Відтак Docker і Machine Learning, що мають по 16% згадок як плюс.
Стандартний стек Python-розробника
У Каліфорнії 20% вакансій вказують досвід 6-10 років, в Україні таких було лише дві. Можна сказати, що 5 років в індустрії є надійною перепусткою до «сеньйорної» посади та зарплати. Для будь-якого Senior-розробника першочерговими є вміння аргументувати свій вибір, правильно доносити «чому так, а не інакше» до замовників і колег. У сеньйорів уже є достатньо знань і досвіду, щоб робити вклад в екосистему навколо. Прояв цього — внесок в open source та наявність комітів у release notes відомих пакетів.
Що має знати Senior Python Back-end Developer. Аналіз вакансій в Україні та Каліфорнії
- І для загального розвитку раджу погуглити Dreyfus model of skill acquisition.
- Цього разу йтиметься про Senior Python Back-end Developer.
- Ми бачимо, що технології рівня Advanced часто вказують саме як «буде плюсом».
- Тому для такої ліберальної мови, як Python, гостро стоїть питання наявності значної кількості тестів (unit, component, integration, E2E тощо) для production-grade коду.
Чи здатен він бути ефективним ментором для менш досвідчених колег. Серед так званих soft skills від Senior-пайтоніста найчастіше очікують комунікаційних, а в Каліфорнії ще й лідерських навичок. На жаль, багато розробників не розуміють прямого зв’язку між їхнім кодом і потребами Вакансія Senior/Tech Lead Python Developer бізнесу.
Олексій Шевело, викладач курсу «Технології програмування» в КПІ, Python Software Development Lead у SoftServe
32% вакансій в Україні вимагають від розробника вміти протестувати свій код. 24% українських роботодавців вказали, що очікують знання Git. Для когось важливий Linux, для інших — знання мікросервісної архітектури або TDD. Нижченаведені діаграми слугують нагадуванням, без яких компетенцій не обійтися на серйозному комерційному проєкті. Якщо дивитися на досвід, який вимагають у вакансіях, то, як правило, це 4-5 років.
Александр Березовский, Lead Python Engineer в EPAM
- Проте не забувайте про розвиток знань із супутніх стеків, хоча б до середнього рівня.
- Senior Developer — це насамперед про готовність бути в ролі досвідченого Python-розробника, DevOps-інженера, архітектора та Lead’а команди одночасно.
- Розробницька команда очікуватиме, що саме Senior буде їх представляти в перемовинах з PM або ж замовником, до прикладу, у разі рефакторингу чи зміни технологій.
- Але мати уявлення про Front-end Python-розробнику теж не завадить і часто буде конкурентною перевагою.
- Оскільки інколи в проєкті виникає потреба працювати з кодом, написаним чужою мовою, жодні додаткові знання не будуть зайвими.
Проте не забувайте про розвиток знань із супутніх стеків, хоча б до середнього рівня. У них обов’язково має входити JavaScript і React або інші бібліотеки. Оскільки інколи в проєкті виникає потреба працювати з кодом, написаним чужою мовою, жодні додаткові знання не будуть зайвими. Щоб уникнути марної роботи та завдань для команди, потрібно вміти пояснювати складні технічні моменти нетехнічним спеціалістам. Розробницька команда очікуватиме, що саме Senior буде їх представляти в перемовинах з PM або ж замовником, до прикладу, у разі рефакторингу чи зміни технологій.
Таке цінують (будь-де, і у нас, і в Каліфорнії), адже це показує ініціативу, спрямованість і компетентність фахівця. Робота в проєкті не обмежується лише кодом, часто потрібно спілкуватись із командою та замовником, отже, комунікативні навички теж цінні. Загалом вміння підтримати розмову ніколи не завадить.
Часто їх не пишуть у вакансіях, бо те, що це треба знати, Product manager це є і так зрозумілим. Розуміння архітектури та вміння застосовувати відповідні патерни. Senior Python Developer має розуміти, в яких випадках та які саме архітектурні патерни доцільно застосувати.
Буде плюсом: AWS, JavaScript, React, Docker, Kubernetes, Machine Learning, Kafka, NoSQL
Не завжди технологічно вдале рішення є оптимальним з погляду закриття бізнес-потреби. Часом після аналізу деякі клієнтські завдання виявляються непотрібними, бо насправді не закривають чи не повністю закривають бізнес-потребу. Вірю, що будь-які намагання підвищити свою компетентність і розширити кругозір (у вигляді pet-проєктів та контрибуції в затребувані пакети) повернуться сторицею. Вузьку експертизу та знання Python вимагають ще з рівня Middle+, а от Senior-розробник повинен мати ширше бачення, як виправити проблемні моменти на проєкті загалом. Узагалі все й не перерахуєш, технології невпинно змінюються та розвиваються. І щоб не пасти задніх, людина має постійно вчити нове та самовдосконалюватись, залишатися, так би мовити, на гребені хвилі.