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

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

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

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

И если есть советы, какие навыки стоит вкачать, чтобы точно получить место junior python dev, или хотя бы стажера, буду признателен) 

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

  

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

  

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

 За 2 месяца никак. 

 Читать книги 

 Я бы выбрал что-то одно на эти два месяца - или DevOPs или бэкенд. 

![252633.jpg](https://s00.yaplakal.com/pics/pics_original/3/3/6/252633.jpg)