Чи здатен він бути ефективним ментором для менш досвідчених колег. Серед так званих soft skills від Senior-пайтоніста найчастіше очікують комунікаційних, Вакансія Senior/Tech Lead Python Developer а в Каліфорнії ще й лідерських навичок. На жаль, багато розробників не розуміють прямого зв’язку між їхнім кодом і потребами бізнесу.
Буде плюсом: AWS, JavaScript, React, Docker, Kubernetes, Machine Learning, Kafka, NoSQL
У Каліфорнії 20% вакансій вказують досвід 6-10 років, в Україні таких було лише дві. Можна сказати, що 5 років в індустрії є надійною перепусткою до «сеньйорної» посади та зарплати. Для будь-якого Senior-розробника першочерговими є вміння аргументувати свій вибір, правильно доносити «чому так, а не інакше» до замовників і колег. У сеньйорів уже є достатньо знань і досвіду, щоб робити вклад в екосистему навколо. Прояв цього — внесок в open source та наявність комітів у release notes відомих пакетів.
Технології персистентності та Big Data, search engines та message brokers
32% вакансій в Україні вимагають від розробника вміти протестувати свій код. 24% українських роботодавців вказали, що очікують знання Git. Для когось важливий Linux, для інших — знання мікросервісної архітектури або TDD. Нижченаведені діаграми слугують нагадуванням, без яких компетенцій не обійтися на серйозному комерційному проєкті. Якщо дивитися на досвід, який вимагають у вакансіях, то, як правило, це 4-5 років.
Цікавинки, знайдені у вакансіях
Погляньмо на зарплати Senior Python Software Engineer залежно від рівня володіння англійською. На жаль, дані ще грудневі, докарантинні, але тенденцію за ними цілком можна побачити. На нижченаведених діаграмах зазначено як вимоги, так і побажання. Ми бачимо, що технології рівня Advanced часто вказують саме як «буде плюсом». Наступна група технологій є стандартним стеком Python-розробника.
- Вакансії усипані згадками різноманітних технологій.
- Для будь-якого Senior-розробника першочерговими є вміння аргументувати свій вибір, правильно доносити «чому так, а не інакше» до замовників і колег.
- Для зручності сприйняття всі дані показано у відсотках.
- Відтак Docker і Machine Learning, що мають по 16% згадок як плюс.
Владислав Бондар, Python Tech Lead в Wargaming
- Технології, згадані у вакансіях як плюс, можна розглядати як найбільш перспективні для вивчення.
- На нижченаведених діаграмах зазначено як вимоги, так і побажання.
- 32% вакансій в Україні вимагають від розробника вміти протестувати свій код.
- Не завжди технологічно вдале рішення є оптимальним з погляду закриття бізнес-потреби.
Технології, згадані у вакансіях як плюс, можна розглядати як найбільш перспективні для вивчення. Ці знання потрібні роботодавцям, але знайти спеціаліста, який ними володіє, не завжди можливо. Тому компанії готові не вимагати їх від кандидата, але однозначно віддадуть перевагу тому, хто ці знання вже має. У 40% вакансій в Україні зазначено, що буде плюсом знання AWS. Далі йде JavaScript, вказаний як плюс у 24% вакансій, і React — 20%. Відтак Docker і Machine Learning, що мають по 16% згадок як плюс.
- Наступна група технологій є стандартним стеком Python-розробника.
- На жаль, багато розробників не розуміють прямого зв’язку між їхнім кодом і потребами бізнесу.
- Хоча б мінімальні управлінські знання та основи Scrum точно знадобляться.
- Цікаво, що React виявився більш затребуваним, ніж Angular.
- Узагалі все й не перерахуєш, технології невпинно змінюються та розвиваються.
Проте не забувайте про розвиток знань із супутніх стеків, хоча б до середнього рівня. У них обов’язково має входити JavaScript і React або інші бібліотеки. Оскільки інколи в проєкті виникає потреба працювати з кодом, написаним чужою підготовка до співбесіди qa мовою, жодні додаткові знання не будуть зайвими. Щоб уникнути марної роботи та завдань для команди, потрібно вміти пояснювати складні технічні моменти нетехнічним спеціалістам. Розробницька команда очікуватиме, що саме Senior буде їх представляти в перемовинах з PM або ж замовником, до прикладу, у разі рефакторингу чи зміни технологій.
Часто їх не пишуть у вакансіях, бо те, що це треба знати, є і так зрозумілим. Розуміння архітектури та вміння застосовувати відповідні патерни. Senior Python Developer має розуміти, в яких випадках та які саме архітектурні патерни доцільно застосувати.
Не завжди технологічно вдале рішення є оптимальним з погляду закриття бізнес-потреби. Часом після аналізу деякі клієнтські завдання виявляються непотрібними, бо насправді не закривають чи не повністю закривають бізнес-потребу. Вірю, що будь-які намагання підвищити свою компетентність і розширити кругозір (у вигляді pet-проєктів та контрибуції в затребувані пакети) повернуться сторицею. Вузьку експертизу та знання Python вимагають ще з рівня Middle+, а от Senior-розробник повинен мати ширше бачення, як виправити проблемні моменти на проєкті загалом. Узагалі все й не перерахуєш, технології невпинно змінюються та розвиваються. І щоб не пасти задніх, людина має постійно вчити нове та самовдосконалюватись, залишатися, так би мовити, на гребені хвилі.
Вимога номер 1 в Україні — англійська мова, або Як заробляти на 9k/рік більше
Таке цінують (будь-де, і у нас, і в Каліфорнії), адже це показує ініціативу, спрямованість і компетентність фахівця. Робота в проєкті не обмежується лише кодом, часто потрібно спілкуватись із командою та замовником, отже, комунікативні навички теж цінні. Загалом вміння підтримати розмову ніколи не завадить.