Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Веб для тех, кто постоянно развивается

В IT необходимо постоянное развитие. Без него вас просто могут "съесть" более любопытные и совершенствующиеся программисты. Веб не исключение. Пожалуй, это одна из тех сфер, где больше всего технологий, и их число постоянно растёт. Поэтому для backend-разработчика самосовершенствование — лучший друг. Если вы к нему не готовы — чтение данной статьи будет бесполезным (почти).

Насколько глубоки ваши знания в Python?

Надеюсь, вы понимаете, что без хорошего знания Python реализация этого плана невозможна. Циклы, условия, функции, классы, миксины — во всём этом вам нужно так же легко разбираться, как в чистке зубов. Если вы уже знаете этот язык программирования — отлично, можно приступать к выполнению плана. Если нет — вот 2 хорошие книги, которые помогут его изучить:

A byte of Python

Автор: Swaroop C.H.

Число страниц: 158

Коротко о книге: Данная книга, на мой взгляд, является лучшей для изучения Python с нуля. В 158 страницах автор лаконично и понятно объясняет все основы этого чудесного языка.

Сам себе программист

Автор: Кори Альтхофф

Число страниц: 209

Коротко о книге: В книге объясняются основы Python и немного затрагиваются Git, bash, алгоритмы, регулярные выражения и pip (пакетный менеджер для Python). А задачи для практики помогут лучше понять теоретический материал.

После прочтения любой из этих книг вы получите ликбез по Python (а также по программированию в целом) и сможете приступить к выполнению плана.

При чтении книг по программированию важно понимать, что это не художественная литература. Чтобы получить максимум пользы от этих руководств, необходимо практиковаться параллельно с их изучением. Например, после прочтения каждой главы можно придумывать задачи (или находить в Интернете) и использовать полученные знания для их решения. Это не только поможет вам закрепить пройденный материал, но и сделает более интересным дальнейшее чтение книги.

Стратегия для составления и реализации плана

"Если бы у меня было восемь часов на то, чтобы срубить дерево, я потратил бы шесть часов на то, чтобы наточить топор".

Авраам Линкольн

План – важнейшая составляющая достижения любой цели. Поэтому его необходимо уметь грамотно составлять. Это сэкономит ваше драгоценное время и сократит ненужную работу.

Каждый год люди составляют кучу планов и ставят множество задач. Вначале всё у них идёт хорошо, но уже через пару месяцев начинается откладывание дел на потом – ведь времени ещё полно, почти целый год (да и вообще, устал я, дам себе немного отдохнуть). Так длится вплоть до осени, когда сроки начинают поджимать. И вот в последние 2,3 месяца уходящего года люди увеличивают нагрузку, пытаясь наверстать упущенное. Но, конечно же, сделать это не удаётся, и достижение целей переносится на следующий год.

Такой подход, как можно заметить, не очень эффективен, тем более для веб-разработчика. Поэтому необходимо выбрать другой. Есть много разных стратегий для составления и реализации плана. Лично я пользуюсь способом из книги "12 недель в году" (авторы Брайан Моран и Майкл Леннингтон) и рекомендую его вам (как и саму книгу). Суть стратегии заключается в том, чтобы представлять год как 12 недель, а не как 12 месяцев. Отсюда и название. При таком мышлении, у целей на год будет дедлайн – 12 недель. Данный способ помогает сильно повысить производительность и начать по-настоящему ценить каждую неделю (ведь теперь 1 неделя — это 1 месяц).

При составлении плана я использовал данную стратегию. Полгода - это 6 месяцев. 6 месяцев — это примерно 24 недели. А 24 недели — это 2 года по 12 недель. Таким образом, можно сказать, что время реализации плана — два 12-недельных года.

Как правильно ставить цель

При составлении качественного плана у каждой цели должны быть:

  1. Дедлайн — крайний срок, когда нужно закрыть цель. Будет поджимать вас при каждом взгляде на него;

  2. Время, за которое нужно её выполнить. Поможет вам рассчитать дедлайн и понять, укладываетесь вы в него или нет;

  3. Детальное описание. Чем детальнее расписана задача, тем быстрее вы её сделаете и тем меньше времени потратите на лишнюю работу;

  4. Наличие инфинитива в формулировке цели. Заставит вас больше думать о том, чтобы выполнить (сделать) эту задачу. (Например: разобрать команду commit).

Составляем план

Внимание! Установка дедлайнов не дорого идёт с расчётом на то, что вы можете уделять реализации плана 6-8 часов в день.

1. Изучить книгу "ProGit" до 171 страницы

Дедлайн — конец 2-й недели 1-го 12-недельного года

Время на выполнение — 2 недели

VCS (Version Control System) – инструмент, без которого не обойтись ни одному уважающему себя программисту. Он поможет откатить программу на рабочую версию, если вдруг в текущей вы слегка накосячили.

Самая популярная VCS и, пожалуй, самая лучшая — Git. Он прост в понимании, изучении и очень быстр – что ещё надо? (Кстати, создан он разработчиками ядра Linux). Самый лучший вариант разобраться в нём — изучить книгу "ProGit" от Скотта Шакона. На старте всю читать нет смысла. Достаточно дойти до главы "GitHub" (не включительно). Таким образом, изучив всего 171 страницу, вы сможете понять смысл VCS и то, как работает Git вместе с его основными командами: commit, add, push, pull, clone, remote. Именно эти команды вы будете использовать в 80% случаев.

Конечно, не все компании используют Git. Но даже если ваша будущая организация применяет другую VCS, вам не составит особого труда изучить её (все, кто использует SVN, нервно закурили в сторонке), поскольку команды систем контроля версий очень похожи.

2. Изучить книгу "PostgreSQL для начинающих"

Дедлайн — конец 4-й недели 1-го 12-недельного года

Время на выполнение — 2 недели

Backend-разработчику необходимо знать базы данных. Это даже не обсуждается. На первых порах у вас может отсутствовать необходимость с ними работать, но однажды этот день обязательно наступит. Помимо понимания баз данных, необходимо уметь работать с СУБД (Система Управления Базами Данных). Чаще всего в Python-проектах используется PostgreSQL. Именно эту технологию я и рекомендую изучать. Книга "PostgreSQL для начинающих" даст вам общее представление о базах данных и обучит основным командам Postgres (синоним слова PostgreSQL). Для начала этой книги будет достаточно. В будущем можно почитать официальную документацию. Она, несомненно, улучшит ваши знания в этом инструменте.

Кстати, выучив основные команды PostgreSQL, вы сможете легко сделать то же самое и для других СУБД, например MySQL. Тут все так же, как и с системами контроля версий, т. е. команды и смысл в разных технологиях очень похожи.

3. Понять, что такое Веб и какие у него есть составляющие

Дедлайн — конец 5-й недели 1-го 12-недельного года

Время на выполнение — 1 неделя

Плавно переходим к веб-программированию. Вначале нужно понять, что вообще за фрукт такой – этот Веб. Узнать, что такое адрес, домен, хост, сервер, HTTP, HTTPS, POST и GET методы, что такое куки, как работает кеширование и т. д. В этом вам помогут лекции на YouTube. Просто введите в поисковой строке фразу "веб лекции", и у вас появится много различных вариантов для изучения данной темы. Лично я рекомендую эти 2 плейлиста: "Основы веб-разработки" и "Web-технологии".

4. Пройти самоучитель по HTML

Дедлайн — конец 6-й недели 1-го 12-недельного года

Время на выполнение — 1 неделя

HTML — технология, знание которой необходимо как backend, так и frontend-разработчику. Он несложный от слова совсем. Благодаря шикарному самоучителю, понимание HTML не станет для вас серьёзным препятствием. Дальше дело за практикой и постоянным изучением новых и повторением изученных тегов. В этом, кстати, вам поможет справочник.

5. Изучить части №1 и №2 книги "Django 3.0. Практика создания веб-сайтов на Python"

Дедлайн – конец 6-й недели 2-го 12-недельного года

Время на выполнение — 12 недель

Переходим к самому сложному и самому интересному — фреймворку для веб-программирования на Python. Django и Flask занимают тут лидирующие позиции. Именно их выбирает большинство питонистов.

У Django много встроенного функционала, и за счёт этого на нём можно быстро писать сайты. Flask же не предоставляет такой возможности и почти всё требует создавать с нуля (в этом тоже полно своих плюсов). Мы остановимся на Django. К Flask можно будет вернуться позже. Его изучение сильно улучшит ваше понимание как Django, так и в целом веб-программирования.

При изучении Django я пользовался и до сих пор пользуюсь великолепной книгой Владимира Дронова "Django 3.0. Практика создания веб-сайтов на Python". Рекомендую изучить её полностью, но на старте хватит разбора частей №1 и №2. Читая их, не забывайте о практике, без неё Django выучить невозможно. Придумайте какую-нибудь тематику и сделайте простенький сайт. Например, блог о котах. Желательно практиковаться параллельно с чтением. Также не пытайтесь выучить всё, что есть в книге. Изучите основное, а второстепенное сможете подсмотреть, когда будет необходимость. И да, не забывайте добавлять код своего сайта на GitHub.

Кстати, у Django есть отличная документация, с которой точно стоит ознакомиться в дальнейшем.

6. Пройти первые 4 главы части №1 учебника по JavaScript

Дедлайн – конец 9-й недели 2-го 12-недельного года

Время на выполнение — 3 недели

Да-да! Великий и могучий JavaScript. Пришло его время. Что тут можно сказать? Изучение JS – это интересно, весело и порой больно. А ещё оно необходимо для всех, кто хочет подвизаться в веб-разработке. Бэкендеру будет достаточно базового понимания языка. На момент написания этой статьи лучшим руководством по JavaScript я считаю учебник от javascript.ru. В нём есть вся необходимая информация, она хорошо структурирована и понятно излагается. Для backend-разработчика достаточно пройти первые четыре главы из части №1.

7. Пройти учебник по CSS

Дедлайн — конец 11-й недели 2-го 12-недельного года

Время на выполнение — 2 недели

И последний инструмент из привычного всем набора JS/HTML/CSS – это CSS. Бэкендеру знание этой технологии особо не пригодится, но базовое понимание не помешает. Помните сайт для изучения HTML? Так вот, у него ещё есть самоучитель по CSS, который и поможет вам в освоении этой непростой технологии.

8. Составить резюме и откликнуться на подходящие вакансии

Дедлайн — середина 12-й недели 2-го 12-недельного года

Время на выполнение — 2 дня

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

1. Если можете самостоятельно составить резюме на английском — сделайте это;

2. В списке технологий не надо писать свои личные качества, например целеустремлённость, трудолюбие и т. д. Это бесполезная информация, которую может написать про себя любой кулхацкер. Указывайте только технологии, которыми владеете (Python, Django, Git, JavaScript и т. д.);

3. Хорошо, если вы можете подтвердить знание указанных технологий. Для этого будет достаточно ссылки на репозиторий с кодом нужного инструмента (у вас же есть репозиторий на GitHub?);

4. В поле с названием профессии пишите именно название профессии, а не набор ваших технологий (такое часто можно увидеть в разных резюме). Например, в вашем случае это может быть "Junior Django Developer";

5. Если вы раньше работали в IT, помимо названия компании, укажите, чем в ней занимались. Если есть, что показать, приложите ссылки с материалами. Также добавьте список используемых в работе технологий;

6. Напишите о себе. О своих хобби, о том, как начали изучать программирование, о любимых песнях и т. д. Лучше хотя бы что-то, чем ничего. Подойдёт даже имя кота;

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

Вот пример хорошего резюме (фото и данные кота конечно же надо заменить на свои):

Резюме готово? Отлично! Смело выкладывайте его на HeadHunter, даже если не считаете, что оно безупречно. Не забудьте открыть для него полную видимость.

Теперь остаётся только откликнуться на подходящие вакансии. Вводим в поисковой строке всё того же HeadHunter фразу "Python Django", ставим соответствующие фильтры и откликаемся на выпавшие варианты. Важно понимать, что даже если у вас нет всего стека технологий, указанного в вакансии, вы тем не менее можете заинтересовать работодателя, и он пригласит вас на собеседование.

9. Подготовиться к собеседованию

Дедлайн — конец 12-й недели 2-го 12-недельного года

Время на выполнение — 5 дней

Резюме — это хорошо, но без собеседования (а может, даже и тестового задания) вас никто на работу не возьмёт. Что может быть на "собесе"? Обычно вопросы бывают 2 типов: hard и soft skills. Soft skills – это ваши навыки работы в команде, ответственность, лидерские качества и т. д. Hard skills – это технические вопросы, т. е. вопросы по технологиям, указанным в вашем резюме. Оба типа вопросов важны. Подготовиться к техническим вопросам, конечно, сложнее. Вначале нужно понять, какие вопросы могут задать. В этом вам поможет умение гуглить. А если у вас его нет или вы просто не хотите тратить на это время, то вот список вопросов, который когда-то составлял я. Просматривая его и отвечая на вопросы, попробуйте представить себя на реальном собеседовании. И да, если вдруг какой-то вопрос непонятен, обязательно разберитесь в нём.

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

Что дальше?

На изученном стеке технологий далеко не уедешь. Важно, как говорилось ранее, постоянно изучать новые инструменты. Как понять, какие из них нужны? Элементарно! Заходите на наш любимый HeadHunter, в поисковой строке вбиваете фразу "Python Django" и открываете полученные вакансии. Но теперь не откликаетесь на них, а выписываете себе указанный стек технологий. И так нужно сделать хотя бы с 15 вакансиями. После этого из всех выписанных технологий выбираете 3,5 самых часто встречающихся и начинаете их изучение в порядке важности. Данный метод поможет вам изучить самые необходимые инструменты.

Спасибо всем, причастным к написанию этой статьи и вам, дорогие читатели. Уверен, был хоть немного полезен. Удачи и до скорых встреч!

Дополнительные ссылки

Мой Instagram

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

  1. Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio.

  2. Дизайн: Фриланс vs Офис.

  3. Собеседование на дизайнера в IT: вопросы, тестовое, подводные камни.

Комментарии (50)


  1. alexshy
    22.10.2021 15:38
    +7

    ...и через полгода в голове у вас будет одна сплошная каша и почти ноль практических навыков. Другими словами, самостоятельно вы не сможете создать практически ничего путного. Тем более на backend'е. Это 100%.


    1. OsnovaDT Автор
      22.10.2021 16:03
      +1

      Спасибо за комментарий!

      Если вы в точности выполните весь план, описанный в этой статье и у вас действительно будет всё так как вы написали, то я готов удалить статью)

      P.s. Думаю, если бы у меня после выполнения этого плана была каша и почти ноль практических навыков, то я вряд ли смог бы устроиться туда, где работаю сейчас)


      1. alexshy
        22.10.2021 16:45
        +1

        Наверное, это хорошо, что Вы так довольны своим местом работы и так его цените, но, извините, право слово,

        туда, где работаю сейчас

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

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

        P.S. Небольшое добавление к тому, что тут уже было сказано про обучение по книжкам ниже. Видите ли, тот выбор литературы по тому же Python (да и другие), что Вы привели в качестве источников знаний, признаться, крайне слабый. Это далеко на самые лучшие пособия. Если честно, кроме официальной книги ProGit я вообще ни одного из них не знаю. И это только усиливает сомнения в реализуемости Вашего "конкретного плана".


        1. OsnovaDT Автор
          22.10.2021 16:59

          Что касается того, какой я разработчик, соглашусь, определенно не самый лучший. Но тут уже дело читателя, доверять разработчику PVS-Studio или нет.

          По поводу пособий, вы говорите что они не самые лучшие, но тут же говорите что кроме "ProGit" других не знаете, а как тогда вы делаете вывод что остальные книги - слабые? Хммм...

          И да, возможно, это не самые лучшие пособия, но я не ставил цель рассказать про самые лучшие для веба книги. Я указывал те книги, которые использовал, и которые мне помогли.


          1. alexshy
            22.10.2021 17:17

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

            Мне интересно, как Вы такой перечень для себя сформировали, чтобы ему так безоговорочно довериться? Кто Вам его посоветовал? Он, мягко говоря, очень и очень специфический... Ну, просто о-очень!..


            1. OsnovaDT Автор
              22.10.2021 17:40

              Что ж, теперь вы встретили на них ссылки и услышали рекомендации...

              Сформировал при помощи Интернета.

              Предложите свой перечень, быть может кто-то прислушается к нему


            1. OsnovaDT Автор
              25.10.2021 08:15

              Я вроде и не прошу точно придерживаться этого плана. Каждый может брать его и менять под себя. Я лишь описал план, сработавший в моем случае.


        1. OsnovaDT Автор
          24.10.2021 15:22
          +1

          Никто? То, что вы не станете придерживаться этого плана, не значит что остальные тоже так поступят. Думаю, не стоит говорить за остальных. Хотя, возможно, человеку, который даже не является неизвестным автором, виднее ;)


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. OsnovaDT Автор
    25.10.2021 17:02
    +1

    Я думал, ваш первый коммент был направлен на статью. Оказывается, вы увидели "в точности" в комментарии. Так вот, этот комментарий был адресован конкретному человеку в рамках "мини-пари". В таком случае, я вообще не вижу смысла в вашем 1-м комментарии.


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. goddamm1t
    22.10.2021 15:40
    +1

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

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


    1. OsnovaDT Автор
      22.10.2021 15:57
      +3

      Спасибо за хороший комментарий!

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

      Ваш подход несомненно имеет место быть, обязательно попрбую его при изучении чего-нибудь нового, спасибо.


  1. MikesoWeb
    22.10.2021 17:41
    +1

    Полгода висит на HH мое резюме разработчика на python

    Стек: консоль, командная строка, английский начальный читать могу, docker, css, html, flask, got, bash, bat

    два блога на flask, канал на Ютубе по питону, два года репов гитхаба, группа ВК два года чисто питон и веб 500 постов.

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


    1. OsnovaDT Автор
      22.10.2021 17:45

      Спасибо за коммент!

      Хороший стек. Быть может вы не слишком активно отвечаете на вакансии?


      1. MikesoWeb
        22.10.2021 18:30

        Вообще не отвечаю ибо нет реквестов. Просто были заходы, но без каких-либо попыток коммуникации


        1. OsnovaDT Автор
          22.10.2021 18:58

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


          1. MikesoWeb
            22.10.2021 19:01

            Понятно. Я думал они ответят, заинтересуются значит и тогда я буду уже наводить мосты. Но я ещё пока хочу изучить получше мобильную разработку и fast API чтобы выглядеть более опытным да и ещё много всего надо изучать. И ещё я не умею писать тесты, вот на это буду упор делать с начала года


            1. OsnovaDT Автор
              22.10.2021 19:07

              Как мне сказали на одном собеседовании, "работодатели ценят только опыт, накопленный в процессе работы (т.е. либо в компании, либо на фрилансе)". Поэтому, возможно, вам стоит попробовать набраться именно реального опыта. В любом случае, выбор за вами. Желаю удачи)


          1. MikesoWeb
            22.10.2021 19:08

            А вы искали удалённую работу? Просто чтобы ходит на собесы мне нужно будет с текущей работой искать замену что очень тяжело. Проблема Я ещё не из Москвы. То есть мне нужно будет месяца три не работать, надеясь что получится так как текущую работу я потеряю.


            1. OsnovaDT Автор
              22.10.2021 19:22

              Да, конечно. Рассматривал любые варианты. Но у нее конечно есть свои минусы.

              В вашем случае могу предложить следущее:
              1) Позаниматься месяц-два фрилансом и совмещать его с текущей работой, чтобы чуть-чуть к нему привыкнуть;
              2) После этого накопить достаточную для базового проживания на 2-3 месяца сумму и, уволившись с текущей работы, продолжить заниматься фрилансом и параллельно ходить на собесы и искать работу в офисе.

              Но это имхо, возможно, вам такой вариант не подойдет.


              1. MikesoWeb
                22.10.2021 19:26

                Ну я незнаю даже как с фрилансом вокруг столько конкуренции да и я свои проекты делаю все силы туда вкладываю. Ну может со временем, но у меня на свои проекты запланировано все время.


                1. OsnovaDT Автор
                  22.10.2021 19:35

                  Понимаю. По поводу фриланса, конкуренции да, много, но и заказов много. Так что возможности есть.


              1. MikesoWeb
                22.10.2021 19:29

                В любом случае спасибо за ответы. Буду пилить свои проекты, а там видно будет


                1. OsnovaDT Автор
                  22.10.2021 19:36

                  Вам тоже спасибо за вопросы и удачи)


    1. MaxShydlovskiy
      24.10.2021 15:24
      +1

      Хай, были похожие траблы, аж выть хотелось порою) Я рельсовик, поэтому мб и проще было, хотя думаю труднее, так как сами понимаете, вакансий совсем мало) Во-первых hh,это скорее для галер или лвл повыше, мой скромный совет, берите локальные сайты по работе и там ищите... Плюс нее парьтесь никогда, что кто-то не пишет, не зовёт, под лежачий камень) Знаю пайтонистку что пару лет не может найти, но там проблема, что упёрлась онли в одну фирму) Короче, тут два варианта - постоянно самому искать, есть ведь интернатуры, не курсы в интернете, то все гавно редкостное, а именно внутренние академии айти-гигантов. Плюс делайте упор на свои софт-скиллы, меня тоже не хотели брать, особенно когда слышали что ноль дней практического опыта) Все говорят везение... Да мне повезло, но блин, я не лучше остальных, но точно не хуже. Если хотите подробно узнать про разные варианты - черканите в ПМ, найду время посоветовать дельное, без всякого, чтобы вы добились своего, потому что в свое время меня тоже вкатили, совсем незнакомые мне люди) Бобра)


      1. OsnovaDT Автор
        24.10.2021 15:27

        Спасибо за совет, надеюсь, он реально поможет человеку)

        А как понять "упёрлась онли в одну фирму"? Т.е. она 2 года пытается устроиться только в одну компанию и при этом никак не получается?


  1. fefta
    22.10.2021 17:46

    Как обстоял вопрос с практикой? Сколько времени вы этому уделяли, что писали? Статья создает впечатление, будто вы часами читали книги и переписывали примеры оттуда.


    1. OsnovaDT Автор
      22.10.2021 17:53

      Спасибо за комментарий!

      Уделял столько времени, сколько хватало, чтобы понять теорию.
      Практиковался примерно так:
      Читаю параграф. Пишу пример кода из параграфа. Пытаюсь понять что в нем происходит. Удаляю. Пробую написать код снова, но без помощи книги. Если не получается, то еще раз вникаю в то, что написано в руководстве. И так далее пока не пойму суть параграфа.

      Если была пройдена какая-то большАя часть, то пытаюсь объединить все вместе и создать что-то большее. Например мини-сайт.


  1. qid00000000
    22.10.2021 18:47

    Во время собеседования: вы на позицию стажёра / джуна? Замечательно! Показывайте ваши pet проекты!

    А? Что? Их нет? Мы подумаем о вашей кандидатуре.. (если не найдем на эту позицию того, кто имеет все это).

    Сам по себе - составление плана хорошо и загнать в рамки - тоже. Вот только брать будут человека, который не читал книжки, а тыкался в git/базы данных/фреймворк/язык программирования/настраивал веб стек (не нужен же им овощь, который lemp поднять по гайдам не сможет), имеет пару пет проектов и готов соблюдать внутренние регламенты (написания кода/взаимодействия между отделами).


    1. MikesoWeb
      22.10.2021 18:53
      +1

      Ну пет проекты у меня начинали появляться спустя неделю, такие как генератор паролей на pyqt , составитель спорт программы, текущий учёт авто на парковке института....не говоря уже про консольные версии. Потом Джанго наверно спустя полгода простые сайты. Чё только не выдумывал.


    1. OsnovaDT Автор
      22.10.2021 18:54

      Спасибо за комментарий!)

      Вы, возможно, не слишком внимательно читали статью, но я несколько раз писал про практику и добавление кода на GitHub во время нее. Чем вам не pet-проект?

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


  1. sswwssww
    22.10.2021 20:38
    +1

    При изучении Django я пользовался и до сих пор пользуюсь великолепной книгой Владимира Дронова "Django 3.0. Практика создания веб-сайтов на Python".

    Настоятельно не рекомендую, это худшая книга по разработке из всех что я когда-либо читал.


    1. OsnovaDT Автор
      22.10.2021 20:45

      Спасибо за комментарий!

      Что ж, каждому свое. А чем не понравилась? И можете какие-нибудь порекомендовать? Был бы рад услышать ваш выбор)


      1. danilovmy
        13.11.2021 22:27

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

        Two scopes of Django. Много раз переизданная отвратная книжка по Джанго, где много примеров на python и мало на Джанго.

        Django Project Blueprints - сухая книжка примеров без объяснений. Читать скучно, мне интересней было б полазать по репозиториям откуда взяты примеры.

        Pro Django - хорошо было для изучения на 2009 год.

        Мой фаворит это первая редакция Django Design Patterns and Best Practices. Автор хорошо передал идею как работать больше с Объектами Джанго и меньше с python-объектами. Вторая редакция тоже сойдёт, читается тяжелее.

        Автор забыл cracing coding Interview. Этакая аптечка решений.

        Я бы сказал еще, что зря пропущены Итан Маркот, Банда четырех, Дядюшка Боб.

        Это то что прям сейчас под рукой лежало.


  1. erogov
    23.10.2021 01:52
    +1

    Ух, какая раритетная у вас книжка по Постгресу! Свежая версия всегда лежит здесь: postgrespro.ru/education/books/introbook


    1. OsnovaDT Автор
      23.10.2021 09:00
      +1

      Спасибо что обратили внимание)


  1. nomhoi
    23.10.2021 09:32

    Python с нуля, заодно и английский прокачать:
    https://pythoninstitute.org/free-python-courses/


    1. OsnovaDT Автор
      23.10.2021 09:40

      Спасибо, полезный курс)


  1. nikolay_karelin
    23.10.2021 20:31

    Присоединюсь к мнению других комментаторов про практику. Больше того, желательно, в сам roadmap добавить создание своего проекта (wiki, bookmark manager, ...). Вообще идеально - добавить в статью рекомендации - какие проекты выбирать ;)

    Что касается рекомендации книг по Python - когда-то уже давно (до пандемии и всего такого), я делал короткий доклад про книжки, которые мне лично понравились, и которые я бы советовал начинающим коллегам: https://www.youtube.com/watch?v=ViCFPjmirLE
    Возможно, будет полезно.


    1. OsnovaDT Автор
      24.10.2021 00:36

      Спасибо за комментарий и ссылку на доклад, уверен, многим пригодится)

      Создание своего проекта безусловно сильно поможет. Но, думаю, что на начальном этапе само слово "проект" может запугать многих начинающих. Лично для меня это слово раньше означало нечто большое и недостижимое.


  1. Klabel
    24.10.2021 00:24
    +2

    Спасибо за статью что делать понято и понятно что это блин не получится меду делом сделать)) не питал иллюзий, но теперь точно знаю что фиг, чем жертвовать не понятно...


    1. OsnovaDT Автор
      24.10.2021 00:26

      Спасибо за хороший комментарий! Рад что понравилась)

      Да, согласен, придется чем-то жертовать. Как говорится, если хочешь что-то получить - нужно что-то отдать)


  1. Dpal
    24.10.2021 00:27

    "Python Full Stack-Developer" а по-русски?


    1. OsnovaDT Автор
      24.10.2021 00:30

      Python Full Stack-Разработчик) В программировании властвует английский язык, поэтому предпочитаю писать название профессии на нем


  1. Dumatell
    26.10.2021 15:49

    У меня вопрос к автору. А вы сроки дедлайны рассчитывали исходя из того что человек не работает и только занимается?


    1. OsnovaDT Автор
      26.10.2021 15:52

      Да. Это подразумевалось в данной строке:

      что вы можете уделять реализации плана 6-8 часов в день.