Со знанием python как можно устроиться
Перейти к содержимому

Со знанием python как можно устроиться

  • автор:

Что должен знать junior Python-разработчик, чтобы найти работу

Что должен знать junior Python-разработчик, чтобы найти работу главное изображение

Что сейчас происходит на рынке труда Python-разработчиков

Согласно индексу TIOBE и PYPL , в июне 2023 года Python занимает первое место в списке самых популярных языков программирования. Его используют в очень многих сферах: веб-разработка, машинное обучение, DevOps, тестирование, разработка десктопных приложений, геймдев. И также Python отличается простым синтаксисом.

По данным калькулятора зарплат Хабр Карьеры, заработная плата джуниор Python- разработчика не изменилась в разрезе первого и второго полугодия 2022 года и составила в среднем 70 000 рублей.

Во многом из-за всех перечисленных достоинств Python считается одним из самых перспективных языков для изучения, и мы на Хекслете тоже можем подтвердить высокий интерес к нему.

Однако у такой популярности есть и минусы — сегодня все больше программистов ищут работу именно на Python. Рынок перестал быть «рынком кандидата»: теперь работодатели диктуют правила игры, выбирая лучших, подготовленных специалистов. На одну вакансию джуниор Python-разработчика приходит от 200 до 400 откликов. Такая конкуренция вынуждает кандидатов активно бороться за то, чтобы быть замеченным.

Все эти изменения требуют развития новых компетенций и гибких навыков у кандидатов. В статье расскажем, как Хекслет помогает программистам правильно позиционировать себя на рынке, у каких разработчиков есть более высокие шансы найти работу и как питонистам соответствовать требованиям работодателей.

Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.

Как Хекслет помогает джуниор-разработчикам повысить шансы на оффер

Еще пару-тройку лет назад от джуна требовали самый минимум — нужно было только знание языка программирования, а также готовность к работе в команде. Сейчас же требования ужесточились, и чтобы им соответствовать, необходимо прокачиваться более серьезно.

Мы на Хекслете даем несколько рекомендаций студентам, которые проходят наши профессии и курсы. Чтобы повысить свои шансы на оффер, им необходимо выполнить следующие шаги:

Получить необходимые хард скиллы, пройдя всю профессию на Хекслете

Разработчики с хорошей технической базой знаний ценились всегда, и особенно — сейчас. Понимая это, наши инженеры-программисты постоянно обновляют и улучшают учебные программы под запросы работодателей.

Поучаствовать в опенсорсе для получения первого продакшен-опыта

Продакшен-опыт — это опыт работы над реальным проектом, которым пользуются люди. Раньше джуниору было легко устроиться на работу без такого опыта, но сейчас он необходим, чтобы заинтересовать работодателя.

Опенсорс — это проекты с открытым исходным кодом, в разработке и развитии которых может принять участие все желающие: как самые начинающие разработчики, так и программисты с опытом. У Хекслета есть множество опенсорс-проектов — полный список мы раскрываем в нашем гайде «Как участвовать в жизни Хекслета».

Пройти программу Карьерного трека

Карьерный трек — это программа, на которой Хекслет помогает написать хорошее сопроводительное письмо, правильно подать свой опыт в резюме. Мы также проводим тестовые интервью с наставниками, чтобы, опять же, студенты могли избавиться от волнений и стресса перед реальными собеседованиями. Кроме того, они получают обратную связь от интервьюера, узнают свои сильные стороны и прорабатывают слабые.

Прорешать как можно больше тестовых заданий

У нас в открытом доступе есть репозиторий с тестовыми от разных компаний, который мы наполняем уже 11 лет. Прорешивание заданий оттуда помогает набить руку и снимает стресс при прохождении реальных тестов на собеседованиях.

Читайте также: Из инженера-электрика и альпиниста — в бэкенд-разработчики. Мой путь в программирование

Ошибки джунов, которые мешают им трудоустроиться

Многие джуниоры сейчас боятся, что их поиск работы затянется надолго или вовсе ни к чему не приведет. К сожалению, такое действительно может произойти. Но только в следующих случаях.

Разработчик не прокачивает хард скиллы после обучения

Первая ошибка кандидатов — окончить профессию и думать, что на этом можно забыть об обучении. На самом деле получать новые навыки нужно каждый день, особенно с учетом текущей ситуации на рынке. IT — это та профессия, в которой никак нельзя переставать учиться. Все меняется, появляются новые технологии, библиотеки, поэтому нужно оставаться в тренде.

Важно также самому мониторить вакансии, следить за требованиями работодателей и быть готовым к непрерывному совершенствованию своих знаний.

У кандидата нет четкого представления, как искать работу

Залог успешного трудоустройства — это целеполагание и мотивация. Сейчас особенно легко потерять нужный настрой на поиск работы. Но важно уметь собраться и сконцентрироваться на том, что поиск работы — это своеобразный проект, который нужно выполнить. Поставить себе цель: найти работу, неважно за один или три месяца, используя все свои профессиональные знания.

Мы на Карьерном треке не только готовим к трудоустройству, но и помогаем ставить цели. Подсказываем, как разбить на этапы проект под названием «Получение своей первой работы в IT». Студенты учатся прокачивать свои хард и софт скиллы и выстраивать стратегию по поиску работы, что в современных реалиях является очень ценным и нужным навыком.

Мы помогаем джуниорам выработать нужный настрой. Предупреждаем, что получить работу сейчас нелегко, но даем для этого все необходимые инструменты — консультации по составлению сопроводительного письма, резюме и портфолио. Помогаем не отступать от своей основной цели — найти работу.

Разработчик бездумно откликается на все вакансии подряд

Как правило, тяжелее всего трудоустроиться кандидатам, которые откликаются на все вакансии подряд, не пишут сопроводительные письма и думают, что возьмут количеством. Это не всегда работает, учитывая нынешнюю ситуацию на рынке: поиск работы таким способом может затянуться, а разработчик, скорее всего, выгорит и опустит руки.

Гораздо успешнее трудоустраиваются люди, которые вчитываются в требования вакансий, выбирают компании и команды своей мечты и анализируют причины отказов. Поэтому важно четко понимать, на какие вакансии стоит и не стоит откликаться, а также как грамотно подать себя при отклике.

Кандидат сам тормозит поиск работы или не выполняет рекомендации по трудоустройству

Поиск работы — это тоже работа. Если человек захотел получить сложный технический навык или профессию, то он должен быть готов к тому, чтобы активно заниматься новым делом. В том числе — и искать работу. Этот процесс должен быть системой, а не стихийными и бездумными откликами на вакансии.

Вся наша работа на Хекслете направлена на то, чтобы человек нашел работу: мы даем все необходимые инструменты для этого. Например, учим писать грамотное и интересное сопроводительное письмо, помогаем создать сильное резюме, даем советы по оформлению профиля на GitHub, LinkedIn, Хабр Карьере. Также мы рекомендуем студентов на стажировки и открытые вакансии в компании-партнеры.

Но несмотря на все это, сам кандидат не должен забывать, что поиск работы — труд обоюдный. Студенту нужно самостоятельно обрабатывать наши рекомендации по резюме и портфолио, искать компании, в которых хочется работать. И только тогда можно будет прийти к своей цели — найти работу.

Несколько советов джуниорам по трудоустройству от Python-разработчика

Сейчас сложность вопросов на собеседованиях, которые задаются джунам, можно приравнять к сложности вопросов мидлам два-три года назад. Работодатели заинтересованы в том, чтобы проводить серьезные отборы и выбирать более квалифицированных сотрудников.

Чтобы противостоять огромной конкуренции, я советую проделать следующие шаги:

  1. Решайте задачи на логику — они помогут выработать программистское мышление. А еще хорошо проговаривать решение задач вслух — на собеседовании это только в плюс, работодатель проследит за ходом вашей мысли.
  2. Пишите свои проекты. Даже если они не полностью рабочие, с неполноценной архитектурой — ничего страшного. Главное — показать, что вы работали с тем стеком, который от вас требуют, и что у вас есть тому подтверждение на GitHub.
  3. Не отказывайтесь от стажировок, даже от неоплачиваемых. Стажировки — это ваш шанс показать свой уровень, запомниться коллегам и произвести хорошее впечатление на работодателя. Недавно один из моих студентов как раз прошел двухнедельную практику, показал на ней хорошие результаты. И в итоге его взяли программистом в штат.

Да, на рынке труда сейчас много кандидатов, которые составляют большую конкуренцию. Придется принять факт, что сейчас нужно делать больше усилий, чем другие. Поиск работы — это обыкновенный конкурс, где ты показываешь, насколько хорош.

Один из моих советов, который я обычно даю студентам — не думайте о том, что как только вы выучите Python, сразу поедете работать у моря на Бали. Помните, что вы должны, а точнее обязаны ежедневно заниматься разработкой, даже если у вас есть отвращение к этому. Чем больше вы будете набивать руку на задачках, тем быстрее вы дойдете до той точки, когда скажете: «Ого, а у меня недурно получается, — или, — Я уже стал намного лучше писать код».

Итог

Вакансии теперь более челленджовые, но главное, что меньше их не становится. Поэтому самое важное сейчас — не опускать руки, набираться продакшен-опыта, изучать рынок и грамотно подавать себя.

Как бы банально это ни звучало — верьте в себя и свои силы. Когда на собеседование приходит уставший человек с потухшими глазами, продать себя ему гораздо сложнее. Если вы получили профессию Python-раработчика, значит вы прошли долгий путь, развили сложный технический навык, наработали портфолио и резюме, где отражен весь ваш труд — гордитесь собой.

Не забывайте про свою цель — оффер. Теперь вы знаете, как именно этот оффер можно получить.

Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.

Что работодатели ждут от Junior Python-разработчика

Из этой статьи вы узнаете, что должен знать начинающий Python-разработчик, а также получите список вопросов, которые стоит повторить.

яндексPython — один из самых популярных языков программирования. В рейтинге Stack Overflow 2020 года он занимает третье место. Его легко освоить, а на рынке нет дефицита вакансий. По запросу «Python-разработчик» HeadHunter предлагает 3340 вакансий за месяц. Python используют при создании веб-приложений, в машинном обучении и Data Science. Анастасия Новикова, автор курса «Python-разработчик» в Яндекс.Практикуме, делится опытом прохождения интервью на позицию Python-разработчика и рассказывает, что работодатели обычно ждут от начинающих специалистов.

Анастасия Новикова
автор курса «Python-разработчик» в Яндекс.Практикуме

Какое нужно образование?

Обычно резюме на Junior Python-разработчика подают выпускники или студенты последних курсов технических и математических специальностей. Профильное дополнительное образование, пройденные курсы на Stepik, Coursera или других платформах станут плюсом к основному образованию. Если вы хотите работать в Data Science, то бонусом будут магистерская степень или аспирантура, наличие публикаций и выступления на конференциях.

Работодатели иногда готовы брать на junior-позицию кандидатов без соответствующего высшего образования. Для таких соискателей, как правило, проводят дополнительные испытания, внимательнее относятся к тестовому заданию и учебным проектам в портфолио.

Как проверяют опыт работы?

Обычно опыт работы для начинающих специалистов не обязателен. Но на некоторые вакансии ищут кандидатов с опытом от полугода — года или соискателей, которые прошли стажировку. Если вы нигде не работали, приготовьтесь рассказать про законченные учебные и личные проекты. Личными проектами также интересуются, чтобы проверить заинтересованность кандидата в профессии и его стремление к развитию.

Завершённые проекты можно опубликовать, например, в личном профиле на GitHub или создать сайт-портфолио. На собеседовании вы сможете рассказать, какая перед вами стояла задача, какие технологии вы выбрали и почему. Дополнительные проекты помогут не только прокачать навыки, но и выделиться среди других кандидатов.

Какие soft skills пригодятся в первую очередь?

Помните сериал «Кремниевая долина» и его главного героя Ричарда Хендрикса, CEO «Пегого Дудочника»? Он был отличным программистом, но ему явно не хватало умения общаться с людьми, работать в команде и руководить сотрудниками. На практике одного умения решать поставленные задачи с помощью технических навыков бывает недостаточно, успешность кандидата зависит также от его социальных качеств.

Ответственность, стремление к профессиональному росту, умение управлять рабочим временем и работать в команде — это базовые soft skills, которые нужны практически на любой должности в ИТ-сфере.

От junior разработчика дополнительно ждут умение быстро осваивать новый материал, вникать в суть задач, понимать требования и быть готовым к рутинным задачам. На собеседованиях junior-специалистов могут спросить: «Как вы относитесь к рутинным задачам?» — потому что их работа часто включает монотонные процессы, не всегда творческая. Работодатель не хочет вас напугать — скорее хочет убедиться в том, что вам не станет скучно на этой позиции через несколько месяцев и вы не захотите уйти. Ответ на такой вопрос можно сформулировать так: «Сейчас подобные задачи для меня — возможность получить опыт, на них я смогу отработать свои навыки, чтобы в будущем браться за более сложную работу».

На собеседовании также могут спросить, почему вы хотите работать на этой должности и в этой компании. С помощью этого вопроса работодатель пытается понять, подходит ли соискатель компании, а компания — соискателю. Если вам действительно не интересен проект, то работа в нем вряд ли доставит удовольствие, и вряд ли вы принесете пользу компании.

Изучите перед собеседованием свои будущие задачи, продукты и проекты, с которыми работают в компании, этап развития компании (например, стартап или ИТ-гигант), корпоративную культуру, отзывы сотрудников, местоположение, условия работы. И выберите среди всего то, что вам действительно важно. Это может быть простое «это компания, где я могу полностью реализовать свои компетенции и продолжить карьеру» или «мне кажется, мой опыт отлично подходит под требования» и перечислите ключевые навыки.

Какие технические навыки необходимы?

Основное требование — знание языка программирования Python. Но иногда на позицию Python-разработчика рассматривают специалистов с опытом в других популярных языках (например, C++, Java, Go).

На собеседованиях работодатель может проверить общую ИТ-грамотность, например спросить, как устроен компьютер или как работает интернет. Чаще всего от кандидатов ждут знания алгоритмов и структур данных. В некоторых компаниях есть отдельный этап, или даже несколько этапов отбора, посвященных проверке этого навыка. Про то, зачем разработчику изучать алгоритмы и структуры данных, мы уже писали раньше.

Также на собеседованиях часто спрашивают про опыт работы с базами данных и фреймворками, понимание принципов многопоточного и асинхронного программирования, умение работать в командной строке.

Python-разработчиков также ищут под задачи машинного обучения. Поэтому при отборе на позиции, связанные с Data Science, проверяют знание алгоритмов машинного обучения и умение их применять, опыт участия в соревнованиях на Kaggle или в хакатонах. От соискателей ждут знания математики: теории вероятностей, линейной алгебры и математического анализа.

Python умер, да здравствует Python. Видеокурс по программированию на Python 3

Что повторить перед собеседованием

Алгоритмы и структуры данных (без привязки к языку программирования). Желательно знать, как устроены массивы, связные списки, хеш-таблицы, множества, бинарные деревья поиска, графы. Какая сложность (в O-нотации) основных операций при работе с ними. Могут также задать вопросы по базовым алгоритмам. Например, попросить рассказать про основные алгоритмы сортировки, бинарный поиск или способы обхода графов.

Структуры данных в Python: примеры применения, различия, преимущества и недостатки. Будьте готовы отвечать на вопросы про числовые типы данных, строки, списки, кортежи, множества и словари. Преимуществом будет знание и опыт применения встроенных в язык структур данных, например, OrderedDict или defaultdict из модуля collections .

Изменяемые и неизменяемые типы данных в Python: в чём разница между ними, примеры использования. Часто просят просто перечислить изменяемые и неизменяемые типы данных, которые вы знаете. Могут предложить решить задачу и спросить, какой тип или какую структуру данных вы бы выбрали для её решения и почему.

Декораторы: что это такое и как они устроены. Могут, например, попросить написать код декоратора для измерения времени работы функции или декоратора с параметром. Полезным будет знание functools.wraps .

Контекстные менеджеры: что это такое и для чего используют. Могут попросить реализовать контекстный менеджер для работы с файлами, аналогичный встроенному open() .

Генераторы и итераторы: что это такое, для чего они используются, какая между ними разница. Могут, например, попросить написать генератор чётных чисел или чисел Фибоначчи.

GIL: зачем он нужен и как работает. Вопрос на собеседовании может быть такой: «Могут ли в Python одновременно выполняться больше одного потока?» От начинающих специалистов обычно не требуют знаний про GIL, но они могут выгодно выделить вас на фоне других кандидатов.

Как устроен один из популярных фреймворков, например Django или Flask. Хорошо, если вы понимаете его сильные и слабые стороны. Могут попросить спроектировать базу данных для приложения, написать несколько запросов с помощью ORM или на чистом SQL.

Как работает интернет: понимание модели/моделей OSI/TCP IP, основных протоколов. Популярный вопрос из этого раздела: «Что происходит, когда в поисковой строке вбиваешь google.com?»

Утилиты командной строки. Могут попросить рассказать про пять – десять команд, которыми вы чаще всего пользуетесь.

Потоки, процессы, асинхронное программирование. Например, в чём разница между потоком и процессом, или какие способы межпроцессного взаимодействия вы знаете.

Логические и математические задачи: для их решения может понадобиться школьная математика, базовые знания комбинаторики, теории вероятностей, умение работать с числами в разных системах счисления.

Вряд ли на собеседовании вам зададут вопросы из всех этих разделов. От соискателя на позицию младшего разработчика не ждут, что он верно ответит на все вопросы, скорее, будут смотреть, в правильном ли направлении он думает. Но чем более подготовленными вы будете, тем больше у вас шансов получить желаемую работу.

Что почитать начинающему Python-разработчику

«Чистый код: создание, анализ и рефакторинг», Мартин Роберт К. «Грязный» код мешает развитию проекта и компании, потому что требует значительных ресурсов на поддержку. В книге много реальных примеров, которые научат отличать плохой код от хорошего. Она пригодится всем начинающим разработчикам, читается легко. Возможно, не всё получится сразу применить на практике, но когда вы столкнётесь с ситуацией, упомянутой в книге, вам будет легче найти решение.

«Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих», Адитья Бхаргава. Думаете, алгоритмы это сложно? Книга убедит вас в обратном. В ней подробно разбирается каждый алгоритм: будет понятно даже ребёнку. Воспроизвести их на любом языке программирования не составит труда.

«Программируем на Python», Майкл Доусон. Автор книги — опытный разработчик. Он помогает освоить фундаментальные принципы на примере создания простых игр. Так вы получите базовые навыки и сможете пополнить портфолио. Для более продвинутых специалистов книга может показаться скучной, главная аудитория — всё-таки начинающие разработчики.

«Python на практике», Марк Саммерфилд. Знания из книги помогут лучше подготовиться к собеседованиям. Подходит начинающим и опытным программистам. В основе четыре темы: повышение элегантности кода с помощью паттернов проектирования, повышение быстродействия с помощью распараллеливания и компиляции Python-программ (Cython), высокоуровневое сетевое программирование и графика.

«Изучаем Python», «Программируем на Python», «Python. Карманный справочник», Марк Лутц. Это несколько книг известного инструктора по Python. Их лучше читать в оригинале. Они помогают восполнить пробелы в знаниях и разобраться в сложных вещах. В «Карманном справочнике» вы найдёте основные сведения о типах данных и операторах, специальных методах, встроенных функциях, которые пригодятся при работе с Python.

«Python. Книга Рецептов», Дэвид Бизли, Брайан К. Джонс. Пособие для начинающих и опытных разработчиков, которое поможет создавать легкочитаемый, оптимизированный и поддерживаемый код. 15 глав охватывают основные темы Python, каждая глава содержит конкретные «рецепты» с примерами кода, которые вы сможете использовать в своих проектах.

«Алгоритмы: построение и анализ», Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Это справочник и пособие по алгоритмам, которое пригодится и начинающим разработчикам, и сеньорам, и тимлидам. Описания даются на простом языке, главы независимы друг от друга, можно изучать в любом порядке и объёме.

Куда пойти, когда только выучил Python: советы начинающему специалисту

Python любят начинающие, потому что его относительно легко изучить. Существует множество учебников, ресурсов и курсов. Плюс большой выбор библиотек и фреймворков. Потом все эти знания становятся востребованными во многих сферах. Но перед джунами встаёт вопрос: где искать вакансии, если знать только Python и ничего больше. Мы попытались разобраться, достаточно ли базы для трудоустройства, и что придётся навёрстывать.

Согласно рейтингу TIOBE, Python — востребованный язык программирования: в 2022 году он обогнал по популярности даже C. Ведущие мировые компании: Google, Dropbox, Netflix, Reddit, Amazon, Uber, NASA, Spotify — используют его для своих разработок.

На практике Python применяется в разных сферах:

  • разработке игр и мобильных приложений,
  • веб-разработке, в первую очередь для серверной части сайта при помощи фреймворков Django и Flask,
  • разработке визуальных интерфейсов — для этого подходят дополнительные графические библиотеки Dabo и PythonCard,
  • автоматизации бизнес-процессов с помощью небольших скриптов для стандартных процедур,
  • сложных математических расчётов с помощью расширения NumPy,
  • работе с базами данных, в том числе для анализа и визуализации данных,
  • автоматизированном тестировании в сочетании с Selenium WebDriver,
  • технологиях искусственного интеллекта и машинного обучения с дополнительными библиотеками TensorFlow и scikit-learn.

Открытый код, бесплатный доступ, возможность одинаково эффективно работать на Linux, Windows и macOS — важные аргументы в пользу Python. Он прост для изучения, но в нём есть ряд особенностей, которых в большинстве других распространённых языков нет: отступы вместо фигурных скобок, удобный, но нетипичный синтаксис генераторов списков, динамическая типизация (отличающаяся от таковой в JS). Если начинать с Python, а потом осваивать другие языки, лучше быть к этому всему морально готовым.

Я использовал Python для исследования безопасности сайтов и обработки файлов. Сейчас основная сфера его применения — написание скриптов для охоты на новые вирусы, эмуляция сетевого поведения вирусов и извлечение из них информации. Параллельно мне оказываются нужны HTTP, JSON, XML: эти технологии я использую постоянно.

Человек, только что научившийся писать код на Python, может попробовать себя в роли бэкенд-разработчика, Django-разработчика (но для этого надо знать Django), углубиться в анализ данных и data science. Один мой бывший коллега ушёл в геймдев, где использовал Python для простых математических расчётов: мы шутили, что он два и два складывает на питоне за приличную зарплату.

Начинающему специалисту я бы посоветовал изучить основы работы с сетью в Python (модуль Requests) и JSON (модуль json). А ещё type hints — при грамотном применении позволяет ловить хитрые ошибки.

Владимир Мартьянов, вирус-аналитик, Белград

Для изучения языка программирования можно выбрать курсы или высшее образование по специальности «Прикладная информатика». В вузах существуют бесплатные бюджетные места, а стоимость года коммерческого обучения может превышать 300 000 рублей.

Что нужно знать: мнение преподавателей

Для успешного применения Python на практике необходимо осваивать смежные технологии. Их выбор зависит от того, в какую сферу деятельности хочет погрузиться программист. Если он хочет освоить анализ данных, потребуются R, NumPy и сопутствующие пакеты. Если веб-программирование — HTML и CSS, Django и хотя бы на базовом уровне JavaScript: это облегчит коммуникацию с фронтендерами. В разработке прикладных приложений требуются графические библиотеки, чтобы делать интерфейсы. Например, TKinter или Qt, и разные библиотеки самого Python.

Python — язык широкого применения. У него много дополнительных библиотек, поэтому его можно применять при разработке прикладных программ, решать задачи обработки естественного языка, выполнять анализ данных. Особенно хорош Python при работе с текстовыми данными, в том числе большими. Ещё одно достоинство Python — низкий порог вхождения. Но язык программирования нельзя выучить, можно научиться писать на нём. На первых порах стоит разобраться с основными конструкциями языка и составлением алгоритмов. После этого всё зависит от конкретных задач.

Екатерина Латухина, старший преподаватель кафедры информатики, Архангельск

Чтобы полноценно работать в ИТ, надо ещё кучу всего знать дополнительно к Python: как минимум, владеть фреймворками, старейший и самый известный — Django. Начинающему специалисту логичнее всего развиваться в сторону анализа данных, хотя некоторые и идут в бэкенд. Поначалу придётся работать за еду на стажёрской позиции, потом в процессе работы достичь уровня джуниора. Младшему аналитику, помимо Python, необходимо знать основы архитектуры баз данных и SQL, математической статистики и теории вероятностей, нелишним будет владение R.

Светлана Нерадова, частный преподаватель математики и информатики, Москва

Что нужно делать: мнение разработчиков

За изучение Python берутся люди с опытом работы в сферах, далёких от программирования, и желанием переквалифицироваться в айтишники. Шансы на трудоустройство высокие: знание Python требуются в 5,4% вакансий в ИТ-сфере. Но карьерный рост и хороший доход — вопрос времени. Зарплата специалистов с опытом работы от трёх лет в два раза превышает оклад инженеров без опыта. Учиться придётся много и постоянно, причём не столько по книгам и мануалам, сколько уже на конкретных проектах.

Я ландшафтный архитектор, работаю ведущим инженером-проектировщиком в компании, которая занимается парками и общественными пространствами.

Учиться кодить я начал три года назад для личного проекта — онлайн-сервиса по подбору растений для ландшафтного дизайна. Ландшафтники до сих пор пользуются бумажными каталогами, а я захотел сделать удобный инструмент. Чтобы сайт на WordPress с кучей плагинов работал и не разваливался, я стал разбираться в HTML, CSS, JS. В итоге понял, что на готовых решениях без знания бэкенда далеко не уйти, и начал учить Python.

Прошёл несколько онлайн-курсов и стал тренироваться на мелких задачках: написал парсер, который собирает информацию с сайтов питомников растений, чтобы потом я мог добавить её в свой каталог. В порядке эксперимента написал бота, который торговал на криптобирже и отправлял мне отчёты в телеграм. Бот проработал неделю, принёс мне 15 рублей 38 копеек. Я пришёл к выводу, что эксперимент теоретически удался, а рисковать нормальными деньгами я пока не буду.

Но понял, что программирование интересует меня больше, чем проектирование, и решил сменить профессию. Думаю устроиться на джуниорскую позицию бэкенд-разработчика и набираться опыта уже на рабочем месте. В деньгах, конечно, на первых порах потеряю, но я к этому готов.

Сергей Иноземцев, архитектор, Хургада

Начинающий специалист может попробовать себя на стажёрской или джуниорской позиции как QA, аналитик данных или разработчик. Зарплата начинающего питониста — от 70 тысяч рублей. Для стажёрских вакансий цифра может быть и 30–40 тысяч рублей, однако по мере роста опыта и умений она будет расти и составит 250–300 тысяч для опытного специалиста. Зарплаты в ИТ не меняются в худшую сторону даже в условиях кризиса, а 22% сотрудников компаний увеличили доход.

Python никогда не был моим основным языком программирования, но я с ним работал. В компании, занимающейся исследованиями рынка, я использовал его для парсинга соцсетей: надо было получать посты и извлекать из них ключевые слова. В нескольких букмекерских конторах Python применял для сбора статистики. Когда я столкнулся с Python, у меня за плечами был вуз и опыт. Так что я просто читал мануалы, если чего-то не понимал.

Начинающему специалисту рекомендую изучить принципы и навыки именно программирования как такового. Технологии потом добавятся. Я в профессии 12 лет, и за это время та же веб-разработка полностью обновилась дважды.

Георгий Комаров, разработчик C#, Москва

После базового курса Python реально устроиться стажером или джуниором, выполнять учебные проекты для стартового портфолио. Но чтобы стать полноценным специалистом, необходимо сочетать язык программирования с чем-то ещё и постоянно совершенствовать свои знания, но в ИТ это давно норма. Чтобы Python превратился в профессию, важно определиться с конкретной сферой применения и развиваться в ней.

Поделитесь историями вашего знакомства с Python в комментариях.

Куда пойти Python-джедаю? Топ-10 профессий 2019

Владение Python открывает дорогу к множеству карьерных возможностей, совмещающих интересные задачи с достойной оплатой. Стартапы и крупные корпорации постоянно ищут людей, способных подчинять массивы данных и автоматизировать рутинные операции. Представляем вам 10 наиболее актуальных профессий, которые подойдут как молодому Python-специалисту, так и более заслуженному эксперту.

Работа для Python-специалиста

1. Инженер ПО (Software Engineer)

Эти эксперты сопровождают программное решение от первых набросков до развития готовой системы. Они соотносят пожелания заказчика с возможностями и ограничениями технических средств, подбирают оптимальный инструментарий и работают над эффективностью ПО. Другими словами, они применяют инженерный подход к созданию IT-продуктов, чтобы решения были устойчивы к ошибкам и выполняли свои функции с наименьшими затратами.

Инженер программного обеспечения должен разбираться в устройстве IT-инфраструктуры, понимать механику крупных хранилищ данных и облачных систем. Чем масштабнее решение, тем полезнее оказываются навыки работы со скриптами и паттернами, способность разобрать систему на составные части, найти «узкие места» и «бутылочные горлышки».

Для успешного продвижения по карьерной лестнице специалист должен смотреть на задачу стратегически, чтобы уже на первых этапах спланировать развитие продукта. Старший инженер ПО будет работать во главе команды, общаться с представителями заказчика и ставить задачи удалённым сотрудникам. Это потребует не только впечатляющих технических знаний, но и коммуникационных навыков вместе с харизмой успешного лидера.

Специалист по Python

2. Разработчик ПО (Software Developer)

Разработчики воплощают идею программного продукта в жизнь, будь то небольшая утилита или целая корпоративная система. Они проектируют каждый компонент будущего решения и готовят демонстрационные модели для программистов, которые будут писать код. При необходимости разработчик может сам создать какие-то участки программы и протестировать результат. Впоследствии именно он будет следить за корректной работой новых версий ПО и предлагать заказчикам пути дальнейшего развития.

На каждом этапе работы над продуктом разработчик находит неочевидные проблемы и способы их решения. Он прогоняет различные сценарии вместе с тестировщиками и дотошно проверяет все мелочи — перфекционизм становится его неотъемлемым качеством. Всё это нередко происходит в условиях жёстких сроков, которые привязаны к ключевым точкам проекта.

Помимо знания языков программирования, разработчику потребуются аналитические навыки и способность чётко переводить бизнес-задачи в технические материи. Это крайне ответственная область, ведь каждая ошибка в ПО означает финансовые затраты на простои системы и исправление кода. Специалист, который найдёт общий язык и с программистами, и с менеджером проекта, и с представителями заказчика, сможет быстро заработать карьерные очки.

Профессии для Python-специалиста

3. DevOps-инженер (DevOps Engineer)

Методология DevOps направлена на то, чтобы максимально автоматизировать работу программистов: избавить их от рутины и трудоёмких ручных операций, повысить долю творчества в создании программных продуктов. Спрос на DevOps-специалистов с каждым годом только растёт, ведь автоматизация сокращает влияние человеческого фактора, а значит, и количество ошибок в коде.

Как можно догадаться, владение скриптовыми языками наподобие Python — это ключевой навык DevOps-инженера. Этот специалист внедряет системы развертывания, модернизации, обслуживания, мониторинга и тестирования ПО, определяя оптимальный путь к цели и подбирая необходимые средства. Чтобы добиться успеха на этом поприще, нужно хорошо представлять принципы работы программного обеспечения и разбираться в облачных решениях. Кроме того, как любой инженер, эксперт по DevOps-технологиям должен уметь найти проблемные точки, которые влияют на эффективность системы.

4. Веб-разработчик (Web Developer)

Сегодня вся наша жизнь построена на веб-приложениях: мы общаемся с друзьями в соцсетях, переводим деньги через онлайн-банки, находим новую музыку в рекомендательных сервисах. Крупные корпорации создают порталы услуг и даже государственные органы медленно, но верно переходят на цифровые рельсы. Все эти программы нужно кому-то писать, поэтому хорошие веб-разработчики не сидят без дела.

Технический кругозор такого специалиста позволяет ответить на самые разные вопросы: как эффективно работать с разными типами данных, какие инструменты мультимедиа необходимо развернуть на сайте, по каким законам движется интернет-трафик и где теряется интернет-аудитория. Наконец, в этой области не обойтись без чувства вкуса и заботы о пользователях — ведь никто не станет работать с неудобным приложением. Чтобы начать свой путь в профессии можно записаться на курс по Python для веб-разработки полного цикла от SkillFactory.

Специалист по Python

5. Тестировщик ПО (Quality Assurance Tester)

Эти эксперты отвечают, пожалуй, за самый важный участок работы над ПО. Как бы ни был изящен код, как бы ни были удобны функции программы, весь труд пойдёт насмарку, если систему не проверить в деле. QA-инженеры «играют» с продуктом, прогоняя максимальное количество сценариев, чтобы найти все конфликты и скрытые угрозы. Их цель — свести к минимуму вероятность сбоев, утечек данных и прочих нежелательных ситуаций.

Кто-то скажет, что это неблагодарная работа, ведь в любом коде всегда есть ошибки и уязвимости. Однако тщательная работа тестировщика напрямую влияет на стоимость ПО, а значит и на удовлетворение заказчика. По итогам проведённых испытаний эксперт может поставить задачи коллегам из любых департаментов, и все понимают, что разница между ошибкой, которую определили в условиях теста, и той, что обнаружил конечный пользователь, легко выражается в денежных знаках.

Напоследок вспомним любимую шутку тестировщиков — говорят, она отлично передаёт суть работы:

Тестировщик заходит в бар. Заказывает кружку пива, 0 кружек пива, 999999999 кружек пива, –1 кружку пива, ящерицу, ФАолфВОыЛ. Затем в бар заходит первый реальный клиент и спрашивает, где туалет. Бар тут же сгорает.

6. Билд-инженер (Build/Release Engineer)

С развитием концепции непрерывной разработки и интеграции компаниям всё больше нужны специалисты, которые проверяют качество новых версий ПО. Эти эксперты работают в тесной связке со всей командой и представителями заказчика, они всегда в курсе актуальных задач. Зачастую именно они оказываются связующим звеном между кодерами, менеджером проекта и конечными пользователями.

Для проверки поступающих билдов такие инженеры используют множество специализированных систем, которые помогают им проверить, все ли необходимые функции попали в актуальную версию. Если в ПО обнаруживаются баги, билд-инженер привлекает экспертов, которые исправляют ошибки и отчитываются о своей работе. Значительная часть работы связана с документацией и контролем версий, поэтому без внимания к деталям и здорового перфекционизма здесь не обойтись.

7. Младший научный сотрудник (Research Assistant)

Знание Python открывает дорогу и в мир науки. Такие специалисты составляют основной актив многих социологических агентств, медицинских лабораторий и исследовательских центров. Столь широкий выбор работодателей позволяет молодому специалисту найти себе занятие по душе с достойной зарплатой и амбициозными задачами.

Эта работа в меньшей степени связана с программированием и в большей — с поиском ценной информации среди разрозненных данных. Внимательность к деталям необходима для выверки фактов, а системный подход поможет при подготовке объёмных отчётов. Не лишним будут и навыки презентации, когда результат исследований необходимо представить сторонним заказчикам или коллегам внутри организации.

Если специалист выбирает научную стезю, он получает доступ к передовому оборудованию, которое используется для проведения экспериментов. Такой эксперт должен уметь смотреть на данные объективно, отсеивать «мусор» и не сдаваться, если результаты не совпадают с ожиданиями. Полученный опыт позволит ему в перспективе возглавить собственный исследовательский центр, причём обладатель системных навыков сможет переходить из одной отрасли в другую, повышая собственный доход.

Python в научных исследованиях

8. Аналитик данных (Data Analyst)

Возможность эффективно работать с огромными массивами данных — одно из ключевых преимуществ Python. Мощные аналитические решения позволяют быстро собирать информацию, определять ключевые объекты и закономерности между ними, формировать наглядные отчёты. Если вы хотите строить карьеру в маркетинге или консультировать крупные корпорации по вопросу развития их бизнеса, такие системы станут вашим основным рабочим средством. Вам также придётся писать код, чтобы получить нужные данные в нужном разрезе.

Успешный аналитик должен превращать поступающие вопросы — от руководства или сторонних заказчиков — в команды аналитической программе. Сначала нужно эти вопросы получить, а иногда и помочь с постановкой задачи, чтобы не прийти к ситуации «мусор на входе — мусор на выходе». Навыки коммуникации понадобятся аналитику и при презентации результатов, причём подготовка письменных материалов так же важна, как и репетиция устных комментариев.

9. Специалист по обработке данных (Data Scientist)

Это относительно новая профессия, для которой пока не придумали «красивого» названия на русском. Развитие этого направления строится на технологиях машинного обучения и высокопроизводительных статистических моделях. Эти системы помогают Data Scientist определять скрытые паттерны и с высокой точностью прогнозировать развитие событий.

В отличие от аналитиков, такие эксперты не получают вопросы снаружи, а сами формируют гипотезы и проверяют полученные результаты. Они определяют неочевидные факторы, которые повлияют на текущую ситуацию: как изменится курс акций или сколько литров молока выпьют на следующей неделе в таком-то районе такого-то города. Исследователи данных помогают логистическим компаниям прокладывать оптимальные маршруты, а промышленным предприятиям — предупреждать сбои оборудования на ранних этапах.

Дата-сайентисты — это «рок-звёзды» сегодняшней аналитики. Поскольку профессия ещё в стадии становления, те, кто вскочат на этот поезд сейчас, могут уже через несколько лет добиться невероятных успехов.

Разобраться как работать с данными можно на специализации Data Scientist от школы по работе с данным SkillFactory.

10. GIS-аналитик (GIS Analyst)

Геоинформационные системы — одно из самых перспективных направлений IT, которое совмещает прикладное применение с мощными вычислительными возможностями. Управление распределёнными электрическими сетями и оптимизация общественного транспорта, формирование логистических маршрутов и геологоразведка — везде используются цифровые карты, из которых можно извлечь информацию и получить ответы на важные вопросы.

Успешный GIS-аналитик должен уметь работать с массивными базами данных и владеть инструментами пространственного анализа. Объединив эти навыки со знаниями картографии и технологий спутникового зондирования, эксперт будет создавать продвинутые карты с нужным набором функций, автоматизировать получение и обновление информации.

Если вы узнаете себя в одном из этих описаний — помните: выучить Python можно буквально за считанные недели. Записывайтесь на курсы и специализации от SkillFactory — и начинайте новую жизнь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *