Почему стоит прислушаться к моему мнению?

Возможно, вы задаетесь вопросом о том, заслуживает ли эта статья вашего внимания. Поэтому позвольте представиться. Мне 21 год, и я инженер Python с трехлетним опытом. Я изучал информатику в колледже и даже получил сертификат архитектора программных решений AWS.

Но что действительно отличает меня от других Python-инженеров, так это то, что я получил эту должность в 17 лет! С тех пор я помог многим друзьям найти работу в IT-сфере.

Так что я тот, кто был на вашем месте и знает не понаслышке, каково это  —  стать профессиональным Python-программистом. Рассмотрим основные навыки, которые понадобятся для старта успешной карьеры в 2023 году.

Требования к младшему Python-инженеру

Вот общие требования, которые сегодня часто указывают в вакансиях для Python-инженеров.

  1. Степень бакалавра в области компьютерных наук или смежной сфере.
  2. 1–2 года опыта работы с Python и соответствующими библиотеками (такими как Django и Flask).
  3. Знание технологий веб-разработки (HTML, CSS, JavaScript и т. д.).
  4. Знание баз данных (SQL, MySQL, MongoDB и т. д.).
  5. Владение ведущими практиками разработки программного обеспечения (контроль версий, тестирование, отладка и т. д.).
  6. Высокий уровень навыков решения задач и критического мышления.
  7. Умение работать в команде.
  8. Развитые навыки письменной и устной коммуникации.

Обсудим подробно самые важные требования.

Глубокое знание Python

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

К примеру, вы должны быть готовы ответить на подобные вопросы:

  • На какой структуре данных основаны словари Python?
  • Как в Python решается проблема ромба?
  • В каком порядке будут выполняться несколько декораторов, примененные к одной функции?

Вам следует знать Python как свои пять пальцев.

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

Базы данных

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

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

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

Django, DRF и FastAPI

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

Начните с Django  —  самого популярного веб-фреймворка в сфере Python. Он является конкурентом таких легендарных инструментов, как Laravel и Yii2. Поэтому вы должны полностью освоить его. Создайте с его помощью пару домашних проектов и по-настоящему погрузитесь в Django ORM. И если уж браться за этот фреймворк, почему бы не создать REST API с помощью Django DRF?

При этом важно обращать внимание на качество кода. Придерживайтесь принципов SOLID и DRY и досконально изучите ООП-программирование. Не забывайте выкладывать свой код на GitHub и демонстрировать приобретенные навыки потенциальным работодателям. Это окупится в долгосрочной перспективе.

Лично я большой поклонник FastAPI. Считаю его отличным инструментом для начала IT-карьеры  —  удобным в использовании, молниеносным и просто интересным для работы.

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

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

HTML, CSS и JS

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

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

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

Сети и интернет

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

Это означает знание всех нюансов таких протоколов, как TCP, UDP и HTTP. Вам нужно ознакомиться с веб-сокетами и понимать, почему они важны. Отправляясь на собеседование без знания базовых интернет-протоколов, вы рискуете попасть в крайне неловкое положение.

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

Бонус: AWS

Напоследок поговорим об облачных вычислениях. Если вы действительно хотите заявить о себе в IT-отрасли, то освоение AWS определенно стоит вашего времени. Хотя надо признать, что это очень непросто.

Поскольку AWS (Amazon Web Services)  —  горячий тренд, эксперты в данной области  —  чрезвычайно востребованные специалисты. Но если вы собираетесь пройти сертификацию AWS, готовьтесь к трудному испытанию.

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

Заключение

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

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Denis Kh: Skills Required to Become a Python Engineer in 2023

Предыдущая статьяПродвинутые темы SQL для дата-инженеров
Следующая статьяКак усилить электронные таблицы Google возможностями ChatGPT