Pull to refresh
827.91
OTUS
Цифровые навыки от ведущих экспертов

Набор на курс Python: почему мы думаем, что Python 2.7. — это серьезно, а Python 3 — модно

Reading time 4 min
Views 9.6K
Пару дней назад мы открыли набор на один из самых долгожданных курсов — курс серьезного изучения Python. Сегодня мы хотели рассказать вам о направленности и программе курса. Курс предназначен для тех, кто уже знает всякое про Python, но хочет повысить свой навык до уровня middle разработчика и найти уже работу, которая будет приносить не только удовольствие, но и хороший доход (ведь лучшим по результатам обучения студентам наши партнеры — крупнейшие IT компании предложат пройти собеседования). Мы не ждем на курсе новичков: поэтому наличие некоего beginner уровня проверяется вступительным тестом — там всего пара десятков вопросов. Если большинство из вопросов теста вызывают длительный ступор — лучше задуматься над тем, чтобы немного подтянуть свои знания по Python самостоятельно, ведь во время курса может не быть возможности останавливаться на basic вещах.

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

Как была составлена программа? Мы собрали требования актуальных вакансий Python разработчиков с зарплатой выше 100к и актуализировали их с нашими компаниями-партнерами. Далее, опираясь на полученные результаты, представление преподавателя курса о, скажем так, динамическом диапазоне языка, мы разбили курс на 5 логических частей, пропорционально востребованности на рынке труда.

Python for everyone. Вступительная часть курса будет своеобразным трамплином для разгона. Несмотря на вступительное тестирование, уровень знаний на входе все равно будет варьироваться, но в ходе первых недель мы придем к общему знаменателю. В процессе посмотрим на функциональные приемы языка, декораторы, покопаемся в “кишках” интерпретатора, обсудим алгоритмы (непременная составляющая большинства собеседований), поговорим про ООП и паттерны проектирования, завершим блок operation аспектами разработки.

Python for web. Самый обширный пласт курса. Это связано с тем, что большинство актуальных вакансий требуют знаний того или иного web фреймворка, Django в частности. Мы начнем с того, что посмотрим, как создавать простые приложения без всяких фреймворков, а потом с головой окунемся в Django. Тут будут и SQLAlchemy, и REST, и Celery, и, конечно, “ванильная” Djago c ее ORM’ом, view’шками, template’ами. Не забудем поговорить и про тестирование. А, в зависимости от наличия времени, может успеем обсудить штуки типа Flask, Twisted и Tornado. В этом блоке будет одно сквозное ДЗ, где мы будем делать Django приложение.

Python for data science. Анализ данных в наши дни безмерно, иногда даже чрезмерно, популярен и в предложениях о работе это тоже находит свое отражение. Понятно, что стать специалистом по machine learning за пару занятий не получится, зато вполне по силам получить навыки data science инженера. Такой специалист создает data pipeline’ы, поддерживает инфраструктуру аналитики. Тут самое оно изучить NumPy, Pandas, попрактиковаться рисовать красивые картинки и даже поднять “игрушечный” Hadoop и написать для него простейший таск.

Python for high performance. Дональд Кнут учит нас, что преждевременная оптимизация — это корень всех зол. Но в предпоследней части курса уже, кажется, самое время затронуть аспекты производительности. Мы будем говорить про профилирование, написание расширений на C, конкурентные вычисления. Рассмотрим возможные оптимизации, а также осветим вопрос “что делать, если Python недостаточно?”.

Python for future. Python 3 — это то светлое будущее, которое уже наступило, правда, неравномерно. В этом блоке мы будем обсуждать основные изменения, которые произошли в языке между версиями, рассмотрим новые классные фичи (один asyncio чего стоит!). Обязательно обсудим процесс миграции проектов со второй версии на третью.

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

И да, это все Python 2.7, кроме финального блока курса, где мы погружаемся в особенности Python 3. Сразу возникает предмет для споров и возражений. Безусловно, Python 3 — это хорошо, современно, стильно, модно, молодежно. Третья версия получает развитие, новые фичи и однажды мы все войдем в это прекрасное будущее. Но есть нюанс, Python 2.7 (да и 2.6) никуда магическим образом не исчезает из-за того, что Python 3 — это right way to go. Во многих компаниях, в том числе и крупных, компаниях остается Python 2.x код, который нужно поддерживать. Да и новый код тоже частенько пишется на том же Python 2.7, хотя бы потому что последняя CentOS, на которой повсеместно крутятся сервера, из коробки дает именно этот Python, а ставить поверх другую версию и жить с двумя, мягко говоря, неудобно. Если посмотреть вакансии на каком-нибудь агрегаторе, то вы опять-таки увидите, что достаточно часто требуется использование именно Python 2.7. Так же, но это уже чисто субъективно, кажется проще и лучше освоить сначала 2.7, а потом, если потребуется, переходить на 3. Освоение новых фич и особенности не займет много времени, зато будет ясно, откуда “растут ноги” у тех или иных решений и всегда будет возможность разобраться в legacy коде.

Естественно, не обойдется и без практики! HW в учебном плане означает домашнее задание (homework), которое будет разбираться и обсуждаться на занятиях. ДЗ сопровождает каждую из теоретических выкладок и дает возможность самостоятельно “пощупать” то, о чем мы говорили на занятии. Кстати говоря, помимо всего прочего, есть даже одно задание на Go, так что скучать не придется!

Финализируется курс работой над собственным проектом. При прочих равных, он может стать хорошим подспорьем на собеседовании с потенциальным работодателем и стать частью вашего портфолио.
Попробуем? Сдавайте вступительный тест и присоединяйтесь к новой группе!
Tags:
Hubs:
-20
Comments 15
Comments Comments 15

Articles

Information

Website
otus.ru
Registered
Founded
Employees
101–200 employees
Location
Россия
Representative
OTUS