как писать web приложения на python
Введение в создание веб-приложений на Python
В создании веб-приложений часто требуется использование различных фреймворков. В данной статье речь пойдет именно о них.
С помощью фреймворков разработка больших надежных обслуживаемых веб-приложений становится намного проще. Также она уберегает разработчиков от повторного написания одного и того же кода снова и снова.
С помощью фреймворка вы можете реализовать большинство этих функций.
Например, фреймворк Flask не поддерживает базы данных. Для их использования потребуется отдельный модуль. А вот фреймворк Django по умолчанию поддерживает базы данных.
Зачем использовать фреймворки при создании веб-приложений?
Зачастую у нас нет времени на решение тех проблем, которые были решены до нас. И тут на помощь приходят фреймворки. С другой стороны, если вы опытный веб-разработчик, фреймворк может предоставлять не весь спектр функций, который требуется.
Какие существуют фреймворки Python?
Django и Flask – самые популярные веб-фреймворки. Однако ознакомиться с другими фреймворками не помешает.
Вот некоторые из них:
Django
Доступ к базе данных осуществляется через объектно-реляционное преобразование: вы определяете свои модели данных в Python, и Django начинает работать с реляционными системами управления базами данных (СУБД). Однако, если вам нужно, вы можете написать свои собственные SQL-запросы в Django. Также в этом фреймворке поддерживается маршрутизация URL-адресов.
Если вы хотите узнать о Django побольше, прочтите это.
Знаете ли вы, что такие сайты, как NASA, BitBucket и Pinterest были написаны с помощью Django?
Flask
Flask очень прост и интуитивно понятен:
Платформа поддерживает маршрутизацию URL-адресов, шаблоны (с Jinja2), управление сеансами и имеет некоторые фишки в области безопасности.
Если вы хотите узнать о Flask побольше, прочтите это.
Знаете ли вы, что изначально Flask был придуман как первоапрельская шутка?
Начало работы с Python для разработки веб-приложений в Windows
Ниже приведено пошаговое руководство по началу работы с Python для веб-разработки в Windows с помощью подсистемы Windows для Linux (WSL).
Настройка среды разработки
При создании веб-приложений мы рекомендуем установить Python на WSL. Многие руководства и инструкции для разработки веб-приложений на Python написаны для пользователей Linux и поэтому они используют средства упаковки и установки на основе Linux. Большинство веб-приложений также развертываются в Linux, поэтому это обеспечит согласованность между рабочими средами и средами разработки.
Если вы используете Python не для разработки веб-приложений, мы рекомендуем установить Python непосредственно на Windows 10 с помощью Microsoft Store. WSL не поддерживает рабочих столов или приложения с графическим пользовательским интерфейсом (например, PyGame, Gnome, KDE и т. д.). В этих случаях установите и используйте Python непосредственно в Windows. Если у вас нет опыта работы в Python, ознакомьтесь с нашим руководством: Get started using Python on Windows for beginners (Приступая к работе с Python в Windows для начинающих). Если вы заинтересованы в автоматизации общих задач в операционной системе, ознакомьтесь с нашим руководством: Начало работы с Python в Windows для создания сценариев и автоматизации В некоторых расширенных сценариях может потребоваться загрузка определенного выпуска Python непосредственно из python.org или установка альтернативы, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем это только в том случае, если вы более продвинутый программист на Python и у вас есть конкретная причина выбрать альтернативную реализацию.
Установка подсистемы Windows для Linux
WSL позволяет запускать среду командной строки GNU/Linux, интегрированную непосредственно с Windows и вашими любимыми инструментами, такими как Visual Studio Code, Outlook и т. д. Мы обычно рекомендуем использовать WSL 2 для веб-разработки на Python.
Чтобы включить и установить WSL 2, см. документацию по установке WSL. Эти инструкции включают возможность выбора дистрибутива Linux (например, Ubuntu).
Установите новый Терминал Windows из Microsoft Store. В нем вы можете использовать несколько вкладок (для быстрого перехода между несколькими командным строками Linux, командной строкой Windows, PowerShell, Azure CLI и т. д.), создавать пользовательские сочетания клавиш (для открытия и закрытия вкладок, копирования и вставки и т. п.), а также применять функцию поиска и настраивать пользовательские темы (цветовые схемы, стили и размеры шрифтов, а также фоновое изображение, размытие и прозрачность). Подробнее.
Настройка Visual Studio Code
Воспользуйтесь преимуществами IntelliSense, Linting, поддержки отладки, фрагментов кодаи модульного тестирования с помощью VS Code. VS Code хорошо интегрируется с подсистемой Windows для Linux, предоставляя встроенные терминалы для создания комплексного рабочего процесса между редактором кода и командной строкой, в дополнение к поддержке Git для управления версиями с общими командами Git (добавление, фиксация, принудительная отправка, извлечение), встроенными непосредственно в пользовательский интерфейс.
Скачивание и установка VS Code для Windows. VS Code также доступен для Linux, но подсистема Windows для Linux не поддерживает приложения с графическим пользовательским интерфейсом, поэтому нам нужно установить его в Windows. Не волнуйтесь, вы по-прежнему сможете выполнить интеграцию с командной строкой и инструментами Linux с помощью расширения Remote — WSL.
Установите расширение Remote — WSL в VS Code. Это позволит вам использовать WSL в качестве интегрированной среды разработки и обеспечит совместимость и путь к ней. Подробнее.
Создание нового проекта
Давайте создадим новый каталог проекта в файловой системе Linux (Ubuntu), который затем будет работать с приложениями и инструментами Linux с помощью VS Code.
Закройте VS Code и откройте Ubuntu 18.04 (командная строка WSL), перейдя в меню Пуск (нижний левый значок Windows) и введя: «Ubuntu 18.04».
Установка Python, pip и venv
Создание виртуальной среды
Использование виртуальных сред — рекомендуемая лучшая методика для проектов разработки Python. Создав виртуальную среду, можно изолировать средства проекта и избежать конфликтов версий с инструментами для других проектов. Например, вы можете обслуживать старые веб-проекты, для которых требуется веб-платформа Django 1.2, но тогда новый проект будет сопровождаться Django 2.2. Если вы обновляете Django глобально, за пределами виртуальной среды, позже вы можете столкнуться с некоторыми проблемами управления версиями. В дополнение к предотвращению случайных конфликтов управления версиями, виртуальные среды позволяют устанавливать пакеты и управлять ими без прав администратора.
Открытие окна «WSL —удаленный доступ»
VS Code использует расширение «Удаленный доступ-WSL» (установлено ранее), чтобы использовать подсистему Linux как удаленный сервер. Это позволяет использовать WSL в качестве интегрированной среды разработки. Подробнее.
Из Защитника Windows предупреждение системы безопасности, в котором нужно выбрать «Разрешить доступ». После открытия VS Code вы увидите индикатор «Подключение к удаленному узлу» в нижнем левом углу, сообщающий вам, что вы редактируете на WSL: Ubuntu-18.04.
Закройте терминал Ubuntu. В дальнейшем мы будем использовать терминал WSL, интегрированный в VS Code.
Откройте терминал WSL в VS Code, нажав Ctrl+` (используя символ обратного апострофа) или выбрав Представление > Терминал. После чего откроется командная строка bash (WSL), открытая в папке проекта, путь к которой вы создали в терминале Ubuntu.
Установка расширения Microsoft Python
Для «Удаленный доступ –WSL» потребуется установить все расширения VS Code. Уже установленные локально расширения VS Code не будут доступны автоматически. Подробнее.
Откройте окно расширения VS Code с помощью CTRL+SHIFT+X (или используйте меню, чтобы перейти к Вид > Расширения).
В поле Поиск расширений в Marketplace введите: Python.
Найдите расширение Python (ms-python.python) от Microsoft и нажмите зеленую кнопку Установить.
После завершения установки расширения необходимо нажать синюю кнопку Требуется перезагрузка. Это приведет к перезагрузке VS Code и отображению раздела WSL: UBUNTU-18.04 — Установлено в окне расширений VS Code, который указывает на установку расширения Python.
Запуск простой программы Python
Python — это интерпретируемый язык, поддерживающий различные типы интерпретаторов (Python2, Anaconda, PyPy, и т. д.). VS Code должен по умолчанию использоваться интерпретатором, связанным с вашим проектом. Если у вас есть причина для его изменения, выберите интерпретатор, отображаемый в данный момент в синей строке в нижней части окна VS Code, или откройте Палитру команд. (Ctrl+Shift+P) и введите команду Python: Select Interpreter (Python: выбор интерпретатора). На экране появится список установленных интерпретаторов Python. Using Python environments in VS Code(Использование сред Python в VS Code).
Теперь мы создадим и запустим простую программу Python в качестве тестовой и убедимся, что выбрали правильный интерпретатор Python.
Откройте окно проводника VS Code, введя Ctrl+Shift+E (или воспользуйтесь меню для перехода к Представление > Обозреватель).
Откройте встроенный терминал WSL, если он еще не открыт, введя Ctrl+Shift+` и убедитесь, что папка проекта python HelloWorld выбрана.
Вставьте этот код Python в файл test.py, после чего сохраните файл (Ctrl+S):
Чтобы запустить только что созданную программу Python «Hello World», выберите файл test.py в окне обозревателя VS Code, затем щелкните файл правой кнопкой мыши, чтобы открыть меню параметров. Выберите Запустить файл Python в терминале. Или введите python test.py во встроенном окне терминала WSL, чтобы запустить программу «Hello World». Интерпретатор Python выведет «Hello World» в окне терминала.
Поздравляем. Теперь у вас есть все для создания и запуска программ Python! Теперь давайте попробуем создать приложение Hello World с помощью двух наиболее популярных веб-платформ Python: Flask и Django.
Руководство по созданию Hello World на Flask
Flask представляет собой платформу веб-приложений для Python. В этом кратком руководстве вы создадите небольшое приложение «Hello World» Flask с помощью VS Code и WSL.
Откройте Ubuntu 18.04 (командная строка WSL), перейдя в меню Пуск (левый нижний значок Windows) и напечатав: «Ubuntu 18.04».
Откройте встроенный терминал WSL (bash) в VS Code, введя Ctrl+Shift+` (папка проекта HelloWorld-Flask уже должна быть выбрана). Закройте командную строку Ubuntu, поскольку двигаясь вперед мы будем работать в терминале WSL, интегрированном с VS Code
Создайте новый файл для кода Python: touch app.py
Добавьте код в app.py, чтобы импортировать Flask и создать экземпляр объекта Flask:
Кроме того, добавьте в app.py функцию, которая возвращает содержимое, в данном случае — простую строку. Используйте декоратор app.route Flask, чтобы сопоставить маршрут URL-адреса «/» с этой функцией:
В зависимости от того, сколько разных маршрутов нужно сопоставлять с одной и той же функцией, в одной и той же функции можно использовать несколько декораторов, по одному на одну строку.
Сохраните файл app.py (CTRL+S).
Войдите в терминал, запустив приложение с помощью приведенной ниже команды.
Это приведет к запуску сервера разработки Flask. Сервер разработки ищет app.py по умолчанию. При запуске Flask вы должны увидеть результат, аналогичный приведенному ниже.
Откройте веб-браузер по умолчанию на преобразованной для просмотра странице, Ctrl+щелчок URL-адреса http://127.0.0.1:5000/ в окне терминала. В браузере должно появиться следующее сообщение:
Обратите внимание, что при посещении URL-адреса, например «/», в терминале отладки появится сообщение, показывающее HTTP-запрос:
Закройте приложение, используя в окне терминала команду CTRL+C.
Если вы хотите использовать имя файла, отличное от app.py, например program.py, определите переменную среды с именем FLASK_APP и установите ее значение для выбранного файла. Сервер разработки Flask использует значение FLASK_APP вместо файла по умолчанию app.py. Дополнительные сведения см. в документации по интерфейсу командной строки Flask.
Поздравляем, вы создали веб-приложение Flask с помощью Visual Studio Code и подсистемы Windows для Linux! Более подробное руководство по использованию VS Code и Flask см. в разделе Руководство по Flask в Visual Studio Code.
Руководство по созданию Hello World на Django
Django представляет собой платформу веб-приложений для Python. В этом кратком руководстве вы создадите небольшое приложение «Hello World» Django с помощью VS Code и WSL.
Откройте Ubuntu 18.04 (командная строка WSL), перейдя в меню Пуск (левый нижний значок Windows) и напечатав: «Ubuntu 18.04».
Откройте встроенный терминал WSL (bash) в VS Code, введя Ctrl+Shift+` (папка проекта HelloWorld-Django уже должна быть выбрана). Закройте командную строку Ubuntu, поскольку двигаясь вперед мы будем работать в терминале WSL, интегрированном с VS Code
Затем выполните следующую команду, чтобы создать проект Django:
Ctrl+click URL-адрес http://127.0.0.1:8000/ в окне вывода терминала, чтобы открыть для этого адреса браузер по умолчанию. Если Django установлен правильно и проект является допустимым, вы увидите страницу по умолчанию. В окне вывода терминала VS Code также отображается журнал сервера.
Теперь, чтобы создать приложение Django, запустите административную команду служебной программы startapp в папке проекта (где находится manage.py ):
Измените hello/views.py в соответствии с приведенным ниже кодом, который создает одно представление для домашней страницы приложения:
Сохраните все измененные файлы.
Поздравляем, вы создали веб-приложение Django с помощью VS Code и подсистемы Windows для Linux! Более подробное руководство по использованию VS Code и Django см. в разделе Руководство по Django в Visual Studio Code.
Овладей Python, создавая реальные приложения. Часть 4.
Создаем и запускаем сайт при помощи Flask и Heroku.
Jan 30, 2019 · 8 min read
Время от времени появляются новые языки программирования, а с ними и крупные сообщества поль з ователей. Python существует уже довольно долго, поэтому я могу уверенно сказать, что это не просто язык, а целая религия. Хотите напечатать “hello world”? Легко. Создать приложение для работы с базой данных? Пожалуйста. Создать приложение на основе GUI? Ага. Визуализация? И это есть. Сложные алгоритмы машинного обучения? Python поможет и в этом. В любой задаче программирования Python может вам помочь. Однако в одной сфере Python явно недооценивают. Это back-end разработка. Но вскоре и это изменится. А мы же сделаем первый шаг, чтобы побольше об этом узнать.
Шаг 1 — Разбираем Flask
Flask — это микрофреймворк для веб-разработки. “Микро” означает, что он очень простой. С ним не идет никаких заранее устанавливаемых внешних библиотек и инструментов. Обычно Flask используют с MongoDB, что позволяет лучше управлять базами данных и историей. Думаю, для введения достаточно. Ведь на самом деле нам интересно то, как он работает, верно? Давайте перейдем к этому. Но перед этим нам нужно разобраться с одним фундаментальным понятием, касающимся фреймворка Flask, маршрутизацией.
Шаг 2 — Создание простого сайта
Создать простой сайт при помощи Python и Flask станет для вас легкой прогулкой. Вам просто нужно написать 5 строчек кода, и всё.
Всё ещё не разобрались с маршрутами? Следующий фрагмент кода прояснит картину. На всех сайтах есть страница О нас, верно? Давайте и на нашем создадим такую же. У нас есть 2 разных маршрута для 2 разных страниц.
Шаг 3 — HTML и CSS
Поздравляю, у вас есть всё, чтобы достичь вашей цели. Мы создали сайт, и он отлично работает на удалённом сервере. Следовательно, пора делать следующий шаг. Ваш сайт станет виден всему Интернету. Для этого мы запустим его в облаке. Использовать будем облако Heroku, в нем можно бесплатно запустить приложения Python. Но сначала давайте настроим виртуальную среду в нашей системе.
Шаг 4 — Настройка виртуальной среды
Вы, должно быть думаете, что это за виртуальная среда такая, да? Я тоже так думал. Но не переживайте, я всё объясню. Виртуальная среда поможет нам отделить нашу среду разработки и установки пакетов от остальной системы. То есть, всё, что мы установим в виртуальной среде, не повлияет на реальную систему. Очень удобно, ага. Давайте же настроим её.
Шаг 5 — Запуск сайта на реальном сервере
Так, давайте вернемся в нашему сайту. Запустить сайт на Python не так просто, как c HTML и PHP файлами, когда мы перетаскиваем и загружаем файлы при помощи FTP-клиента. Нам нужно делать всё по порядку, будьте терпеливы и внимательно выполняйте каждый шаг.
Шаг 5.1 — Создаем аккаунт Heroku
Создайте аккаунт на Heroku, перейдя по этой ссылке.
Шаг 5.2 — Устанавливаем необходимый инструменты
Если вы устанавливаете git в первый раз, возможно, вам захочется установить своё имя и e-mail адрес, написав это:
Отлично. Теперь у нас есть всё, что нужно. Поехали дальше.
Шаг 5.3 — Настройка Heroku через командную строку
Шаг 5.4 — Создаем необходимые файлы (всего 3)
Важное примечание — Пожалуйста, удостоверьтесь, что ваш файл requirements выглядит, как представленный ниже. Иначе Heroku не примет его и выдаст ошибку. Отредактируйте файл, чтобы он выглядел так.
2. Procfile — У этого файла нет расширения. Он содержит имя сервера и название приложения. Создайте файл, назовите его Procfile и напишите в нем следующее:
Здесь, gunicorn — это используемый сервер. mainscript — это название файла Python, app — это название приложения, которое мы придумали при создании экземпляра класса flask (смотри фрагмент кода в шаге 2). Если ваши названия отличаются, измените их.
3. runtime.txt — Содержит информацию о версии Python, которую вы хотите использовать. В этом файле напишите:
Я использую Python 3.x, поэтому я использовал эту среду. Если вы используете Python 2.x, укажите python-2.7.15 вместо этого. Отлично, все готово. Теперь нам нужно просто всё загрузить.
Шаг 5.5 — Загрузка всего необходимого
Отлично. Чтобы не объяснять всё по отдельности, к каждой строке дам комментарий. Каждую строку нужно выполнять отдельно.
Python для Веба: что нужно знать джуниору, чтобы работать и развиваться
Мы сделали сокращенную расшифровку с главными мыслями из Python Junior Podcast: в нем мы обсудили, с чего начинать и куда податься начинающему разработчику на Python. В последнее время у нас много контента для миддлов и сеньоров, но этот выпуск — точно для джунов.
Почему Python хорош для веб-разработки
Валентин Домбровский: Почему именно Python подходит для веб-разработки? Почему не PHP или JavaScript, например?
Григорий Петров: Так ведь выбора особо нет. Несмотря на то что в современном Вебе можно фактически без бэкенда — чисто на фронтенд-технологиях, на JavaScript — собрать себе single page application или progressive web application, все равно это слишком сложно, плохо индексируется и требует крутых разработчиков.
Если мы хотим сделать сайт или сервис, мы используем комбинированный подход: у нас какой-то бэкенд осуществляет логику и создает веб-страницы и какой-то фронтенд рисует эти веб-страницы в браузере. И когда нам надо быстро это все на чем-то собрать, то выбора особо нет.
Давайте рассмотрим возможные варианты.
Давайте опустим Ruby, Haskell, Erlang и другие нишевые штуки, и у нас остается… Python. Язык с консистентным синтаксисом, единообразной стандартной библиотекой, лучшей документацией, популярными легкими фреймворками, мегапопулярным комбайном Django.
Получается, что, несмотря на широчайший выбор, если у нас обычные, не топовые разработчики, мы обычный бизнес, который хочет делать обычные сайты, у нас нет отдела разработки на 50 человек, то мы берем Python.
Какие знания нужны для входа в профессию
Злата Обуховская: Я считаю, что один фреймворк нужно знать хорошо — и знать, какие еще бывают и когда они используются. Где Tornado, где Django, где Flask, где aiohttp и так далее.
Пригодится знать, что есть такая штука, как протоколы. В частности, знание протокола http — центральное для построения веб-приложений.
Еще нужно хотя бы приблизительно представлять себе, как в веб-проектах устроен фронтенд: что есть HTML, CSS, JS.
Алексей Штырняев: И знать, где лежит документация. Это самое главное.
Григорий Петров: Тут мы ступаем на очень зыбкую почву. Если нам не повезло и мы начали как-то серьезно изучать современный фронтенд, то он будет примерно раз в 10 сложнее, чем бэкенд на Python. Начинающему разработчику нужно ограничить свой фокус так, чтобы начать изучать HTML, но чтобы не провалиться во все эти div, span, float, как там все выравнивается и выстраивается.
Алексей Штырняев: Нужен базовый курс по Bootstrap. И основы HTML.
В первый год не стоит углубляться в JS-фреймворки (если вы фокусируетесь на бэкенде). В базовом курсе по Bootstrap уже есть готовые модули: хочешь слайдер — делай слайдер, хочешь плавающее меню — сделай плавающее меню.
Злата Обуховская: Думаю, что за изучением фронтенда можно погрузиться, в частности, в то, как вообще статика отдается веб-приложениям. Так разработчик плавно переходит к тому, чтобы начать узнавать, как в принципе устроена архитектура веб-приложений и как они живут на продакшене.
Григорий Петров: Да, порекомендую сразу на тот случай, если вы выбрали Python в качестве языка бэкенд разработки и, например, Django в качестве фреймворка: у Django есть документация в Django Book, она реально клевая, в ней все то, о чем сказала Злата, она и правда хороша для начинающего.
Алексей Штырняев: Еще для быстрого старта подойдет какой-нибудь Django Girls, если цель — изучить именно Django. Это такой туториал, где за один день можно пройти по верхам, понять основы и то, на что способен фреймворк.
Валентин Домбровский: Готовясь к записи подкаста, мы составили список того, что нужно программисту на Python для веб-разработки, чем и резюмируем ранее сказанное.
Что входит в базис для веб-разработки на Python
Нужны ли джуниору алгоритмы
Злата Обуховская: Поначалу не нужно знать алгоритмы, они сами постепенно появятся в голове, если заниматься разработкой достаточно долго. Я знаю кучу хороших инженеров, у которых не было хорошего формального курса алгоритмов.
Григорий Петров: Я хочу подлить масла в огонь. Вот откуда вообще берется наша тяга к алгоритмам?
У нас сейчас нет фундаментального образования по алгоритмам, у нас не умеют обучать программистов, нет технической базы.
Это пытаются делать, но тут у нас история Хогвартса: мы не можем сделать школу волшебников, пока у нас нет ни одного волшебника. Поэтому что делать университету, в который приходят и просят: «Начните обучать программистов», а программистов у них нет, потому что все работают в Mail.ru, Rambler и «Яндексе», им там хорошо?
В университете смотрят и говорят:
— О’кей, программирование. Давайте найдем какую-то смежную область знаний и пригласим специалистов оттуда. Давайте пригласим журналистов, которые умеют писать текст, инженеров-электриков, которые умеют делать электрические схемы, и математиков, которые умеют в алгоритмы.
В итоге получается, что это настолько же целесообразно, как обучать строителя физике элементарных частиц лишь потому, что кирпич и цемент состоят из элементарных частиц.
При этом про сам цемент и кирпич не рассказывают, потому что физик, который пытается обучить строителя, дома строить не умеет. В итоге получаем строителя, который в состоянии прекрасно расписать, как «работает цемент», но ни разу его не видел и делать из него ничего не умеет.
Алгоритмы и структуры данных — это очень хорошо, но это очень маленькая прикладная область. Они остро нужны, например, если ты пишешь игровой движок, компилятор, сетевой протокол.
Большинство программистов решают бизнес-задачи, где не нужны алгоритмы и структуры данных.
Там самая сложная математика — это два раза сложить, а потом разделить. Там нужны совсем другие знания. Для решения бизнес-задач требуются в основном прикладные, а не фундаментальные знания.
Начинающему разработчику лучше иметь представление о бизнесе и о том, как правильно и быстро собирать из готовых блоков нужные конструкции, как их отлаживать, как делать так, чтобы они не разваливались, знать, почему они разваливаются, что происходит, когда меняются требования и программа начинает «оседать на фундаменте», как дом после дождя.
Вот эти прикладные штуки и понимание того, как писать софт. Ему надо знать, что кроме отладчика у него есть набор инструментов, который покажет, где именно программа тормозит.
Валентин Домбровский: Мне такое сравнение пришло на ум: это перевод с языка бизнеса на язык, на котором можно общаться с компьютером. То есть программист — эдакий специфический лингвист.
Григорий Петров: Бизнесу нужен писатель, а не лингвист. Писателю не нужно знать, почему тысячу лет назад это слово трансформировалось вот в то. Ему надо уметь применять эти слова.
Что нужно, чтобы найти первую работу разработчиком
Если вы приходите в какую-то компанию, вас возьмут не за то, что вы знаете Django, JSON и немного алгоритмов. Вас, скорее всего, возьмут за те скиллы, которые здесь и сейчас нужны этой компании.
Компаний много, и у всех разные требования. Нет такого универсального объема знаний, которые нужно получить, чтобы дальше подготовить резюме и идти трудоустраиваться.
Григорий Петров: Когда мы в VoxImplant искали нескольких джунов, наш технический директор сформулировал базовое требование так: человек должен уметь решать задачи. Понятно, что джун это будет делать не всегда эффективно, не лучшим способом и не всегда правильно, но в идеале ты ставишь человеку задачу, он напрягается и решает ее. Это тот скилл, который в первую очередь ищут работодатели.
Злата Обуховская: Люди, которые ищут работу, переходя из других областей, имеют с точки зрения бизнеса некоторое преимущество, потому что уже прошли какой-то путь и умеют решать задачи быстро. Это soft skills, я бы это назвала даже трудовой культурой. Зачастую у выпускников вузов эта трудовая культура еще не наработана.
Но мне бы хотелось все-таки попытаться дать какой-то рецепт начинающим.
Первые шаги для начинающего разработчика
Злата Обуховская: Первое — это все-таки какой-то свой проект, потому что в резюме нужно что-то написать, показать минимальное портфолио. Круче, когда эти проекты сделаны не для себя, а на фрилансе — для кого-то.
После первых проектов уже можно делать резюме и рассылать его во все компании, где есть джуновские позиции. Собеседования дадут понимание того, что нужно компаниям. Рано или поздно вас кто-нибудь возьмет, хотя бы в маленькую компанию. Впоследствии этот опыт работы даст вам возможность попасть в компанию побольше и поинтереснее.
Валентин Домбровский: Кстати, мы на курсах готовим учеников к тому, чтобы у них появился свой проект за 10 недель обучения. Плюс тренируем навык командной разработки. Это как раз те soft skills, о которых говорила Злата.
Алексей Штырняев: По опыту скажу, что первую работу можно искать очень долго. Когда вы ищете месяц-два — это нормально. Если вы подаете резюме во все компании, ходите на собеседования, на третий месяц вы обязательно что-то найдете.
Валентин Домбровский: Можно пилить свои проекты или брать простые проекты на фрилансе и параллельно заниматься рассылкой резюме.
Какие перспективы есть у Python-разработчика
Злата Обуховская: Python-разработчик может пойти куда угодно. Можно пойти в тестирование, продолжить развиваться до senior-архитектора. Или даже в менеджмент. Технические менеджеры бывают разные, и можно дорасти до топ-менеджмента. Можно развиваться в data science, DevOps, пойти в автотесты или machine learning.
Валентин Домбровский: В общем вариантов масса, возможностей тоже, в том числе наши курсы. Знаний на входе нужно не так много, но желательно потом охватить более широкий спектр, потому что чем больше вы сможете, тем лучше для вас.
Это лишь часть выпуска Python Junior. Полную версию эпизода можно послушать.