Где Python-специалисту искать первую работу?
Python — самый быстрорастущий язык программирования за последние несколько лет. Специалисты по Python востребованы на рынке труда. Поэтому многие начинающие программисты и задумались об изучении этого относительно простого и современного языка программирования, но овладеть навыками программирования на Python — только половина пути к успеху. Остается найти место работы, которое будет устраивать и по уровню заработной платы и по удобству рабочего графика. Поиск работы мечты возможен с помощью большого количества сервисов. Предлагаю рассмотреть некоторые из них.
Если хотите работать только на себя и не зависеть от рабочего графика, хотите сами выбирать сколько работать и соответственно сколько зарабатывать, то идите на фриланс биржи:
На Kwork нет никаких платных подписок и неоплачиваемых тестовых заданий, работайте сразу и без вложений, а платой за сервис будет 20% с каждого заказа. Выше оборот с клиентом — ниже комиссия, если достигнуть цифры в 300000, то комиссия снизится до 7,5%. Здесь вы сможете как предложить услугу, так и откликнуться на предложение заказчика, размещенное на бирже. От скорости и качества выполненной работы будет зависеть ваш рейтинг, а от рейтинга уже зависит степень доверия работодателя и соответственно вероятность получения нового заказа. Из-за популярности Кворка фрилансеры вынужденно занижают стоимость работы, чтобы получить заказ, но это проблема не столько Кворка, сколько всего фриланс рынка.
На Kwork Python-разработчик может брать заказы по направлениям:
Доработка и настройка сайта;
Сервера и хостинг.
Еще одна популярная биржа, но без платной подписки не получится брать заказы. PRO аккаунт стоит 2500 рублей. Тут уже каждый для себя решает стоит ли платить за возможность работы, при условии, что заказы никто не гарантирует.
Специалист по Python может выбирать из этих разделов:
Если предыдущие фриланс биржи предоставляли возможность работать фрилансерам разных специальностей, то Хабр Фриланс создали специально для работников сферы информационных технологий. Из минусов: в сутки получится откликнуться только на 5 предложений. За возможность откликаться на большее количество заказов сервис берет плату 99 рублей за один отклик. Возможно купить безлимитное количество за 270₽ в сутки, 490₽ в неделю, 1200₽ в месяц или 7300₽ в год. Также биржа не регулирует платежи менее 3000 рублей, что не подходит новичкам, ведь им доверяют заказы меньше этой суммы.
На Хабр Фриланс намного больше, чем у конкурентов, разделов, посвященных разработке на Python.
Выбор бирж в СНГ огромен, но они не без недостатков. Остается искать заказчиков за границей. Upwork позволяет работать с нанимателями из разных стран. На этой бирже заказчики готовы платить больше, но и требования у них соответствующие. Если ваш уровень английского позволяет работать с иностранцами, то определенно стоит попробовать зарегистрироваться на Upwork. Сервис не просит оформить платную подписку или же купить право откликаться на заказы. Биржа берет 20% с выполненного заказа. То есть вы можете начать зарабатывать без вложений.
Итак, чтобы работать только на себя, нужно идти во фриланс. Как мы уже поняли, фриланс бирж много и перечисленные в статье — малая часть ассортимента, представленного на рынке труда. У каждой площадки свои минусы и плюсы, и каждый преследует свои цели и задачи, но для всех бирж действуют следующие правила:
- Необходимо внимательно заполнять профили и портфолио, чтобы работодатель сразу оценивал ваши способности и понимал отдавать вам заказ или нет.
- Придется потрудиться для получения первых заказов, ведь без хорошего рейтинга и отзывов заказы будут добываться с трудом. Со временем, когда в вашем профиле будет много положительных отзывов с заказами проблем не будет.
- Не стоит беспокоиться насчет безопасности сделок. Если следовать правилам биржи, то вы и ваши честно заработанные деньги будете защищены. Везде техподдержка решит проблему и заминок с выводом или получением денег не возникнет.
С темой фриланса мы разобрались, но что делать тем, кто хочет работать в крупной IT компании? Нужно идти на популярные сайты по поиску вакансий:
Это крупнейшая российская компания интернет-рекрутмента. С hh.ru сотрудничают свыше 350 тысяч компаний. Среди них присутствуют такие IT-гиганты, как Yandex, Ozon, Nvidia.
По запросу “Python разработчик” (Стоит писать без дефиса. Так hh.ru и другие сайты находят больше вакансий) сайт выдает 9751 вакансию.
Как и на фриланс биржах вы можете как откликнуться на вакансию, так и разместить свое резюме, чтобы работодатели сами нашли вас. Если вы специалист высокого уровня вас непременно заметят и предложат высокооплачиваемую должность.
На сайте гибкая система фильтров, где можно подобрать вакансию по разным параметрам. Даже без опыта работы велики шансы найти должность стажера или junior-разработчика. Также hh.ru рассылает письма на электронную почту с подбором подходящих вакансий. Если вам ответил работодатель, то сразу же приходит уведомление на e-mail, что избавляет от необходимости постоянно открывать сайт для проверки.
Авито — известный российский сайт по предложению услуг.
По запросу “Python разработчик” сайт выдает маленькое количество предложений. Видно, что IT компании не заинтересованы в поиске сотрудников через Авито. Фильтры для поиска не гибкие, например, отсутствует возможность выбрать проф. область компании.
Еще один проект Хабра, соответственно Хабр Карьера предназначен исключительно для IT-шников.
По запросу “Python разработчик” сайт выдает почти 3000 вакансий. На площадке присутствуют многие топовые российские IT компании: Яндекс, Лаборатория Касперского, 2GIS, Tinkoff, МТС, Билайн, Сбер. Предложения сортируются даже по профессиональным навыкам, что очень удобно.
Параллельно с поиском на специализированных сайтах не лишним будет и отсылать резюме в интересные вам компании. Контакты для связи можно найти на официальном сайте организации.
Теперь стало ясно, на каких сайтах стоит подбирать подходящие вакансии, чтобы трудиться на благо чужой компании. Если же вы хотите основать свою компанию и быть как Стив Джобс, Билл Гейтс или Павел Дуров, то запускайте стартап. Этот путь подразумевает огромные риски. В один момент можно потерять все, и это не преувеличение. Неудавшийся стартап может обречь на вечное выплачивание кредитов. Однако если у вас в голове засела гениальная идея, вы толковый разработчик с предпринимательской жилкой, лидерскими качествами и непреодолимым желанием покорить мир — ищите инвесторов, нанимайте команду и работайте над личным проектом.
Популярные места поиска работы мы уже рассмотрели, но остаются еще не самые очевидные, но не значит бесперспективные способы поиска.
В этом мессенджере много полезного для разработчика контента: каналы с технической литературой, тематические чаты, а также каналы, где публикуются вакансии, которых нет на популярных сайтах, можно найти каналы, которые специализируются именно на Python и регулярно получать информацию о новых вакансиях.
В постах компании сразу выдвигают требования к будущему сотруднику, обозначает навыки и умения, которыми он должен обладать. В роли фильтров здесь выступают хэштеги. Вакансии добавляются несколько раз в день.
Те, кто учился или учится в ВУЗе на одну из IT специальностей могут попросить своих преподавателей, чтобы они рассказывали о вас знакомым работникам местных компаний, которые заинтересованы в поиске молодых и талантливых разработчиков. Если вы были хорошим студентом, то наставники будут только рады помочь устроиться на высокооплачиваемую должность.
Не лишним будет и самому поднапрячься и постепенно обрастать выгодными знакомствами из мира технологий. Полезно иметь товарищей, которые могут позвать работать к себе в компанию.
Программист Python
Программист Python (Python Developer) использует высокоуровневый язык программирования «Пайтон» (Python) для создания приложений client — server, программных продуктов, микросервисов, сайтов, простых игр, ботов для социальных сетей. Занимается не только созданием ПО, но и технической поддержкой, интеграцией, оптимизацией, обучает персонал компании работать с программами и сервисами. Кстати, недавно центр профориентации ПрофГид разработал точный тест на профориентацию, который сам расскажет, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Читайте также
Краткое описание
Python Developer пишет коды, интегрирует и тестирует приложения, исправляет ошибки, запускает и сопровождает разработанные им на «Пайтоне» программные продукты.
Как узнать, подходит ли вам профессия «Программист Python»?
Python создал в начале 90-х годов прошлого века голландский разработчик Гвидо Ван Россум. Несмотря на почтенный для языков программирования возраст, «Пайтон» и сейчас уверенно занимает верхние строчки мировых рейтингов популярности (индекс TIOBE, индекс PYPL, IEEE Spectrum и др.). Его используют такие гиганты, как Mail.ru (VK), Google, Яндекс, Pinterest, Youtube, Intel и Microsoft, NASA, и многие другие крупные компании. Кстати, у Профгида есть тест «Какой курс Python для начинающих выбрать?».
Курсы SkillBox
Скидка 60% на профессии и 50% на курсы Skillbox по промокоду «prof»
Начни учиться сегодня, оплатишь потом!
XYZ SCHOOL — лидер в геймдев обучении, скидки до 45%. Уникальное предложение.
Опытные программисты Python выделяют такие сильные стороны языка и плюсы работы с ним:
- расширяемость языка, интеграция с C/C++;
- упрощенный синтаксис, поддержка Unicode;
- кроссплатформенность;
- динамическая типизация;
- возможность оперативно создавать самый сложный код;
- огромное количество сред разработки и библиотек для любых целей;
- можно использовать для написания всех видов программных продуктов;
- упрощенное сопровождение созданного ПО;
- свободная лицензия;
- большое сообщество грамотных программистов.
Основным недостатком Python считается его «медлительность». Производительность «Пайтона» в несколько раз ниже, чем у более молодых языков. Тем не менее высокая производительность современных серверов и компьютеров практически нивелирует относительную неторопливость операций на Python — настолько, что приложение загружается 0,1 секунды вместо 0,001 секунды. Пользователь вряд ли замечает эту разницу.
Весенние скидки в ИПО до 40%!
Государственный диплом. Рассрочка от института и индивидуальные скидки. Ведется набор студентов.
Курсы SkillBox
Скидка 60% на профессии и 50% на курсы Skillbox по промокоду «prof»
Начни учиться сегодня, оплатишь потом!
XYZ SCHOOL — лидер в геймдев обучении, скидки до 45%. Уникальное предложение.
В последние годы смартфоны оттесняют ПК с Олимпа пользовательских симпатий, и все больше программ и приложений разрабатывается на языках, лучше подходящих или вовсе специально созданных для мобильной разработки (например C++). Хотя на Python тоже можно разрабатывать мобильные приложения (с использованием Kivy).
Особенности профессии Python-программиста
Python — язык программирования настолько широкого назначения, что на нем можно написать практически всё. Он используется в веб-разработке, создании приложений, аналитике данных, системах автоматизации.
Кем работать
Программист на Python может работать на самых разных позициях:
- Разработчик ПО (Software Developer).
- Fullstack-разработчик на Python (Fullstack Python Developer).
- Инженер ПО (Software Engineer).
- Системный программист (System Programmer).
- Специалист по обработке данных (Data Scientist).
- Аналитик данных (Data Analyst).
- DevOps-инженер (DevOps Engineer).
- Автоматизация бизнес-процессов (Business Process Automation (BPA) Developer/Analyst или Robotic Process Automation (RPA) Developer).
- Веб-разработчик (Web Developer).
- Системный администратор (System Administrator).
- Тестировщик ПО (Quality Assurance Tester).
- Биоинформатик (Bioinformatician). В «Пайтоне» есть специальные инструменты для обработки данных и вычислений в молекулярной биологии – Biopython).
- GIS-аналитик (GIS Analyst).
- Билд-инженер (Build/Release Engineer).
- Специалист по машинному обучению (Machine Learning Specialist (ML Specialist))
- Разработчик нейронных сетей (Neural Network Developer).
- Младший научный сотрудник (Research Assistant).
- Инди-разработчик (Indie Game Developer). Можно создавать небольшие игрушки, серьезные игры пишут на C#.
Разработчик Python — это программист-универсал с большими карьерными возможностями.
Плюсы и минусы профессии
Плюсы:
- Возможность обучаться самостоятельно.
- Быстрое обучение.
- Большое русскоязычное сообщество программистов.
- Красивый и простой код языка, что существенно ускоряет процесс разработки.
- Небольшое количество программистов, хорошо владеющих Python.
- Востребованность, поэтому работы будет много.
Минусы:
- Для трудоустройства, кроме знанания Python, обычно требуются навыки работы и с другими языками (Java, C/C++).
- Программисты Python востребованы в крупных компаниях, базирующихся в Москве, СПб и других крупных городах. Поэтому с поиском работы в отдаленных регионах у разработчика, который владеет только одним языком программирования, могут возникнуть проблемы.
Читайте также
Важные личные качества
- Терпеливость.
- Трудолюбие.
- Решительность.
- Инициативность.
- Целеустремленность.
- Самоуверенность.
- Внимательность.
- Самоконтроль.
Обучение на программиста Python
Чтобы освоить профессию Python-программиста, достаточно школьных знаний. Главное достоинство «Пайтона» для новичков – низкий порог входа. Это значит, что научиться работать с Python может практически каждый, кому в принципе интересно программирование. Если знаете английский, будет намного проще: Python похож на английский больше, чем другие языки разработки.
Профессию программиста можно получить в колледжах и вузах. Для тех, кто решил самостоятельно освоить Python: в Интернете есть огромное количество полезных материалов: книги и учебники, видеоматериалы, русскоязычные сообщества, переведенные инструкции. Кстати, у Профгида есть онлайн-тест «Какой курс Python для начинающих выбрать?».
Кем работать в IT в 2022: Python-разработчик
Рубрика «Кем работать в IT» — интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажерам она поможет больше узнать о том, что их ожидает на карьерном пути, а профессионалам — посмотреть на свою специальность через чужой опыт и, может быть, открыть для себя что-то новое.
Сегодня о своем опыте работы нам расскажет Игорь Анохин, Senior Python-разработчик в Облаке КРОК.
«Круто, когда разработчик понимает не только свою технологию, но и как все работает рядом»(с) Игорь А.
Игорь — студент магистратуры ИТМО по направлению «Системное и прикладное программное обеспечение», в начале карьеры четыре года работал в стартапе по разработке Raspberry Pi, а потом захотел чего-то нового — этим и стал КРОК.
По данным зарплатного калькулятора Хабр Карьеры, средний размер заработной платы Python-разработчика в первом полугодии 2022 года составлял 70 курсов для тех, кто хочет изучить Python. Программы разные: как для опытных специалистов, так и для тех, кто хочет изучить профессию с нуля.
Компания
Как вы попали в компанию, в которой работаете сейчас? Где нашли вакансию, на какую должность и как прошло собеседование?
В стартапе я понял, что устал от десктопа и системной разработки, хотелось чего-то нового. Тогда все только начинали выходить на удаленку, как будто бы и разницы не было, где именно работать. Создал резюме и занял ожидающую позицию. Писали из разных компаний, в том числе ребята из КРОК. О них я знал со времен участия в хакатонах. Точно помню, что виделись на VK-хакатоне, там был стенд компании.
Одна из весомых причин, почему попал именно сюда — процесс найма прошел очень быстро по сравнению с другими компаниями, где он мог длиться до трех недель. Когда на собеседовании мне сказали, что они ребята реактивные и достаточно быстро принимают решения, не думал даже, что настолько быстро по сравнению с другими.
А ещё не душили алгоритмами, которые есть во многих крупных компаниях.
Я собеседовался на позицию Middle Python-разработчика. Собеседующий завалил меня вопросами: пытался понять, насколько много я знаю. Спрашивал про асинхронное программирование, как работает Linux, как он взаимодействует с процессами, как происходит остановка процесса.
Один пример на тестовом задании был из книжки по питону, которую я открыл, ужаснулся и закрыл. Когда увидел код задачки, сказал, что видел это во Fluent Python, но не помню, как решать. Некоторые книги для прогеров дают много интересных задач, которые, возможно, пригодятся на собеседовании.
Как проходил процесс адаптации? С какими трудностями вы столкнулись?
Я удаленный сотрудник, в этом и были трудности. Иногда не понимаешь, кому ты пишешь (аватарки с Наруто в мессенджерах не самые лучшие помощники при знакомстве), как донести свою мысль в сообщении, чтобы на том конце поняли с первого раза. Что в новом месте принято, а что нет.
Помогало, что у КРОК хорошая программа адаптации. И welcome-подарочки подарили, и со всеми департаментами познакомили, и команда всегда была на связи, и наставника дали — ему задавал все вопросы по ходу работы. А недавно я и сам стал наставником для одного из разработчиков: вводил его в проект, пытался понять проблемы и направить на решение. Ориентировался на то, как этот процесс проходил у меня. Наставничество — вообще полезная фича и для стажера, и для наставника.
Вот что было непривычно: в стартапе коллеги брали на себя полный цикл и чем только не занимались: сегодня ты пишешь серверное приложение, а завтра тебе нужно разрабатывать десктоп. Или тебя определяют в Mobile, и ты занимаешься им. Просто потому что «кто-то» должен был этим заниматься. В КРОК у нас большая команда и задачи очень четко разделены между каждой группой. Так намного проще.
Какие знания у вас уже были, когда вы пришли в свою компанию?
Из опыта, который имел — это участие во всем цикле разработки продукта. Это был опыт с прошлого места работы, хакатонов и проектной деятельности. Еще был опыт самостоятельной разработки фичи от момента постановки задачи бизнесом до этапа введения этой фичи в употребление.
Может быть, поэтому после вводных мне сразу досталась достаточно большая задача. Я занимался переработкой одной из подсистем, которая теперь работает раза в 3-4 лучше и быстрее – на это ушло около четырех месяцев. Такие большие задачи с долгосрочным планированием были в новинку. Спасибо ребятам из команды, которые мне помогали!
Как вы продвигались в компании? Какие навыки в этом помогли?
По софтам, думаю, мне помогает проактивность. Это не столько про «сделать больше, чем от тебя ждут», сколько решить, насколько вообще нужны эти действия. Не делать бесполезную работу или быть более активным в решении проблемы.
По хардам — это знание вокруг языков программирования. Когда ты знаешь, как работает Linux, как настраивается CI/CD, как устроена система сборки, Докер. Когда что-то не работает, я сам могу зайти в CI/CD и понять, что именно случилось, так как в прошлой компании его настраивал.
Круто, когда разработчик понимает не только свою технологию, но и как все работает рядом. Например, знаю, как устроен фронтенд в задаче переработки импорта-экспорта. В одной из задач мы не привлекали дополнительных людей, я сам переписал и бэк, и фронт.
Раз уж зашла речь о трудоустройстве — сейчас на Хабр Карьере более ста вакансий для Python-разработчиков. Специалистов ищут 2ГИС, VK, МТС, ГК Астра и много других компаний.
У КРОК, где работает наш герой, тоже есть открытая вакансия Senior Python-разработчика.
Опыт
Что сейчас нужно знать специалисту, чтобы попасть в вашу сферу?
По ощущениям, сейчас нужно гораздо больше, чем 5 лет назад. Кажется, что тогда было достаточно знать сам язык программирования и всё. Сейчас этого мало.
Знание какого-нибудь языка программирования всё равно остается обязательным условием. Я бы предложил Python, так как он достаточно дружелюбный для новичков. Жизнь, конечно, не ограничивается одним языком программирования. Но если что, всегда можно будет переключиться на другой.
Если заходить в сферу через стажировку или курсы, то, кроме языка программирования, нужно уметь решать несложные алгоритмические задачи. Если сразу хочется попасть на Junior позицию, то стоит знать какую-нибудь систему контроля версий по типу Git, иметь представление о базах данных и понимать хотя бы один web framework.
Какие бы вы выделили важные Soft и Hard Skills для специалиста вашего направления?
Hard — если опускать знание самого Python (без этого точно не получится), важно иметь базовое понимание фреймворков, которые позволяют писать веб-приложения. Даже не особо важно, будут это более старые Django или Flask, либо модные FastAPI или aiohttp.
Понимать, как работают базы данных, хорошо знать Linux, потому что наш код часто взаимодействует с операционной системой. К тому же, разработчик много времени проводит на стенде виртуальной машины, где приходится работать с консолью Linux: деплоить облако, тестировать систему, смотреть, что не работает.
Soft – позвольте перечислить через запятую: проактивность, инициативность, активность, умение работать в команде, глубокий подход к решению задач и готовность разбираться в разных технологиях, утилитах и сервисах.
Поговорим об ошибках? Что вы сделали не так за это время, что не нужно делать новичкам?
Лично моей проблемой были слабые софты. В 18 лет я был скорее школьником, который совсем не понимает, что происходит.
Советы начинающим разрабам из личного опыта будут такие:
- Не пытаться сразу сделать всё идеально, понять итерационный подход к продукту. То есть постепенно, по итерациям, осознавать, как это работает, как будет работать, чтобы не горевать в конце из-за большого количества бесполезной работы.
- Избегать поспешности. Есть такой «эффект второй работы». Это когда первую работу ты выполняешь качественно, потому что делаешь ее впервые, а вторую можешь делать небрежно. Из-за этого случаются ошибки. Часто замечаю это и за новичками, и за опытными спецами. Не надо так.
- Не бояться обратиться за помощью, попросить коллегу, чтобы он тебе объяснил. Спросить будет гораздо профитнее для тебя и компании. Если ты старший разработчик, понять, что быстрее: загуглить и разобраться самому или же попросить помощи.
- Не попадать в ловушку того, что ты всё знаешь. Новички после курсов программирования, где они бегло познакомились с технологией, достаточно ярко могут заявлять, что они ее знают. Это сильно препятствует развитию.
От автора
С чего можно начать специалисту без опыта? Какие есть возможности?
Не претендую на звание карьерного коуча для разрабов, но вижу стартер-пак новичка так:
- Онлайн-курсы. Когда я начинал промышленное программирование, проходил курс на Stepik. Там много курсов для начинающих Python-разработчиков, на старте должно зайти. Такие сайты помогают отслеживать свой прогресс, а в конце дают сертификат, что ты молодец.
- Книжки. Для начинающих — Dive into Python, для продолжающих — Fluent Python. В самом начале книга может показаться сложной и скучной, но хотя бы по диагонали просмотреть ее надо.
- Хакатоны. Когда ты молод и горяч, это невероятно здорово. Тут ты пытаешься ручками поработать над потенциально полезным проектом, получаешь обратную связь и зачастую пытаешься продолжить начатое. Здесь ты знакомишься, смотришь как работают другие, учишься писать не только pet-проект, но и становишься частью полноценной рабочей команды. Еще иногда бывают денежные призы. Это всегда приятно!
- Стажировка в компании. Сколько ни хакатонься, реальные задачи — это совсем другое. На стартовые позиции иногда достаточно опыта самостоятельных проектов, хакатонов и хороших софтов — желания учиться, проактивности, умения разбираться в новом. У нас в КРОК, кстати, стажер —- стартовая позиция. Ребята в среднем за 6 месяцев растут до джунов и продолжают работать в компании.
Еще хочу затронуть тему высшего технического образования — надо/не надо. Если есть цель стать Python-разработчиком и начать писать код, то самый краткий путь — это проходить курс по Python-разработке и писать код. Высшее образование, особенно техническое, — это про то, чтобы посмотреть, как все работает вокруг, иметь широту взгляда в областях, в которые ты, как Python-разработчик, никогда не полезешь.
Помню, в университете мы писали код LISP на Verilog, программировали на уровне транзисторов и загружали программу на плату. Для Python- и веб-разработчика это абсолютно бесполезный навык, но так ты лучше понимаешь другие концепции программирования. А это иногда очень спасает.
Какие книги, статьи, подкасты, курсы стоит почитать/посмотреть для развития в профессии?
Из того, что не назвал выше — канал русскоязычного Python-блогера «Диджитализируй!» (бесплатная реклама). Там Python-разработчик ориентируется на джунов, снимает достаточно бодро и не успевает надоесть. Рассказывает про улучшения кода, делает разбор больших библиотек, например, как лучше писать приложение на Django, разделять код. Показывает, как некоторые фреймворки работают изнутри.
По софт-скиллам и полезным навыкам есть много интересных книг. Мне зашла «Пиши, сокращай» Максима Ильяхова. Книга про то, как писать понятно и составлять грамотные тексты. В общении с коллегами она мне очень помогла — большинство из нас работает на удаленке, поэтому скилл доносить свою мысль по переписке для нас важен.
Карьерный трек Python-разработчика
Мы часто слышим от специалистов на Хабр Карьере вопрос: как понять, что я уже сеньор? Или: что мне нужно сделать и освоить, чтобы вырасти до миддла?
В каждой статье рубрики мы разбираем новую специализацию и показываем карьерный трек. Это инфографика с навыками, задачами и условиями работы, разбитыми по квалификациям.
Вот такой трек Python-разработчика нам помог составить Игорь и команда КРОК.
- кем работать в it
- карьера в it
- python
- бэкенд-разработчик
Python-разработчик: из новичка в профессионалы. Как начать свой путь в освоении языка?
- почему многие крупные компании до сих выбирают Python
- какие знания нужны разработчику на каждой из ступени грейдов
- где эти знания получить
Коротко о Python
Уже более 30 лет многие компании создают на Python сайты и приложения. Однако он до сих пор не теряет актуальность. Не первый раз подряд возглавляет рейтинг востребованных языков программирования TIOBE.
Секрет популярности — простота. Благодаря несложному синтаксису изучить Python с нуля и в короткие сроки начать решать базовые задачи под силу любому новичку. Именно поэтому этот язык программирования так любят в вузах.
Еще одно преимущество Python — многофункциональность. Его используют для написания сайтов, мобильных приложений и даже нейросетей:
- В Netflix на Python написано приложение, которое отвечает за интеллектуальную обработку оповещений. Приложение умеет отправлять уведомления нужным людям и удалять их, если они повторяются.
- Возможность использовать мод на деньги в Sims 4 или менять цвет танков в World of Tanks — также заслуга Python.
- Для аналитики Python используют в Intel, Cisco, HP, Seagate, Qualcomm и IBM.
- А научные вычисления с помощью этого языка ценят в NASA, Los Alamos, Fermilab, JPL.
Что должен знать Python-разработчик
Начать изучение Python лучше всего с документации. Здорово, если вы владеете английским, — сможете читать в оригинале. Если нет — ничего страшного. Мы дадим пошаговую инструкцию, которая поможет изучить Python с нуля.
Первое с чего нужно начать изучение — это синтаксис или правила, которые описывают, как писать код на том или ином языке.
- Так как Python — объектно-ориентированный язык, знание принципов ООП помогут ускорить работу, а также сделать код более читаемым.
- Не обойтись и без базовых библиотек и фреймворков: Django или Flask отлично подойдут, а также помогут избежать сложных конструкций в языке.
Чтобы выстроить логические операции, которые обеспечат работу приложения, важно знать алгоритмы. А если вы хотите пойти еще дальше и показать наивысший уровень владения языком, придется изучить работу баз данных. Знания БД и алгоритмов откроют еще один путь для развития — Data Science.
Грейды в профессии Python-разработчик
После изучения базовых принципов, список требований к разработчику зависит от квалификации или грейдов. Их всего три: Junior, Middle и Senior. Давайте остановимся на каждом поподробнее.
Junior — начинающий специалист с опытом работы до 12 месяцев. Задачи Junior, как правило, выполняет по четкому ТЗ, тем самым отрабатывая базовые навыки. Чтобы устроиться на такую позицию, будет достаточно знаний, о которых мы рассказали выше.
Также не забывайте про Git/Github. Это система контроля версий, которая помогает отслеживать изменения или сохранять определенные версии. Изучение начинайте с принципов работы и основных терминов — «коммит» и «pull request».
Middle — специалист с опытом работы 2-3 года, который не нуждается в пошаговом плане действий. У него есть опыт решения бизнес-задач, он в силах самостоятельно принять некоторые решения и приоритизировать собственную работу. Для этого Middle-специалисту важно:
- понимать, зачем он использует каждую технологию;
- стремиться улучшать навыки и слышать обратную связь;
- не бояться брать ответственность.
Дополнительные hard-скилы зависят от выбранной IT-сферы. Например, могут понадобиться знания дополнительного языка программирования или применения метода статистического анализа данных.
Senior — специалист самого высокого уровня, его опыт в разработке — от 5 лет. Senior’ы не только владеют языком программирования на самом высшем уровне, стратегически мыслят и принимают решения, но и зачастую берут функционал лида команды на себя. Поэтому эмпатия, умение распределять задачи и понимание принципов мотивации будут как нельзя кстати.
Из смежных сфер пригодятся знания матанализа, теории вероятностей и статистики для аналитики данных.
Чем занимается Python-разработчик
В начале статьи мы рассказывали о применении Python в разных компаниях. Поэтому конкретный пул обязанностей Python-разработчика зависит от выбранной сферы. Это могут быть: Data Science, веб-разработка, бизнес-автоматизация, а также работа с нейросетями, которая стала популярной в 2023 году.
Чаще всего Python используют в backend-разработке, так как он оптимален для решения задач со стороны сервера. При этом, именно на Python тестировщики пишут автотесты, чтобы повысить скорость своей работы, а веб-разработчики — сайты и приложения.
Что должен знать Junior Python-разработчик?
Какие библиотеки стоит изучить
Как и везде важно отталкиваться от сферы деятельности.
Для Data Science подойдут: NumPy, Pandas, Matplotlib,
Scikit-learn, TensorFlow. Последняя подходит для создания, обучения и использования нейросетей.
В веб-разработке используют Django, Flask, SQLAlchemy, Requests и Beautiful Soup.
А в геймдеве — Pygame, Panda3D, Arcade, PyOpenGL.
В 2023 году hh.ru предлагает более 1 тыс. вакансий Python-разработчика. А зарплата зависит от региона. Правда, с распространением удаленной работы эти границы стираются. Самая высокая зарплата остается у жителей Москвы и Санкт-Петербурга. По данным Хабр.Карьеры в конце 2022 года средняя заработная плата составляла 170 868₽.
Где изучать Python
Чтобы изучить азы разработки на Python, есть три основных пути: обучение в вузе, самостоятельное обучение и онлайн-курсы.
Обучение в вузе
Так как вуз дает фундаментальные знания, которые охватывают не только разработку, заложить на обучение придется минимум 4 года. Благодаря тому, что IT-направление находится на пике популярности, с каждым годом открывается все больше специальностей с возможностью обучаться на бюджетной основе.
Также к составлению программы в вузах все чаще привлекают топовые IT-компании, а некоторые из них открывают собственные кафедры. Однако, зачастую, в вузах закладывают базу, которая помогает разобраться в IT-профессиях, а языки программирования преподают поверхностно. Большую часть информации придется добывать самостоятельно: из открытых источников или на практике в IT-компаниях.
Самостоятельное обучение
В интернете сейчас много информации в открытом доступе. Но основная сложность состоит в структурировании знаний. Важно обладать усидчивостью, навыками анализа информации и критическим мышлением. Также большая часть документации написана на английском языке, поэтому его придется подтянуть. Для получения применимой для работы информации потребуется немало времени.
Чтобы вам было проще, мы подготовили список книг, которые помогут разобраться в Python самостоятельно:
- Легкий способ выучить Python 3
- Изучаем Python: программирование игр, визуализация данных, веб-приложения
- Python, Django и PyCharm для начинающих
- Python. Программирование для начинающих
Полезным будет и бесплатный видеогайд от ProductStar. В нем 8 ознакомительных уроков общей продолжительностью в 70 минут. Это хорошая база для начала знакомства с Python.
Платные онлайн-курсы
Создатели онлайн-курсов уже позаботились о структурировании информации и сосредоточили все знания в образовательных программах. Структура помогает быстрее вникнуть в профессию и углубить знания в программировании. Весь процесс проходит в удобном для вас темпе с постоянной практикой. Преподаватели курса — эксперты в своем деле и дадут все необходимые знания для входа в профессию.
Например, на курсе «Профессия: Python-разработчик» от онлайн-университета ProductStar вас будут обучать:
Никита Соболев
CTO wemake.services
- Постоянно улучшает и дорабатывает Python. Никита единственный разработчик из России, когда-либо писавших для языка. Занимает 60-е место из 5000 разработчиков по вкладу в Python
- На курсе Python-разработчик Никита записал 1 урок: Строки, условия, циклы
Иван Громов
Старший разработчик, FAANG
- Развивает операционную систему для VR-шлемов
- Принимал участие в создании Алисы и Яндекс.Дороги
Артем Верхоглядов
Team Lead, Pinely
- Работал в Яндекс
- Постоянно Участвует в соревнованиях по программированию: Google Hashcode, ICPC, Codeforces и др.
А еще у нас есть партнерская программа с Google Devs Community. Это сообщество разработчиков, где вы можете познакомиться с будущими коллегами. Общаясь в этом коммьюнити, вы тоже можете увеличить свои знания и опыт в сфере.
Также, уже во время обучения, эксперты Карьерного центра ProductStar подберут стажировку с учетом ваших пожеланий и гарантируют предложение о работе в дальнейшем.
Общие рекомендации для старта карьеры Python-разработчика
Посетите как можно больше собеседований в различных компаниях. Это поможет узнать о реальных требованиях работодателей и выявить зоны для роста. В самом начале у вас может быть немало провальных встреч. И это нормально. Со временем вы наберетесь опыта, овладеете навыками самопрезентации и, наконец, получите оффер в компанию мечты.
Беритесь за все тестовые, которые вам предлагают и не стесняйтесь запрашивать обратную связь, если что-то не получилось. Успешные кейсы можно добавить в портфолио — конечно, по согласованию с работодателем.
Разбирайтесь в библиотеках и фреймворках. Не останавливайтесь только на теоретических знаниях и внедряйте их в пет-проекты. Даже простой сайт, написанный самостоятельно, поможет разобраться во многих тонкостях и обеспечить предложение о работе.
Развивайте GitHub. Добавьте на него все вышеперечисленные работы и не забывайте обновлять. Другие разработчики оценят ваши навыки и опыт, а также смогут дать рекомендации.
Повышайте уровень английского. Напомним, что вся документация для разработчиков написана на английском языке. Плюс знания языка позволят вам искать информацию в англоязычном интернете, а также решения на StackOverflow.
Спасибо за внимание!
И удачи в покорении Python