Девман для питонистов
541 subscribers
161 photos
3 videos
213 links
Веб-разработка на Python. Канал от практиков.

Сайт школы Девман: https://dvmn.org/
Контакт для связи: @yulya_devman
Download Telegram
Зачем проходить мок-интервью

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

Mock-interview (от англ. mock — имитация, тренировка) — имитация собеседования с опытным ментором. В роли ментора может быть опытный HR или сильный технический эксперт.

Мок-интервью позволяет:
— Проверить соответствие своих навыков выбранной вакансии;
— Выявить пробелы, получить подробную обратную связь о своих хард- и софт-скиллах;
— Повысить уверенность за счёт тренировки.

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

✍️Вот, причины, из-за которых наши ученики откладывают мок-интервью:
— Кажется, что пока нечего рассказать о себе и своем опыте;
— Кажется, что ещё не всё прочитал/изучил, пока не готов;
— Кажется, что мне это пока не нужно.

❗️Но, это только так КАЖЕТСЯ.

📌Основная цель мок-интервью — отрепетировать будущее собеседование — выстроить самопрезентацию, ответы на вопросы интервьюера, наработать шаблоны.

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

По каким критериям мы оцениваем мок-интервью

Мы выработали следующие подходы по прохождению мок-интервью:

1️⃣Серия из 3 мок-интервью для тех, кто идет в профессию с нуля
Почему 3 интервью? Минимально, именно столько нужно, чтобы «набить руку». Мы не загоняем никого в рамки и даем время на подготовку, анализ результатов и ошибок.

Процесс выстраиваем итерациями: прошёл первое мок-интервью → получил обратную связь → ушел готовиться и закрывать пробелы.

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

2️⃣Точечная подготовка к тех.интервью по конкретной вакансии

Интервьюер:
— Пройдет с вами по требованиям в вакансии;
— Задаст именно те вопросы, которые вы, скорее всего, услышите на собеседовании;
— Проведёт быстрый ликбез, там, где у вас не хватает каких-то знаний;
— Даст развернутую обратную связь и рекомендации.

🗣Вот отзыв нашего выпускника, прошедшего мок-интервью:

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


В Devman, вне зависимости от выбранного курса, любой студент может запросить прохождение мок-интервью. Не упускайте возможности, проходите подготовку и получайте привлекательные офферы!
6
🥳🥳🥳Запускаем распродажу мини-курсов с 20 апреля по 3 мая!

Длинные майские праздники — отличный повод начать что-то новое!

Дарим вам скидку 10% на все наши мини-курсы!

Преимущества мини-курсов:
👉 Поддержка куратора в личном чате, если не удается пройти урок;
👉 Код-ревью от действующего разработчика по каждому проекту;
👉 Гибкий график занятий — занимайтесь в любое время;
👉 Прокачивайте навыки точечно — только по необходимой теме;
👉 Можно начать занятия в любое время. Курс ваш навсегда.

⚡️Выбирайте мини-курсы со скидкой здесь или задавайте вопросы нам в Telegram!
Нейросети все еще туповаты или руки кривые?

Тему ИИ обсуждают все. Есть две крайности — ИИ тупой, ничего не может vs ИИ может/сможет заменить всех. Истина, как обычно, где-то посередине)

1️⃣ Бесплатные модели отстают в развитии от текущих на 1-2 года. При это функционально каждая следующая модель выходит все чаще и при этом многократно превосходит предыдущую. А с учетом острой конкуренции и при этом внедрении самих ИИ для разработки следующего поколения ИИ, то скорость прогресса и правда космическая!

2️⃣ ИИ уже в бизнесе, обучении, быту. Мир уже изменился.

3️⃣ Сейчас ограничения возможностей не в ИИ, а в процессах и в мышлении. Будешь пытаться работать с ними как с привычными алгоритмами или 1-к-1 воспроизводить процессы без ИИ = получится 💩

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

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

Даже если пишете контент с помощью ИИ, то инструменты все равно нужны. Можно найти варианты, где они уже готовы. MCP сервера для работы с гугл-таблицами, например, есть почти во всех платформах для агентов вроде ChatGPT.
🔥1
🤔 Давайте вместе разберемся, что не так с этим кодом?

from django.db import models

class Owner(models.Model):
full_name = models.CharField('ФИО владельца', max_length=200)
owner_phonenumber = models.CharField('Номер владельца', max_length=20)
owner_flats = models.ManyToManyField(
'Flat', verbose_name='Квартиры в собственности', related_name='owners')

def __str__(self):
return self.full_name


👉 Чтобы понять, что можно исправить, загляните в типичные улучшения Девмана.

➡️Пишите в комментариях, что можно исправить!
Нет смысла в названиях полей дублировать название модели: в прикладном коде название поля и так всегда следует за названием модели. Высушите названия полей.

Код из нашего примера может выглядеть так:
from django.db import models

class Owner(models.Model):
full_name = models.CharField('ФИО владельца', max_length=200)
phonenumber = models.CharField('Номер владельца', max_length=20)
flats = models.ManyToManyField(
'Flat', verbose_name='Квартиры в собственности', related_name='owners')

def __str__(self):
return self.full_name
Самопрезентация: что и как рассказать о себе на собеседовании

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

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

Как оценивает самопрезентацию работодатель:
— «Начинка» — что вы говорите о себе;
— «Обертка» — как вы говорите о себе. Это структура рассказа, то, как вы формулируете мысли, легко ли вас слушать.

Второй критерий не очевидный, но он важен для работодателя.

Вот, что может повлиять негативно:
— несвязная речь,
— отсутствие структуры в рассказе,
— неспособность сформулировать мысль кратко,
— скачки с темы на тему,
— отсутствие или потеря логики,
— возвращение к тому, о чем уже говорили,
— неожиданные паузы (потеря мысли, забытое слово),
— долгий, монотонный рассказ,
— слова-паразиты

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

✍️Как подготовить самопрезентацию?

1️⃣Составьте письменный рассказ о себе. Вы сможете наглядно увидеть проблемы в устной речи. В тексте проще составить структуру, логику и определить последовательность, убрать лишнее. Скорее всего, вы будете возвращаться к своему черновику не единожды и с каждым разом будете улучшать свой рассказ.

📌 Вот шпаргалка, если не знаете, что рассказать и как структурировать:
Вводная часть. Представьтесь, расскажите, как пришли в разработку/почему именно эта специальность интересна, про свой опыт в разработке, про последнее или текущее место работы;

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

Про задачи и личные достижения. Расскажите о своих задачах и достижениях, приведите примеры. Начните с крупных, значимых, интересных задач и переходите к более мелким. Делайте упор на то, где требования в вакансии пересекаются с вашим опытом, подчеркивайте, что вы умеете именно то, что требуется в вакансии и вашей будущей команде;

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

Заключение. Почему вы сейчас в поиске работы и что ищите: какие проекты, компанию, команду, как вы видите свое профессиональное развитие.

2️⃣Перечитайте вслух то, что у вас получилось. Оцените, насколько это «ваша речь», насколько вам комфортно говорить. Засеките время вашей устной презентации. Если у вас короткий HR-скрининг, ваша презентация не должна быть дольше 2-3 минут. Если полноценное интервью, не больше 5-6 минут. Можно составить 2 текста на разную длительность.

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

Эта методика поможет не теряться и при ответах на точечные вопросы интервьюера. Когда в вашей голове уже есть отрепетированные паттерны рассказа, вам гораздо легче сориентироваться и ответить на незапланированные вопросы.
👍8🔥21🥰1
⚡️Мы завели канал в Макс!
Подписывайтесь на нас по ссылке, чтобы не потеряться!

Канал в Телеграм мы продолжим вести. Также напоминаем, что у нас есть группа в VK.

Расскажите, пользуетесь ли Макс? Выбирайте ответ в опросе!
😢3
Пока нейросети захватывают мир, холивар на тему Django vs FastAPI так и не решен

Часто видим одну и ту же боль: у вас здоровенный монолит на Django, куча легаси или сложная админка. Но задачи по API становятся всё более капризными: нужна строгая типизация, авто-доки и нормальная валидация. DRF не предлагать — с ним еще хуже, чем без него, уже тошнит от сериализаторов-мутантов.

Переписывать всё на FastAPI (и плодить зоопарк микросервисов на ровном месте) — неоправданный суицид.

Что делать?
Затаскивайте в проект Django Ninja.

💥Главная киллер-фича — нативная дружба с Pydantic (а в последних версиях — и с Pydantic v2).

✍️Типовые проблемы → Решения Ninja:

Проблема: Данные приходят грязные, строки вместо чисел, даты в диком формате.
Ninja: Просто описываете модель Pydantic’ом. Всё. Автоматическая валидация, coercion типов и JSON Schema.

Проблема: Вложенные объекты валидировать больно.
Ninja: Схемы вкладываются как матрёшки, глубоко и без боли.

Проблема: OpenAPI/Swagger документация вечно устаревшая.
Ninja: Доки генерируются автоматически из ваших type hints. Код = Документация. Никакой магии и декораторов-уродцев.

⚔️Django Ninja vs FastAPI: война, которой нет

Зачем Ninja, если есть FastAPI и SQLAlchemy?. Ответ прост: экосистема и реальный мир.

Когда вы выбираете Ninja вместо FastAPI:

Монолит Django:
У вас уже есть модели Django ORM, админка, система аутентификации. Ninja просто садится сверху как современный API-слой, не требуя переписывать бизнес-логику.

Сложная аутентификация: Бесшовная интеграция с сессиями Django, куками и встроенной User моделью. Не нужно городить велосипеды на JWT, если используются сессии.

Синхронность:
Django ORM в основе своей синхронна. FastAPI с async SQLAlchemy требует дисциплины и легко ловит «зеленые потоки» на продакшене. Ninja работает в родной среде без сюрпризов.

Батарейки в комплекте: Кэширование, очереди (Celery), ORM с Signals — всё это стабильно работает в Django и ломается, если начать переезжать фрагментами.

🚀 Для сложных веб-сервисов: профит в скорости разработки
Вам не нужно спорить с тимлидом о том, какой ASGI сервер выбрать или как подружить Alembic с продакшен-миграциями. У вас уже есть панель администратора на сотню таблиц — просто навесьте на неё Ninja-эндпоинты и получайте JSON со скоростью FastAPI. Да, он реально быстрый, по бенчмаркам не уступает, а где-то и обгоняет благодаря оптимизациям.

📝 Синтаксис, который вы полюбите:
from ninja import NinjaAPI, Schema

class ItemIn(Schema):
name: str
price: float
quantity: int = 1 # дефолтные значения!

api = NinjaAPI()

@api.post("/items")
def create(request, payload: ItemIn):
# Поля payload.name, payload.price уже провалидированы
return {"success": True, "id": 1}

‼️Риски

Основной django-ninja — стабильный продукт, который прекрасно работает. С 2024 года активность единственного мейнтейнера Виталия Кучерявого в основном репозитории по код-ревью и слиянию pull request'ов почти остановилась. На GitHub накопились десятки PR, включая исправления критических ошибок и улучшения производительности.

В 2025 году появились форки батарейки. Если в процессе работы вы упретесь в баг, имейте в виду, что есть форк  Django Shinobi как более оперативно обновляемая альтернатива в той же экосистеме.

Вердикт: Если Django для вас — готовый авианосец, а не помеха, Django Ninja превращает его в современный быстроходный катер. Это не «замена FastAPI ради замены», а эволюционный скачок для экосистемы Django.

✍️Мы уже дискутировали на эту тему в видео-формате. Если не смотрели, то вот ссылки:
Ютуб
Рутуб
VK
🔥4