22.09.2024

Мне не подходили курсы, которые состояли только из теории и лекций: как курс Devman помог с разработкой платформы трекинга командировок

Как все началось

Я работал в сфере безопасности и большую часть времени моя работа была связана с системой управления рисками. Система была no code решением, в ней можно было строить собственные таблицы, схемы, но она была очень ограничена. Для обхода этих ограничений нужны были дополнительные настройки.

У системы был неплохой API. Во время пандемии я начал учить Python и это пригодилось, чтобы использовать этот API и Swagger. Это позволяло делать вещи, которые нельзя было сделать при помощи no code решения. Так я начал программировать на Python во время работы в сфере безопасности.

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

Это было невозможно сделать методами простых питоновских скриптов и я начал искать более серьезное решение. Я остановился на Django и теперь нужно было найти хороший курс.

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

В конце концов я начал прямо спрашивать у контактных лиц курсов — вот у меня есть платформа, которую нужно разработать, смогу ли я в процессе обучения сделать это сам или может быть вы мне поможете? В основном мне отвечали, что может быть получится, давайте мы сейчас вам сами разработаем, а потом вы сами, другие просто не отвечали.

На одном из сайтов я нашел отзыв о Devman. В нем говорилось, что в курсе есть практические примеры и задания и там можно по-настоящему программировать. Это меня заинтересовало и я вышел на координаторов.

Я задал им тот же вопрос, что и всем предыдущим — смогу ли я решить свою конкретную задачу. Сначала я пообщался с Ильей Осиповым — методистом курса, потом с Евгением Евсеевым — основателем курса. Они утверждали, что после всего, что я изучу на курсе я смогу реализовать свой проект и это меня зацепило. Так начался мой путь на курсе Devman.

Обучение в Devman

У Devman есть несколько ступеней обучения, которые позволяют начать учиться людям с разными уровнями знаний. Есть ступень «С нуля до новичка», «От новичка до джуна» и «От джуна до мидла». Поскольку у меня уже были знания я хотел начать с уровня джуна, но ребята уговорили меня пройти ступень «От новичка до джуна». Оказалось, не зря, потому что, например, Jinja я раньше не проходил и для меня это было новым. Также прохождение этой ступени помогло закрепить и систематизировать все полученные ранее знания. Я прошел первую ступень за считанные недели и приступил к следующей.

В процессе обучения на ступени «От джуна до мидла» попадались уже более сложные задания. Например, Docker и Kubernetes. Было сложно чаще всего из-за того, что теоретического материала не много и нужно копаться самому. Но я понимаю почему так, это учит самостоятельности.

Самым интересным заданием для меня был «Деплой по-взрослому» в разделе Django. Когда я начинал учёбу мне было непонятно, как сделать, чтобы мой проект работал в интернете? Как сделать, чтобы можно было ввести доменное имя, зайти на страничку и увидеть свой проект? Урок «Деплой по-взрослому» состоит из 25 заданий и каждое из них было на вес золота. Подключите «Postgres», «Подключите домен», «Автоматизируйте деплой», «Подключите Rollbar». Из каждого пункта можно было сделать отдельный урок и каждый из них был бы супер ценный.

Какое-то время, когда я только начинал работать как разработчик, я возвращался и вспоминал, как я это делал в Devman. Я возвращался в «Деплой по-взрослому» и смотрел, как это делается по шагам, ничего ли я не забыл. Это послужило памяткой во «взрослой» жизни.

Когда начал изучать «Асинхронный Python», я затормозился на первой задаче. Решил переключиться на другие задачи, чтобы не зациклиться на ней. Я помнил про асинхрон и периодически к нему возвращался, но шло туго. Старался переключать контекст и это помогло.

В процессе обучения я продолжал работать. Мне повезло — работодатель поощрял обучение. Я объяснил, что мне нужны дополнительные знания, чтобы сделать нашу платформу, поэтому мне нужно выделять время на учебу. На работе отнеслись с пониманием и даже профинансировали обучение.

Командные проекты

После прохождения уроков были командные проекты, во время которых мы работали в группе и разрабатывали решения под руководством проджект-менеджера.

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

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

Потом мы делали проект — интернет-магазин для продажи тортов. Все делали бэкэндную часть, но нужно было реализовать маленький виджет на фронтенде, который должен был подтягивать новые значения в корзине. Я очень гордился тем, что, хоть я и учусь Python, но сделал маленькую часть фронтенда на JS. Я сам не ожидал от себя, что смогу это сделать.

Стажировка

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

Потом делали систему, которая распределяла людей по командам. Это была внутренняя система для Devman. Она должна была распределять людей по проектам в зависимости от уровня подготовки и пожеланиям — кто с кем хочет быть в команде.

Это было очень полезно, потому что дает настоящее ощущение работы в реальной команде. Когда кто-то лажает, кто-то тупит, кто-то не выполняет свои задачи — тебе приходится взаимодействовать с живыми людьми.

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

В дальнейшем из всего, что я изучал на курсе, мне не пригодилась только часть про чат-боты. Но я их просто не пишу и не делаю. А такие вещи, как взаимодействие с API — это суровая правда жизни, с ней приходится работать постоянно.

Что было после курса

По итогам курса мне удалось решить первоначальную проблему — сделать собственную платформу трекинга командировок сотрудников.
Спустя какое-то время после окончания курса нашу команду безопасности расформировали. Мне пришлось искать новую работу и я полностью перешел в IT.

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

У Devman есть проект поиска работы, но меня на него не взяли, потому что я искал работу не в России, а в Казахстане, я там живу. Но все равно HR Devman прислала мне вакансию, где нужен был человек, который раньше работал с географическими данными. А моя прошлая работа в сфере безопасности как раз была с этим связана — с поиском кратчайшего пути, ближайших объектов. Меня пригласили на собеседование и за неделю я получил оффер. Сейчас уже больше года работаю python-разработчиком в крупной международной компании.

Хотите попробовать курсы бесплатно?
У нас есть курсы Python и программы для учеников с разным опытом — от нуля до сильного джуна.

С нами можно:
— впервые начать изучать язык,
— подтянуть конкретные темы,
— вырасти до мидла,
— трудоустроиться в ближайшие пару месяцев.

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