Согласно индексу TIOBE популярности языков программирования, на апрель 2021 Python занимает третье место. Его опережают только C и Java. Python-разработчик — один из постоянных стримов нашей команды. Поговорили с консультантом GlobalCareer Анастасией Капканец о специфике подбора таких специалистов.
— Почему Python-разработчик такой востребованный специалист?
А. К.: Этот язык достаточно простой и универсальный. У него понятный синтаксис, что позволяет разработчикам быстро его осваивать. Что же касается применения, то на Python можно писать и одноразовые скрипты для манипуляций с данными, и использовать его в разработке веб-бэкенда, компьютерных игр или при работе с data science и искусственным интеллектом. К тому же он давно появился, поэтому есть множество библиотек, которые значительно упрощают разработку.
— Ты назвала очень разные области применения Python, а специалистам для работы в них нужны разные навыки?
А. К.: Как правило, есть основной стек, который все заказчики ждут от Python-разработчиков, но в зависимости от задач и проекта могут отличаться пожелания по опыту и навыкам.
— Расскажи чуть подробнее про стек?
А. К.: Мы работаем с крупными заказчиками, поэтому и требования к технологиям и опыту серьезные. Так, от Python-разработчик должен обладать опытом коммерческой разработки от 3-х лет. Как правило, речь идет о Python 3 и выше, более ранние версии языка сейчас уже мало кто использует. Важно знание фреймворка Django (ORM, Templates, Forms), т.к. благодаря ему можно быстрее переходить от прототипов к готовым сервисам. Большинство проектов, которые реализуются сегодня, рассчитаны на работу с огромными объёмами данных, поэтому кандидату необходимы навыки асинхронного программирования, а также отличные знания PostgreSQL. Для контейнеризации и развертывания веб-приложений пригодится опыт работы с Docker, а для управления системами контроля версий — Git или Mercurial. Большинство проектов наших заказчиков — веб-разработка, поэтому от соискателей требуется понимание того, как работают веб-приложения, как проектировать сервисы, также обращают внимание на опыт эксплуатации в проде.
— А важно ли на каких проектах специалист работал ранее или Python настолько универсален, что значимой разницы между, например, финтех и ретейлом нет?
А. К.: Язык действительно универсальный, и конкретная отрасль, в которой прежде работал Python-разработчик, не столь важна. Хотя есть и исключения, например, банки. Они, как правило, заинтересованы в кандидатах, уже работавших в финтехе. Но при этом практически все крупные работодатели обращают внимание на проекты, которые делал претендент. Так, если это были чат-боты или тестирование, то, скорее всего, у соискателя недостаточно практических навыков для решения масштабных задач. А если коммерческий опыт специалиста 2-3 года, он работал в крупных командах, взаимодействовал с другими разработчиками, тестировщиками, аналитиками, то вероятность успешно пройти собеседование и получить предложение о работе выше. Такой специалист сможет быстрее приступить непосредственно к решению своих задач и потребует меньше времени на адаптацию и дополнительное обучение.
— Может приведешь примеры из своего опыта?
А. К.: Да, конечно. Вот, например, у нас есть вакансия для Python-разработчика с небольшим опытом. Заказчик — крупнейший российский системный интегратор — ищет молодого, талантливого специалиста для усиления команды крупного российского банка. Проект рассчитан на 3 года. Кандидату предстоит работать в группе инженеров и разработчиков. А это отличная возможность прокачать свои технические навыки и коммуникативные скилы. От претендента здесь требуется опыт коммерческой разработки на Python от 1 года, навыки создания и интеграции приложений и веб-сервисов (REST API , JSON, XML), опыт работы с MS SQL и Jira, а также навыки тестирования.
— Хорошо, а что есть для опытных специалистов?
А. К.: Сейчас у нас открыт поиск Senior Python developer в команду разработки PIM-системы для крупнейшей маркетплейс-платформы России. Благодаря системе пользователи смогут получить достоверное и полное описание товаров и услуг, их стоимости, а заказчик сможет полностью контролировать информацию о продуктах и видеть самые последние данные о них. Разработка ведется с нуля, легаси-кода нет, что достаточно редкий случай для столь масштабного проекта. Команда состоит из специалистов высочайшего уровня, а в работе используется современнейший стек технологий, в том числе и ML. Здесь необходим кандидат с опытом от 5-ти лет, работавший в должности Senior Python developer или Python Team Lead. Важно чтобы специалист отлично знал сам Python и его фреймворки, умел работать с Docker, Git, обладал навыками асинхронного программирования, знал принципы работы протоколов и API, ORM и миграции, реляционных баз данных, понимал основы HTML, CSS, Bootstrap, а также JS-фреймворки и JQuery. Серьёзные требования, но и проект интересный. Причем у заказчика очень быстрые сроки рассмотрения кандидатов — всё онлайн и решается буквально за пару собеседований.
— Изменился ли процессинг приема на работу в компаниях за последний год?
А. К.: Все перешли на удаленку. Работодатели, которые раньше такой вариант работы не рассматривали, теперь проводят онлайн-интервью и даже технику для работы новым сотрудникам отправляют домой. Пожалуй, это основное для всех. Отдельные компании ускорили процесс проверки и согласования кандидатов.
— По каким принципам вы определяете, какие специалисты в какой проект впишутся?
А. К.: Это вопрос не только конкретного стека или опыта. Отталкиваясь от навыков и знаний, указанных в резюме, я могу сказать под какие проекты кандидат может подойти. Но есть ещё soft skills и карьерные интересы, поэтому мы всегда беседуем с претендентами, обсуждаем их цели. Как правило, у меня в работе одновременно несколько вакансий для разных заказчиков и я описываю варианты соискателям — задачи, продукты, векторы развития — и мы вместе подбираем наиболее интересный вариант.
- А какие варианты карьерного развития у Python-разработчиков?
А. К.: Их достаточно много. Можно уходить в смежные сферы, а можно прокачивать свои навыки и расти в Senior-разработчика или Team Lead. На самом деле, благодаря гибкости и простоте языка в большинстве крупных компаний сейчас есть проекты, непосредственно связанные с разработкой на Python. И пожалуй, наиболее интересные из них реализуются в области AL/ML. Так, для создания приложений здесь нужен стабильный, безопасный, независимый язык, что полностью подходит под описание характеристик Python. Поэтому он активно используется для расширенных вычислений, аналитики данных, распознавания изображений и многого другого. Но важно учитывать, что проекты такого уровня весьма масштабны, трудоемки и ответственны, следовательно, требуют от кандидатов солидного опыта, серьёзной подготовки и знания новейшего стека технологий.
Если вы Python-разработчик и ищете для себя интересный проект, напишите нам, мы подберем перспективные варианты.