Рубрика:
Карьера/Образование /
Рынок труда
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Вакансия: программист Python
Язык программирования Python является одним из самых популярных в мире. Согласно рейтингу TIOBE Index в нынешнем январе он занимал восьмое место. Профессия программиста востребована – представители компаний рассказывают, каких специалистов они хотят видеть в своей команде
1. Какими знаниями и навыками должен обладать программист Python?
2. Каков инструментарий программиста Python?
3. Каковы требования компании к уровню образования потенциальных сотрудников?
4. Какие требования предъявляются к опыту работы?
5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?
Алексей Бондарь, менеджер проектов «Лаборатории Касперского»
1. Это во многом зависит от проекта. В нашем случае интересны отличные знания Python 2.7, опыт работы не менее двух лет разработки backend (не веб), желателен опыт разработки высоконагруженных систем.
2. От текстового редактора до полноценного IDE (например, PyCharm).
3. Желательно высшее техническое образование, но незаконченное тоже подойдет.
4. Опыт работы не менее двух лет по разработке backend (не веб).
5. Особые требования, которые обусловлены спецификой деятельности компании можно описать так:
- желание и умение глубоко вкапываться в проблему и находить ее корневые причины;
- широкий кругозор разработчика;
- умение аргументированно отстаивать свое мнение;
- адекватность и конструктивность;
- инициативность;
- коммуникабельность.
Денис Силаков, начальник отдела технологических разработок и сопровождения в «НТЦ ИТ РОСА»
1. Основные требования, которые обусловлены спецификой деятельности компании:
- знание сильных и слабых сторон языка Python, а также отличий Python3 от Python2;
- знание принципов ООП и умение им следовать;
- знание SQL, основ оптимизации запросов, опыт работы с MySQL/MariaDB и проектирования небольших баз данных;
- знакомство с Linux, по крайней мере на уровне продвинутого пользователя;
- знакомство с принципами коллективной разработки – системами контроля версий, трекерами задач и так далее;
- уверенный технический английский.
2. Необходимо умение пользоваться интерпретатором Python и отладчиком pdb. К использованию IDE мы требований не предъявляем – многим программистам хватает легковесных сред наподобие Geany, другие используют более «навороченные» продукты – например, PyCharm. Единственное, о чем следует помнить, – это то, что в «НТЦ ИТ РОСА» предпочтение отдается свободным инструментам разработки, и для покупки проприетарной IDE для программиста Python понадобятся очень веские основания.
3. Наличие высшего технического образования будет плюсом, однако оно не является ни необходимым, ни достаточным условием даже для приглашения кандидата на собеседование. Для нас важны практические навыки, которые диплом вряд ли может подтвердить.
4. На позицию программиста Python мы готовы брать людей, не имеющих опыта промышленной разработки, но способных продемонстрировать уверенное знание языка и инструментария разработки. Лучше всего, если в качестве подтверждения навыков будут выступать доведенные до рабочего состояния проекты – пусть даже и учебные.
5. «НТЦ ИТ РОСА» занимается прежде всего разработкой дистрибутивов Linux, а программисты Python в нашей компании создают различные инструменты и сервисы для управления этими дистрибутивами. Как следствие, им приходится глубоко погружаться не только в язык, но и в предметную область, на которую нацелен конкретный инструментарий – например, в управление пакетами либо в настройку тех или иных аппаратных устройств. Поэтому уверенное знание внутренней структуры Linux будет большим плюсом при приеме на работу.
Тимур Макарчук, ведущий разработчик Group-IB
1. Питон всегда был языком, для которого характерен довольно низкий порог вхождения, этот язык создан для того, чтобы можно было быстро и эффективно писать красивые программы, поэтому главное – обладать общими знаниями и навыками программирования. Конечно, для написания более крупных и сложных систем нужно так же отслеживать использование программой ресурсов компьютера и не забывать об эффективности. Для этого будет не лишним ознакомиться с рядом библиотек, которые берут на себя некоторые сложности.
2. Питон является интерпретируемым языком. Конечно, его можно скомпилировать в байт-код или даже в исполняемый, но делается это нечасто, поэтому все, что нужно для написания и запуска небольших скриптов, – это интерпретатор и любимый текстовый редактор (я предпочитаю Sublime Text 2, раньше пользовался IDE Spyder2).
3. Как и в большинстве компаний, с представителями которых мне приходилось общаться, на позиции программиста далеко не всегда берут людей с профильным образованием. Конечно, в большинстве случаев это люди с техническим образованием и складом ума, но упор делается скорее на практические навыки, а не на образование, т.к. вузы обычно делают упор на теоретические знания.
4. Требования к опыту работы по большей части зависят от желаемой должности. Когда я сам устраивался в Group-IB, единственным моим опытом работы было около полугода веб-разработки, а единственный опыт написания чего-то на Python сводился к написанию небольших скриптов для собственного использования дома.
5. Не сказал бы. В Group-IB на собеседовании меня спросили, имею ли я представление об основных типах уязвимостей, хотя не думаю, что ответ на этот вопрос стал определяющим, т.к. моя деятельность не имеет непосредственного отношения к информационной безо-пасности.
Константин Назаров, руководитель команды разработки в Parallels, DevOps-практик
1. Начнем со знания языка. Во-первых, нужно определиться, что значит «знание языка». Синтаксис Python очень прост и сам по себе не представляет проблем. Чтобы писать полезный код и зарабатывать себе на хлеб, не обязательно даже хорошо разбираться в конкретных библиотеках. Но что действительно важно, так это тот факт, что сейчас все развитие ИТ-отрасли движется в сторону мобильных и веб-сервисов.
Поэтому в копилку любому питонисту отлично ляжет общее знание Linux, понимание того, как работает HTTP и как пишутся современные веб-проекты. Ну, еще, пожалуй, основы обработки текста, типа регулярных выражений и парсеров. Особенно это будет полезно студентам, которые еще не определились, куда им двигаться.
2. UNIX, хороший текстовый редактор и голова на плечах. Все остальное – вторично. Еще, пожалуй, тактический print(). Это, кстати, целая наука, и делать это правильно умеют далеко не все.
3, 4. Мы в первую очередь ищем людей, которые умеют и хотят решать прикладные задачи. Нам не важно, программировал ли человек на Python или нет. Вместо этого ищем опыт программирования на любом высокоуровневом или скриптовом языке. Почему? Потому что мы искренне верим, что программирование на Python – это не то, что дифференцирует «нашего» человека. Конечно, если вы на собеседование принесете лэптоп и сможете написать несколько строк рабочего «питона», это добавит вам несколько бонусных пунктов.
Обычно же на собеседовании мы проверяем общую эрудицию, спрашивая человека о самых разных вещах из его доменной области. Например, для интеграционных инженеров и админов это будет:
- разностороннее знание UNIX;
- понимание цикла разработки ПО;
- умение писать комментарии;
- понимание, как тестировать код;
- количество и качество лично набитых шишек;
- творческий подход к проблемам.
Ну и очень внимательно проходимся по резюме и портфолио. Если у человека есть активный аккаунт на GitHub, мы можем пропустить тестовые задачки и просто поговорить об одном из проектов.
5. Прежде всего Python – это Perl нашего времени, получивший популярность во всех технологических кругах, а не только у системных администраторов. Он популярен, потому что освоить его может даже новичок, а выстрелить себе в ногу из него нужно еще суметь. Я думаю, что Python де-факто выиграл войну популярности и скорее всего будет удерживать пальму первенства, пока на рынок не выйдет какой-нибудь язык следующего поколения, вобравший все лучшее из Go, Python и какой-нибудь Julia. Многие считают, что Go будет вытеснять Python, но я не думаю, что это случится.
Поэтому в Parallels практически все, что мы можем написать на Python, мы пишем на нем. Мы используем его и как универсальный «клей» для систем, и как средство для написания внутренних сервисов. Исключения, как правило, составляют компоненты, требующие высокой производительности, которые мы пишем на C++ или Java. Ну, или сторонние системы, написанные на других языках. Например, Chef, который мы используем для автоматического разворачивания софта на серверах, написан на Ruby, и приходится использовать его.
Одно из преимуществ Python в этом смысле – мы можем не только написать код для себя, но и быть полезным очень широкому кругу людей, выпуская код в открытый доступ. Например, вот этот: https://github.com/Parallels/artifactory.
Александр Горный, директор по информационным технологиям Mail.Ru Group
Python – один из самых популярных в Mail.Ru Group языков программирования, на нем разрабатываются совершенно разные проекты – начиная от облака Mail.Ru и заканчивая внутренними интранет-системами.
1. Как и любой другой программист, программист на Python – это переводчик с языка людей на язык компьютера. А значит, главное, что он должен уметь, – это слышать, что ему говорят, и понимать, как устроены и как работают основные компьютерные системы. Недостаточно уметь пользоваться сетью или базами данных, надо хотя бы на базовом уровне понимать, как они устроены внутри.
2. Что касается конкретных инструментов, то в первую очередь это, разумеется, сам Python и популярные фреймворки для него, такие как Django. Современная разработка немыслима без фронтенд-части. Хороший разработчик обязательно знает HTML и основы CSS, умеет программировать на JavaScript, знаком с jQuery и Bootstrap. Последний пункт джентльменского набора – СУБД, чаще всего MySQL или PostgreSQL.
3. У нас нет формальных требований к диплому. Очевидно, что в среднем выпускник ВМК или мехмата МГУ сильнее, чем бывший студент заборостроительного техникума в далеком райцентре, но это лишь статистика, а не критерий.
Cудьба и карьера каждого человека индивидуальны, и сильный разработчик может прийти из непрофильного вуза или вообще быть без законченного высшего образования.
С другой стороны, даже лучшие университеты страны не дают хорошего практического образования, и, к сожалению, их выпускники не являются готовыми специалистами. Наши образовательные проекты – Технопарк на базе МГТУ имени Баумана и Техносфера на базе ВМК МГУ – как раз и призваны дать студентам конкретные навыки из мира современных веб-технологий, в том числе и знание Python. Для нас самих факт выпуска студента из Технопарка или Техносферы является определенной «маркой» и показателем уровня квалификации, думаем, что скоро так же к ним будут относиться и остальные компании на рынке.
4. Формальных требований нет, но можно говорить, что в среднем разработчик становится полностью самостоятельным после двух-трех лет работы «вторым номером».
5. Все дополнительные требования вытекают из того, что проектами Mail.Ru Group пользуются миллионы людей. Во-первых, желателен практический опыт работы с высокими нагрузками или хотя бы теоретическое понимание, как с ними жить. Во-вторых, нужно уметь писать тесты на свой код или быть готовым научиться их писать. Ну и, в-третьих, надо любить свою работу и своих пользователей – если творить с душой, получается гораздо лучше.
Подготовил Игорь Штомпель
Программист Python – высокооплачиваемая специальность
Программисты Python разрабатывают приложения и сервисы, осуществляют их поддержку, интеграцию и оптимизацию. Обязанности разработчиков также включают написание технических заданий и документации.
Одни из наиболее высоких зарплатных предложений программистам Python готовы сделать компании сферы ИТ и телекоммуникаций: средний рыночный заработок в Москве составляет 105 000 руб., в Санкт-Петербурге – 85 000 руб., в Краснодаре – 65 000 руб., Екатеринбурге – 70 000 руб., во Владивостоке – 75 000 руб. Данные об ожидаемом доходе программистов Python в компаниях других сфер деятельности представлены ниже (см. таблицы).
Требования к начинающим программистам Python достаточно лаконичны. Соискателям, не имеющим опыта работы, необходимо иметь законченное или неполное высшее образование (профильное либо техническое), знать CSS, HTML и основы программирования на Python. ИТ-сфера предлагает начинающим разработчикам Python зарплату от 40 000 до 65 000 руб. (Москва), от 35 000 до 50 000 руб. (Санкт-Петербург), от 25 000 до 40 000 руб. (Краснодар), от 25 000 до 45 000 руб. (Екатеринбург), от 30 000 до 50 000 руб. (Владивосток).
Вход в следующий зарплатный диапазон открыт программистам со стажем разработки на Python от 1 года. Также востребован опыт работы с MySQL и навыки разработки веб-сервисов. Соискателям необходимо знать JavaScript и владеть английским языком на уровне, достаточном для чтения технической документации. Верхняя граница зарплатных предложений для разработчиков, соответствующих указанным требованиям, составляет 80 000 руб. (Москва), 65 000 руб. (Санкт-Петербург), 50 000 руб. (Краснодар), 55 000 руб. (Екатеринбург), 60 000 руб. (Владивосток).
Повышает «стоимость» специалиста на рынке труда стаж программирования от 2 лет, опыт разработки высоконагруженных проектов и навыки работы с системами контроля версий. Соискателям также необходимо знать Linux. Нередко работодатели требуют знания дополнительного языка программирования (PHP, Java, С). Повышенными шансами на трудоустройство обладают программисты, имеющие портфолио выполненных проектов. В ИТ-компаниях программисты Python указанного профессионального уровня зарабатывают до 120 000 руб. (Москва), до 95 000 руб. (Санкт-Петербург), до 70 000 руб. (Краснодар), до 80 000 руб. (Екатеринбург), до 90 000 руб. (Владивосток).
Анализ информации по уровням оплаты труда специалиста: без учета бонусов, дополнительных льгот и компенсаций:
З/п диапазон |
Город / Отрасль |
ИТ Телекоммуникации |
Промышленность Производство |
Строительство Управление недвижимостью |
Финансы |
Продажи В2В |
Продажи В2C |
I |
Москва |
40 000 – 65 000 |
45 000 – 60 000 |
40 000 – 60 000 |
45 000 – 65 000 |
40 000 – 60 000 |
45 000 – 60 000 |
СПб |
35 000 – 50 000 |
40 000 – 50 000 |
35 000 – 50 000 |
40 000 – 50 000 |
35 000 – 50 000 |
35 000 – 50 000 |
Краснодар |
25 000 – 40 000 |
25 000 – 35 000 |
25 000 – 35 000 |
25 000 – 40 000 |
25 000 – 35 000 |
25 000 – 35 000 |
Екатеринбург |
25 000 – 45 000 |
30 000 – 40 000 |
25 000 – 40 000 |
30 000 – 45 000 |
25 000 – 40 000 |
30 000 – 40 000 |
Владивосток |
30 000 – 50 000 |
30 000 – 45 000 |
30 000 – 45 000 |
30 000 – 50 000 |
30 000 – 45 000 |
30 000 – 45 000 |
II |
Москва |
65 000 – 80 000 |
60 000 – 75 000 |
60 000 – 80 000 |
65 000 – 80 000 |
60 000 – 80 000 |
60 000 – 80 000 |
СПб |
50 000 – 65 000 |
50 000 – 60 000 |
50 000 – 65 000 |
50 000 – 65 000 |
50 000 – 65 000 |
50 000 – 65 000 |
Краснодар |
40 000 – 50 000 |
35 000 – 45 000 |
35 000 – 50 000 |
40 000 – 50 000 |
35 000 – 50 000 |
35 000 – 50 000 |
Екатеринбург |
45 000 – 55 000 |
40 000 – 50 000 |
40 000 – 55 000 |
45 000 – 55 000 |
40 000 – 55 000 |
40 000 – 55 000 |
Владивосток |
50 000 – 60 000 |
45 000 – 55 000 |
45 000 – 60 000 |
50 000 – 60 000 |
45 000 – 60 000 |
45 000 – 60 000 |
III |
Москва |
80 000 – 120 000 |
75 000 – 110 000 |
80 000 – 110 000 |
80 000 – 110 000 |
80 000 – 110 000 |
80 000 – 115 000 |
СПб |
65 000 – 95 000 |
60 000 – 90 000 |
65 000 – 90 000 |
65 000 – 90 000 |
65 000 – 90 000 |
65 000 – 95 000 |
Краснодар |
50 000 – 70 000 |
45 000 – 65 000 |
50 000 – 65 000 |
50 000 – 65 000 |
50 000 – 65 000 |
50 000 – 70 000 |
Екатеринбург |
55 000 – 80 000 |
50 000 – 75 000 |
55 000 – 75 000 |
55 000 – 75 000 |
55 000 – 75 000 |
55 000 – 75 000 |
Владивосток |
60 000 – 90 000 |
55 000 – 80 000 |
60 000 – 80 000 |
60 000 – 80 000 |
60 000 – 80 000 |
60 000 – 85 000 |
IV |
Москва |
120 000 – 180 000 |
110 000 – 150 000 |
110 000 – 130 000 |
110 000 – 130 000 |
110 000 – 120 000 |
115 000 – 130 000 |
СПб |
95 000 – 140 000 |
90 000 – 110 000 |
90 000 – 110 000 |
90 000 – 110 000 |
90 000 – 100 000 |
95 000 – 105 000 |
Краснодар |
70 000 – 110 000 |
65 000 – 90 000 |
65 000 – 80 000 |
65 000 – 80 000 |
65 000 – 75 000 |
70 000 – 80 000 |
Екатеринбург |
80 000 – 120 000 |
75 000 – 100 000 |
75 000 – 90 000 |
75 000 – 90 000 |
75 000 – 80 000 |
75 000 – 90 000 |
Владивосток |
90 000 – 120 000 |
80 000 – 110 000 |
80 000 – 100 000 |
80 000 – 100 000 |
80 000 – 90 000 |
85 000 – 100 000 |
Среднее (медиана) |
Москва |
105 000 |
95 000 |
105 000 |
105 000 |
100 000 |
105 000 |
СПб |
85 000 |
75 000 |
85 000 |
85 000 |
80 000 |
85 000 |
Краснодар |
65 000 |
55 000 |
65 000 |
65 000 |
60 000 |
65 000 |
Екатеринбург |
70 000 |
65 000 |
70 000 |
70 000 |
65 000 |
70 000 |
Владивосток |
75 000 |
65 000 |
75 000 |
75 000 |
70 000 |
75 000 |
Предложения работодателей и ожидания претендентов
Исследовательский центр портала Superjob.ru в январе 2015 года изучил предложения работодателей и ожидания претендентов на позицию «Программист Python» в пяти российских мегаполисах: Москве, Санкт-Петербурге, Краснодаре, Екатеринбурге и Владивостоке.
Типичный функционал:
- разработка приложений и сервисов на основе языка Python;
- поддержка, интеграция, оптимизация приложений и сервисов;
- написание технических заданий и документации.
Требования к позиции: тип занятости – полный рабочий день.
Уровень оплаты труда специалиста: определяется благосостоянием компании, перечнем должностных обязанностей, опытом работы по специальности, уровнем развития профессиональных навыков.
Исследование массива данных о заработных платах в указанных регионах позволяет выделить четыре основных зарплатных диапазона в зависимости от опыта и профессиональных навыков специалистов.
Зарплатный диапазон |
Требования и пожелания к профессиональным навыкам |
Диапазон I |
- Высшее/неполное высшее образование (техническое/ИТ)
- Знание основ программирования на Python
- Базовые знания CSS, HTML
|
Диапазон II |
- Знание английского языка на уровне чтения технической документации
- Знание JavaScript
- Опыт работы с MySQL
- Опыт разработки веб-сервисов
- Опыт программирования на Python от 1 года
|
Диапазон III |
- Высшее образование (техническое/ИТ)
- Знание Linux на уровне пользователя
- Опыт работы с системами контроля версий
- Опыт разработки высоконагруженных проектов
- Опыт программирования на Python от 2 лет
Возможные пожелания:
- опыт разработки на языке PHP/Java/С/С++/C#
- наличие портфолио выполненных проектов
|
Диапазон IV |
- Опыт руководства группой разработчиков
- Опыт программирования на Python от 3 лет
|
Портрет соискателя:
- 27 лет – средний возраст
- 91% – мужчины
- 74% – высшее образование
- 1,7 года – средний срок работы на последнем месте
- 22% – готовы к переезду
- 38% – на момент размещения резюме не имели работы
Исследование массива данных о заработных платах в исследуемых регионах позволяет выделить четыре основных зарплатных диапазона в зависимости от опыта и профессиональных навыков специалистов.
Подготовила Валерия Чернецова, руководитель отдела аналитики SuperJob
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|