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

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

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

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

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

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

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

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

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

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
🔥6
Как внедрить ИИ и получить прибыль, а не убытки?

В апреле мы выступали для бизнес-клуба «Гермес»! Собрали главные тезисы и кейсы из выступления в статью!

➡️ Читайте и делитесь своими кейсами использования ИИ в комментариях!
⚡️Обновили урок из мини-курса «API веб-сервисов»

Урок 5 из модуля «API веб-сервисов» долгое время был одним из самых любимых и популярных. Ученик парсил данные по API и прикидывал какую зарплату станет получать после курса на HH.ru и паре других сервисов.

И сейчас это более чем актуально, ведь около 67–75% компаний и рекрутеров используют технологии искусственного интеллекта и автоматизированные ATS-системы (Applicant Tracking Systems) для первичного отбора и скрининга резюме.

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

❗️HH в конце прошлого года принял важное решениезакрыть публичное API, чтобы снизить накал страстей. По факту API работал до апреля текущего года. И наш урок тоже.

Нам пришлось все-таки искать другую площадку, на которой можно парсить зарплаты. Обновили урок «Прикиньте будущую зарплату»hh.ru заменен на habr.career. Навыки по работе с API те же, но размах не тот, конечно.

➡️ А вы проходили мини-курс API веб-сервисов? Какой ваш любимый урок? Делитесь в комментариях!
🤔 Давайте вместе разберемся, что не так с этим кодом?

owners = flat.owner.all()


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

➡️Пишите в комментариях, что можно исправить!

Мы в Макс
Неправильная форма числа ведёт к обманутым ожиданиям и ошибкам. Если related_name в ManyToManyField указан в единственном числе, то запросы с его участием будут выглядеть странно и неожиданно.

Код из нашего примера может выглядеть так:

owners = flat.owners.all()


💙Спасибо вам, что делились своими вариантами в комментариях!

Мы в Макс
👍3
Что не так с регулярками (regex)

Все хвастаются, что знают регулярки (regex). Даже на собесах про них спрашивают. Но никто не говорит, что с ними не так. Исправляем ситуацию.

На первый взгляд регулярки — это простая и мощная утилита: скопировал, вставил, шустро работает, мало кода.

❗️Но дьявол кроется в деталях:

1️⃣Ты вставляешь выражение в код 15 минут, а через месяц не можешь прочитать.

Что делать:
👉 разбить выражение на простые строки с комментариями, используя re.verbose()
import re

pattern = re.compile(r"""
\b # Граница слова
(?P<year>\d{4}) # Год (4 цифры)
- # Разделитель
(?P<month>0[1-9]|1[0-2])# Месяц (01-12)
- # Разделитель
(?P<day>0[1-9]|[12]\d|3[01]) # День (01-31)
\b # Граница слова
""", re.VERBOSE)


2️⃣ Тестирование и доработка регулярных выражений превращается в ад — максимум времени и минимум стабильности.

Что делать:
👉 использовать для тестирования сервисы вроде https://regex101.com/,
👉 написать автотесты.

3️⃣ После того, как готовы автотесты, все проверено и доработано возникает вопрос — а зачем? Это было уже совсем не быстро, дешево, сердито!

Выход:
👉 Сразу ищите готовую библиотеку, которая закроет вашу проблему: phonenumber для валидации номеров или urlparse для работы с URL адресами.

Не заменяйте регулярку на 100500 if-else. Это убьет читаемость и стабильность кода!

🤔А регулярки то нужны вообще?

Да. Для очень простых случаев вроде [a-zA-Z0-9]+. А еще они часто под капотом тех самых библиотек, при написании которой были вбуханы ресурсы на отладку и тестирование, а вы используете готовый результат.

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

Чистого всем кода!

Мы в Макс
👍2
Получили интересный вопрос по ИИ от Ольги. Давайте вместе разбираться!

Какие навыки нужны разработчику, чтобы не тормозить при внедрении ИИ в разработку


Сразу оговоримся — речь не про обучение нейросети на своем сервере, а использование универсальной LLM модели вроде DeepSeek или ChatGPT.

Часть 1. Писать промпты?

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

✍️ Не пишите инструкцию

Надо излагать ценность и проблемы, мешающие ее получить, а не писать ИИ инструкцию что делать. Это базовый прием, повышающий качество работы.

Пример

Плохо:
Напиши скрипт, который конвертирует svg картинку в png.


Хорошо:
Напиши скрипт, который поможем мне встроить иллюстрации в статью. У меня есть объемные svg файлы. Нужны png. Какие вопросы хочешь обсудить? 


✍️ Не пытайтесь решить сложную задачу в один промпт

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

✍️ Следите за контекстом, избегайте автоматической саммаризации

При заполнении контекста включается саммаризация — данные обобщаются и схлопывается, часто «выплескивая младенца из корыта». Именно в этот момент ИИ начинает чудить. Поможет сохранение промежуточных результатов, чтобы при достижения критического значения просто начать новую сессию. А важное от неважного отделите вы.

Управление контекстом — это ключевой вид активности. Разработчик перестаёт тратить время на написание кода (этим занимается нейросеть), но сосредотачивается на управлении контекстом: накопление, актуализация, регламенты, инструменты навигации. Без этого далеко не уплыть.

📌Да, есть приёмы, которые делают промпты эффективнее, а работу ИИ стабильнее. Приведем пару лайфхаков:

Мотивация ИИ "спереди"

ИИ не читает красивые документы по проекту, которые вы для него заготовили? Что ж, добавьте желтушные заголовки:

Пример
Прочитай файл RULES.md, чтобы узнать о правилах и не переделывать работу.


ИИ не человек, но его отличная имитация. Так что представьте, что работаете со стажёром, который не ест, не спит и офигенно быстро соображает. Но только в рамках сессии😄 Замотивируйте его прочитать все ваши инструкции!

Мотивация ИИ "сзади"

Кто самые четкие сотрудники? Правильно, тревожные перфекционисты с синдромом отличника. Наделите нейросеть неврозом и она будет внимательнее:

Пример
Веди себя как перфекционист, который боится облажаться.


А у вас какие любимые приёмы для промптов?

А с нас ещё про ИИ агентов, вайб-кодинг и какие ошибки совершают разработчики при внедрении ИИ. В один пост не уложились🤷‍♀️

👇 Ставьте огоньки и ждите продолжение!

Мы в Макс
🔥41