Я джун, хочу рассказать что делал, учил, как двигался дабы устроиться на работу.
Может быть мой опыт будет вам полезен, если вы пытаетесь найти работу или только учитесь / начинаете учиться.
Это не таблетка которая работает 100%, а исключительно мой опыт. На всё ушло полтора года(1 год учёбы + пол года поиск работы).
Пишу пост, так как часто отвечаю на вопросы в тг и в последнее время участилось здесь. Отвечаю потому что в свое время мне никто не помогал и этого очень не хватало на пути становления.Не любитель писать(поймете по моей орфографии) поэтому скажем так это первый мой и последний пост скорее всего здесь.Не знаю можно оставлять ссылки или это будет считаться рекламой, так что где-то они будут, где-то нет. Но на всякий случай пост НЕ в рекламных целях.
Немного о себе:Для того чтобы представить полноценную картину. Мне 27 лет, работал в Альфа-банке и ушел из-за того, что не могу навязывать людям продукты. Прогорел бизнес в 24 года(ателье). Устроился работать в макдоналдс в ночную смену(так называемый “ночник”- что-то типа уборщицы и посудомойки), проработал год и понял что хватит плыть по течении и надо брать жизнь в руки. Высшего образования не имею(Ушел с 5 курса ‘Эконом безопасности’), в дальнейшем не восстанавливался, так как хотел доказать себе, что обладание дипломом, а не знаниями это уже прошлый век, но это отступление.
Собственно информация ради которой был создан пост:
Курсы:Купил курс Skillbox(
моё мнение, денег своих не стоит, разве что у меня был отличный куратор, на этом плюсы заканчиваются.Купил курс на Udemy(
курс понравился, очень много интересного от туда подчерпнул.Окунулся в пиратство(Сайт с робингудом так сказать раздающий лес):Там в поисковике:- udemy-Разработка-telegram-ботов-на-python-2020- Полный курс по веб разработке с нуля на Python + Django (2020)- udemy-angela-yu-100-days-of-code-Полный-учебный-курс-python-pro-на-2021-год
YouTube:Перечислю только тех, чей контент мне помог разобраться в профессии и освоиться в Django:- DjangoSchool(
меня до сих пор много нового открывается при просмотрах- Selfedu(
по каким-то причинам стал по подписке и смотреть перестал, но может кто-то захочет оплачивать и раньше его смотрел, поэтому он тут- Python samurai(
)- Senior Pomidor Developer(
)- ITна Dиване(
– Ну собсна сама документация(
читать доки это кащунство:) так как всегда самая актуальная и полная инфа именно в них- A Byte of Python- Изучаем Python- Test‑Driven Development with Python- Two Scoops of Django- Django. Разработка веб-приложений на Python- Книга Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура- Алгоритмы. Руководство по разработке- Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Как искал работу:
На поиск работы ушло около полугода. Запаситесь терпением и будьте настойчивы, рынок около-джунами переполнен, а в мидлах-сеньорах в дефиците, вот такая вот штука.Отшивать будут часто, много. Искал работу по РФ с возможностью переезда куда угодно, хоть за границу, хоть куда.Типичные вопросы:- Рассказать несколько алгоритмов- Решить логическую задачку (у меня была часто задачка ‘Задача с девятью шарами’ в гугле можно найти спокойно)- Рассказать про структуры данных- Ревью моего кода (или их кода) с человеком( почему так, почему сяк) проговаривая в слух мою логику- Тестовая задачка ( задачи достаточно легкие, смог решить задачу на Golang не зная этого языка)Типичные отказы:- Мало / Нет опыта разработки в команде- Рассматриваем кандидатов только из своего города- Мы уже наняли- Без диплома не рассматриваем- Бесплатная стажировка(тут уже отказывался я)
Схема такая: ищу почту или телефон HR и отправляю лично ему или звоню и прошу почту куда отправить, так как ‘отклики’ на сайте считаю вообще не эффективными
(vpn, русских компаний сидит там достаточно)-
Мой github/gitlab:Примечание! Код там ужасен, знаю, проектов там почти нет(а рабочие проекты все запривачены), но как руки дойдут я перепишу свой ужас и –
Моё резюме(часто отмечали на собесах резюме в положительную сторону, но по хорошему надо еще eng версию сделать):-
На данный момент уже требуется еще front часть от меня (css, js, ajax), так как планируется перевести на зп по выше в фулл-стак разраба, но на начальном этапе требовался исключительно back(sql, django,drf, unix(просто умение поставить сервер),docker) всё на базовом уровне
Составить резюме, набраться определенного багажа знаний, иметь гитхаб и gist гитхаб ну и просто пробивать себе путь, так как дорогу осилит идущий:)
Надеюсь хоть чем-то, да помог Вам на пути становления разработчиком, дорога тяжелая, но безумно интересная.Если остались вопросы, готов ответить на них в личку
Спасибо за внимание!
Все что далее, – мой личный опыт изучения фреймворка Django. Может быть пригодится таким же новичкам в программировании как и я.
Что нужно знать (необходимый МИНИМУМ) относительно Python:
-Ввод и вывод данных
-Функции и рекурсия
-Основы регулярных выражений
В настоящее время, актуальной версией является Django 2.0. Но я советую начать изучение с версии 1.11. Почему именно так:
1. По Django 2.0 мало различных материалов на русском языке. Для 1.11 материалов достаточно.
2. Django 2.0 и 1.11 очень похожи, но в 2.0 сделали упрощённый синтаксис маршрутизации URL. Из-за этого могут возникнуть сложности на начальном этапе, если пытаться обучаться по материалам основанным на 1.11 версии.
3. Большинство готовых приложений и расширений до сих пор поддерживают только 1.11 версию и не поддерживают 2.
4. Расширенная поддержка версии 1.11LTS заканчивается в 2020 году, а 2.2LTS пока не видно.
Итак, расскажу как изучал я. Может быть кому-нибудь покажется полезной данная информация.
I. -НАЧАЛО (“копипастим” свой первый проект):
-понять как работает фреймворк(установка, как создается проект, архитектура, как взаимодействуют его основные компоненты – urls, модели, шаблоны, views)
1. Проходим туториал на Django-girls.
Шаг за шагом копипастим и пытаемся понять что вообще происходит.
-Основы работы в консоли Linux
-Создание и работа в виртуальном окружении Python.
-Основы основ Django (urls, модели, шаблоны, views)
Альтернативный вариант (более короткий):
Учебник официальная документация (docs.djangoproject.com/en/1.11 – раздел FirstSteps). Или перевод документации с портала djbook.ru
Версия 1.9 а не 1.11, но в этом нет ничего страшного.
2. Цикл лекций “Web-технологии. Разработка на DJANGO” от Mail.ru
-Архитектуре и принципам взаимодействия компонентов, основам Django
3. Книга “Django: практика создания Web-сайтов на Python” Владимир Александрович Дронов:
ссылка: сами кУпите или найдёте.
Читаем главы с 1 по 7. Главу 2 опционально можете пропустить, если знакомы с основами Python.
Выполняем примеры из книги на тестовом проекте – создаем модели, через шелл добавляем-изменяем-сортируем-фильтруем данные в модели, создаем urls привязки, пытаемся писать первый контроллер, смотрим как и что можно сделать в темплейтах.
-Пониманию основ MVC
-Через примеры кода начнет приходить понимание, как все работает.
-Через копипасту проекта в общем виде начали понимать как все устроено и работает
-Через лекции MAIL.ru узнали как работают web-приложения, как выглядит архитектура типичного web-приложения(взаимодействие бекенда-фронтэнда, работа протоколов, общая архитектура), узнали место Django в этой архитектуре
-Через книгу более детально познакомились с паттерном проектирования MVC (что такое модель, контроллер, представление), через примеры кода начали понимать как это может работать.
II. ПРОДОЛЖЕНИЕ НАЧАЛА(продолжаем “копипастить”):
1. Ищем курс “iTBursa Python&Django”. Продажу курса уже закрыли (скорее всего видимо потому, что курс попал в открытый доступ). В курсе есть основы Python и Django. Плюсом идут основы: html/css, bootstrap web, http, databases, linux, shell, git/github, nginx, deployment.
Продолжаем копипастить уже по этому курсу, но теперь самостоятельно выполняем “Контрольные задания”(или не выполняем). В принципе этот курс мог бы заменить все вышеперечисленное. Но так как каждый человек воспринимает информацию по разному, ИМХО лучше усвоится информация, полученная из разных (по типу и виду подачи информации) источников.
Дополнительно: курс itvdn-Django от Антона Мазуна
2. Продолжаем читать и перечитывать Дронова
3. Изучаем официальную документацию или перевод документации 1.9(djbook.ru)
-На этом этапе уже должно быть освоено достаточное количество материалов для написания своего собственного приложения.
II. КОНЦА НЕ ВИДНО(создаём свой собственный проект):
Собственно если все делали правильно, на этом этапе должны быть все необходимые знания для реализации собственного проекта. По сути, можно сосредоточиться только на Джанго, а фронтэнд слепить из кусков Bootstrap.
Теперь отправляемся в свободное плавание на просторы интернета. Теперь уже сами ищем статьи, видео, гайды, бестпрактис. Продолжаем читать Дронова и переходим на актуальную версию Django 2.x
Дополнительно можно начать читать:
-Django подробное руководство. Адриан Головатый. Джейкоб Каплан-Мосс. Книга очень старая (2010), многое изменилось, но общие принципы остались те же.
-Tango with Django. Многие советуют эту книгу.
Вот ещё парочка:
-Web Development with Django cookbook
Извиняюсь за возможные орфографические, и в особенности, за пунктуационные ошибки.