Всем привет! Меня зовут Евгений Степанов, я Full Stack-разработчик Python в PVS-Studio. В этой статье вы узнаете, что вам нужно сделать, чтобы за шесть месяцев стать бэкэнд-разработчиком Python. Прочитав эту публикацию, у вас появится четкий план, который вам останется только реализовать.
Идти!
Веб для тех, кто постоянно развивается
ИТ требует постоянного развития.Без него вас могут просто «съесть» более любопытные и совершенствующиеся программисты.
Интернет не является исключением.
Пожалуй, это одна из тех сфер, где больше всего технологий, и их количество постоянно растет. Поэтому для бэкенд-разработчика самосовершенствование — лучший друг.
Если вы к этому не готовы, чтение этой статьи будет (почти) бесполезным.
Насколько глубоки ваши знания Python?
Надеюсь, вы понимаете, что без хорошего знания Python реализация этого плана невозможна.Циклы, условия, функции, классы, миксины — во всем этом нужно разбираться так же легко, как чистить зубы.
Если вы уже знаете этот язык программирования — отлично, можно приступать к реализации задуманного.
Если нет, то вот 2 хорошие книги, которые помогут вам этому научиться: Байт Python Автор : Сваруп Ч.
Х.
Количество страниц : 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-недельных года.
Как правильно поставить цель
При создании плана качества каждая цель должна иметь:- Дедлайн – крайний срок достижения цели.
Будет давить на вас каждый раз, когда вы на него смотрите;
- Время, за которое его необходимо завершить.
Это поможет вам рассчитать срок и понять, уложитесь вы в него или нет;
- Подробное описание.
Чем детальнее будет задача, тем быстрее вы ее выполните и тем меньше времени потратите на ненужную работу;
- Наличие инфинитива в формулировке цели.
Заставит вас больше задуматься о выполнении (выполнении) этого задания.
(Например: проанализировать команду фиксации).
Составление плана
Внимание! Установление сроков не требует больших затрат при условии, что вы сможете уделять реализации плана 6-8 часов в день.1. Изучите книгу «ПроГит» до 171 страницы.
Срок: конец 2-й недели 1-го 12-недельного года.
Срок выполнения: 2 недели VCS (Система контроля версий) — инструмент, без которого не может обойтись ни один уважающий себя программист. Он поможет вам откатить программу до рабочей версии, если вы вдруг допустите небольшую ошибку в текущей.
Самая популярная VCS и, пожалуй, лучшая — Git. Это легко понять, освоить и очень быстро — что еще вам нужно? (Кстати, его создали разработчики ядра Linux).
Лучший способ понять это — изучить книгу Скотта Шейкона «ProGit».
Нет смысла читать все сначала.
Достаточно дойти до главы «GitHub» (не включительно).
Итак, всего на 171 странице вы сможете понять значение VCS и то, как работает Git, а также его основные команды: фиксация, добавление, отправка, вытягивание, клонирование, удаленное управление.
Это команды, которые вы будете использовать в 80% случаев.
Конечно, не все компании используют Git. Но даже если ваша будущая организация будет использовать другую VCS, у вас не возникнет особых проблем с ее изучением (все, кто использует SVN, нервно засветились в сторонке), поскольку команды системы контроля версий очень похожи.
2. Изучите книгу «PostgreSQL для начинающих».
Срок: конец 4-й недели 1-й 12-недельного года.
Срок выполнения: 2 недели Бэкэнд-разработчик должен знать базы данных.
Это даже не обсуждается.
Поначалу у вас может не возникнуть необходимости работать с ними, но однажды этот день обязательно наступит. Помимо понимания баз данных, вы должны уметь работать с СУБД (системой управления базами данных).
PostgreSQL чаще всего используется в проектах Python. Именно эту технологию я рекомендую изучить.
Книга «PostgreSQL для начинающих» даст вам общее представление о базах данных и научит вас основным командам Postgres (синоним PostgreSQL).
Этой книги будет достаточно, чтобы вы начали.
В дальнейшем вы сможете прочитать официальную документацию.
Это определенно улучшит ваши знания об этом инструменте.
Кстати, изучив основные команды PostgreSQL, вы легко сможете сделать то же самое и для других СУБД, например MySQL. Здесь все то же самое, что и с системами контроля версий, т.е.
команды и смысл в разных технологиях очень похожи.
3. Понять, что такое Интернет и каковы его компоненты.
Срок: конец 5-й недели 1-го 12-недельного года.
Срок выполнения: 1 неделя Перейдем к веб-программированию.
Для начала нужно понять, что за фрукт представляет собой эта Паутина.
Узнайте, что такое адрес, домен, хост, сервер, методы HTTP, HTTPS, POST и GET, что такое файлы cookie, как работает кеширование и т. д. Лекции на YouTube помогут вам в этом.
Просто введите в поиск «веб-лекции», и у вас появится множество различных вариантов изучения этой темы.
Лично я рекомендую эти 2 плейлиста: " Основы веб-разработки " И " Веб-технологии ".
4. Пройти Учебник по HTML Срок: конец 6-й недели 1-й 12-недельного года.
Срок выполнения: 1 неделя HTML — это технология, которую должны знать как серверные, так и внешние разработчики.
Это довольно просто, если не сказать больше.
Спасибо великолепному самоучитель , понимание HTML не станет для вас серьезным препятствием.
Дальше — дело практики и постоянного изучения новых и повторения изученных тегов.
Кстати, это тебе поможет каталог .
5. Изучите части №1 и №2 книги «Django 3.0. Практика создания сайтов на Python» Срок – конец 6-й недели 2-й 12-недельного года.
Срок выполнения: 12 недель Перейдем к самому сложному и самому интересному — фреймворку для веб-программирования на Python. Django и Flask занимают здесь лидирующие позиции.
Именно их выбирает большинство питонистов.
Django имеет много встроенного функционала, благодаря чему на нем можно быстро писать сайты.
Flask же не предоставляет такой возможности и требует почти всё создавать с нуля (в этом тоже есть свои преимущества).
Мы остановимся на Джанго.
Вы можете вернуться во Flask позже.
Изучение этого значительно улучшит ваше понимание как Django, так и веб-программирования в целом.
При изучении Django я использовал и использую прекрасную книгу Владимира Дронова «Django 3.0. Практика создания сайтов на Python».
Рекомендую изучить ее полностью, но для начала достаточно разобрать части №1 и №2. Читая их, не забывайте о практике, без нее выучить Джанго невозможно.
Придумайте какую-нибудь тему и сделайте простой сайт. Например, блог о кошках.
Желательно заниматься параллельно с чтением.
Кроме того, не пытайтесь выучить все, что написано в книге.
Изучите основы, и при необходимости вы сможете подсмотреть второстепенные.
И да, не забудьте добавить код своего сайта на GitHub. Кстати, у Django отличная документация, которую обязательно стоит прочитать в будущем.
6. Завершите первые 4 главы части №1. Учебник по JavaScript Срок – конец 9-й недели 2-й 12-недельного года.
Срок выполнения: 3 недели Да Да! Великий и могучий JavaScript. Его время пришло.
Что я могу сказать? Изучение JS — это интересно, весело, а иногда и болезненно.
Это также необходимо всем, кто хочет заняться веб-разработкой.
Базового понимания языка будет достаточно для бэкендера.
На момент написания этой статьи я считаю лучшим руководством по JavaScript учебник с сайта javascript.ru .
Он содержит всю необходимую информацию, хорошо структурирован и наглядно изложен.
Бэкенд-разработчику достаточно пройти первые четыре главы части №1. 7. Пройти Учебник по CSS Срок: конец 11-й недели 2-го 12-недельного года.
Срок выполнения: 2 недели И последний инструмент из знакомого набора JS/HTML/CSS — CSS. Для бэкендера знание этой технологии не будет особо полезным, но базовое понимание не помешает. Помните сайт для изучения HTML? Значит, у него еще есть Учебник по CSS , который поможет вам в освоении этой непростой технологии.
8. Напишите резюме и подайте заявку на подходящие вакансии Срок: середина 12 недели 2-го 12-недельного года.
Срок выполнения: 2 дня Итак, технология закончилась.
Минимальный комплект бэкэнд-разработчика у вас в кармане.
Пришло время искать работу.
Первое, с чего стоит начать – это написать резюме.
Да, возможно, это самый простой шаг, но он очень важен.
То, как вы представите себя работодателю, повлияет на скорость и качество трудоустройства.
Вот список рекомендаций, как улучшить свое резюме: 1. Если вы можете сами написать резюме на английском языке, сделайте это; 2. В списке технологий не нужно писать свои личные качества, например целеустремленность, трудолюбие и т.п.
Это бесполезная информация, которую может написать о себе любой разработчик.
Указывайте только те технологии, которые вам известны (Python, Django, Git, JavaScript и т. д.); 3. Хорошо, если вы сможете подтвердить свои знания этих технологий.
Для этого будет достаточно ссылки на репозиторий с кодом необходимого инструмента (у вас есть репозиторий на GitHub?); 4. В поле с названием профессии пишите именно название профессии, а не набор ваших технологий (это часто можно увидеть в различных резюме).
Например, в вашем случае это может быть «Младший разработчик Django»; 5. Если вы ранее работали в сфере IT, помимо названия компании укажите, чем вы там занимались.
Если вам есть что показать, прикрепляйте ссылки на материалы.
Также добавьте список технологий, используемых в вашей работе; 6. Напишите о себе.
О ваших увлечениях, о том, как вы начали изучать программирование, о любимых песнях и т. д. Что-то лучше, чем ничего.
Подойдет даже кошачье имя; 7. Обязательно прикрепите свою фотографию.
Это не только подчеркнет вашу индивидуальность, но и покажет, что вы серьезно относитесь к написанию резюме.
Вот пример хорошего резюме (фотографии и данные кота, естественно, необходимо заменить на свои):
Ваше резюме готово? Большой! Не стесняйтесь публиковать его на HeadHunter, даже если вы не считаете его идеальным.
Не забудьте предоставить ему полную видимость.
Теперь остается только подать заявку на подходящие вакансии.
Вводим фразу «Python Django» в строку поиска того же HeadHunter, выставляем соответствующие фильтры и реагируем на появившиеся варианты.
Важно понимать, что даже если вы не владеете всем стеком технологий, указанным в вакансии, вы все равно можете заинтересовать работодателя и он пригласит вас на собеседование.
9. Подготовьтесь к собеседованию Срок: конец 12-й недели 2-го 12-недельного года.
Срок выполнения: 5 дней Резюме — это хорошо, но без собеседования (а может быть, даже и теста) вас никто не возьмет на работу.
Что может случиться на «собеседовании»? Обычно есть 2 типа вопросов: твердые и мягкие навыки.
Мягкие навыки — это ваши навыки работы в команде, ответственность, лидерские качества и т. д. Жесткие навыки — это технические вопросы, то есть вопросы о технологиях, упомянутых в вашем резюме.
Оба типа вопросов важны.
Готовиться к техническим вопросам, конечно, сложнее.
Для начала нужно понять, какие вопросы могут возникнуть.
Возможности Google помогут вам в этом.
А если у вас его нет или вы просто не хотите тратить на это время, то вот список вопросов , который я когда-то сочинил.
Просматривая его и отвечая на вопросы, постарайтесь представить себя на реальном интервью.
И да, если вдруг какой-то вопрос будет неясен, обязательно разберитесь в нем.
Что ж, вы проделали большую работу.
Теперь вы можете немного расслабиться, выпить кружку ароматного чая и выкурить самый дымный кальян в вашем городе.
Что дальше?
С хорошо изученным стеком технологий далеко не уедешь.Как говорилось ранее, важно постоянно изучать новые инструменты.
Как узнать, какие из них нужны? «Элементарно!» Заходим в наш любимый HeadHunter, вводим в строку поиска фразу «Python Django» и открываем появившиеся вакансии.
Но теперь вы на них не отвечаете, а прописываете себе указанный стек технологий.
И сделать это нужно при наличии как минимум 15 вакансий.
После этого из всех перечисленных технологий выберите 3,5 наиболее распространенных и начните изучать их в порядке важности.
Этот метод поможет вам освоить самые необходимые инструменты.
Спасибо всем, кто участвовал в написании этой статьи, и вам, дорогие читатели.
Я уверен, что это было хотя бы немного полезно.
Удачи и до скорой встречи!
Дополнительные ссылки
Мой Инстаграм А в конце несколько ссылок на публикации моих коллег, так или иначе связанные с темой работы, обучения и интервью.Надеюсь, что-то из этого вам тоже покажется интересным.
- Глубина кроличьей норы или собеседование по C++ в PVS-Studio .
- Дизайн: фриланс против офиса .
- Собеседование дизайнера в IT: вопросы, тесты, подводные камни .
-
Подготовьтесь К Графической Войне
19 Oct, 24 -
Расширяющаяся Вселенная Мобильных Загрузок
19 Oct, 24 -
Мне Хотелось Красивое Железо. Случилось
19 Oct, 24 -
Мы Пишем Плагин Для Netbeans. Часть Вторая
19 Oct, 24