Как набить руку на Python разработку и сисадминистрирование за 2 месяца?

Так получилось, что до конца января (за два месяца) мне нужно получить прикладной опыт в разработке на Python и системном администрировании.

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

По системному администрированию есть несколько идей, в частности организовать взаимодействие нескольких вм на своем компе и реализовать некотрые базовые задачи, вроде "сделайте так, чтобы сотрудники в вк не могли сидеть". С питоном все сложнее - идей, что реализовать, нет. Интересует как веб-разработка, так и разработка приложений для пк/мобилок. Короче, до конца января по хорошему хотелось бы и базу бэкенда (а в лучшем случае - фуллстака) освоить и написать приложение-второе, что пошли бы в портфолио. Подскажите, на чем лучше всего набить руку для обоих вариантов? И если есть советы по сисадминистрированию, буду благодарен.

И если есть советы, какие навыки стоит вкачать, чтобы точно получить место junior python dev, или хотя бы стажера, буду признателен)
  • Вопрос задан
  • 916 просмотров
Решения вопроса 1
ri_gilfanov
@ri_gilfanov
Web- and desktop-developer
Веб-разработка и администрирование сетевых ресурсов более востребованы, поэтому я бы рекомендовал изучить следующее:
  • основы и стандартная библиотека Python -- навык лучше прокачивается написанием скриптов и программ для решения неучебных задач. И если основной навык миддла -- это гуглить (полу)готовые решения, то основной навык джуна -- уметь писать свои "велосипеды". Разработчик, который по-максимуму использует и полагается на готовое -- столь же неэффективен, как и предпочитающий использовать готовое по-минимуму;
  • веб-фреймворк Django -- пилите небольшой проект, получаете общие представления о веб-разработке и практику ООП, но о Python этот веб-фреймворк расскажет мало, делает слишком много работы за программиста, а в его исходном коде можно заплутать, так и не поняв как он работает;
  • система контроля версий Git -- обязательно для разработчика и желательно для сисадмина;
  • wsgi-сервер uWSGI (или Gunicorn) -- см. ниже;
  • http-сервер Nginx -- см. ниже;
  • GNU/Linux -- пробуете развернуть проект с использованием предыдущих двух пунктов;
  • веб-фреймворк Flask -- просто пощупайте или сделайте ещё один небольшой веб-проект, по исходникам этого веб-фреймворка проще понять как работают другие веб-фреймворки и как писать поддерживаемый код, к тому же на Flask часто пилят всякие API / бэкенды;

Настольные приложения и мобильная разработка на Python кажется менее развита и менее востребована, но когда-нибудь можете пощупать:
  • Python GTK+ 3 (или PySide2) -- Python обёртки над GUI инструментариями для разработки настольных приложений;
  • Kivy -- фреймворк преимущественно для мобильной разработки.

И, если вопрос предполагает поиск работы через пару месяцев, то работодателям обычно нужны те, разработчики, что будут решать их "бизнес-задачи": снижать расходы, повышать доходы и минимизировать риски. Проще говоря, знание математики, алгоритмов и модных технологий могут не пригодится вообще, а вот доведённые до ума проекты расскажут о Вас работодателю намного больше.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Читать книги
Ответ написан
@vitaly_il1
DevOps Consulting
Я бы выбрал что-то одно на эти два месяца - или DevOPs или бэкенд.
Ответ написан
@antonksa
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы