PYTHON IN DEPTH🐍
396 subscribers
8 photos
10 links
ПАЙ8
Download Telegram
Интеграции с внешними системами: как не превратить backend в зоопарк адаптеров

Рано или поздно backend обрастает интеграциями: платежи, CRM, учётные системы, доставка. Если не договориться с собой о правилах — код быстро начинает жить по законам чужих API.

Несколько вещей, которые реально помогают не потерять контроль над архитектурой.

1. Anti-corruption layer

Не смешивайте доменные модели с ответами партнёров. Лучше выделить отдельный слой.

class PaymentGateway:
async def create_payment(self, dto: PaymentDTO) -> Payment:
...


Контракт у партнёра изменился — правки остаются в одном месте.

2. DTO как точка входа

DTO — удобное место для валидации и нормализации данных.

@dataclass
class PartnerOrderDTO:
external_id: str
total: Decimal


На этом этапе проще отфильтровать неконсистентные данные, чем ловить баги дальше в домене.

3. Idempotency

Повторы запросов — нормальная история для любой сети.
Idempotency-key или уникальный индекс часто спасают от дублей и лишних списаний.

4. Retry без фанатизма

Бесконечные retry под нагрузкой легко добивают зависимый сервис — а заодно и ваш.
Обычно хватает ограниченного числа попыток с backoff.

Чем меньше домен знает о чужих форматах, тем спокойнее переживаются изменения во внешних системах.
2🔥1😁1
Ваш backend слишком сложный. Скорее всего — без причины.

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

Плохая новость: сложность почти всегда дороже железа.

Несколько тревожных сигналов:

— Новый разработчик боится трогать код
— Любое изменение требует правок в 5 слоях
— Архитектуру нужно объяснять на созвоне
— Без схемы в Miro ничего не ясно

Частая причина — преждевременное масштабирование. Система ещё не испытывает нагрузку, а её уже проектируют как Netflix.

Что обычно работает лучше:

1. Простые сервисы
Если класс нельзя объяснить за 30 секунд — он почти наверняка перегружен.

2. Меньше “универсальных” решений
Код, который “подойдёт на будущее”, часто не нужен вообще.

3. Оптимизация по фактам
Сначала метрики → потом усложнение. Не наоборот.

4. Локальная понятность
Открыл файл — понял, что происходит. Это underrated свойство хорошего backend-а.

Интересный парадокс:
сильные инженеры чаще упрощают систему, а не усложняют её.

Иногда лучший архитектурный рефакторинг — это удаление половины кода.
1👍1🔥1
Как на самом деле работает отбор резюме в 2026 году

Современный найм — это не «человек читает ваше резюме».
Это нейронайм: автофильтры, парсеры и быстрые решения рекрутеров.
Большинство кандидатов отсеиваются до того, как их резюме кто-то осознанно посмотрит.

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

Учебные практики и стажировки не считаются коммерческим опытом.
Неайтишный бэкграунд не усиливает резюме айтишника — он его размывает.

Что не стоит указывать в резюме
Желаемый доход
Личные соцсети
Фотографию

🖥GitHub не всегда важен и редко смотрится на этапе фильтрации.
Образование в большинстве случаев вообще не проверяется.

Зато важно:
👉 указывать стек технологий отдельно для каждой компании, а не общим списком.

Резюме — это продажа, а не автобиография


Успешный программист умеет продавать себя.
Продажи в найме бывают:
- тупыми — «я хороший, возьмите меня»
- умными — «я закрываю вашу боль»

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

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

Умная продажа — это:
- правильное позиционирование,
- попадание в запрос работодателя,
- демонстрация пользы, а не личности.

Как должно выглядеть сильное резюме

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

Каждое место работы описывается по одному шаблону:

Контекст — где и в каких условиях вы работали
Достижения — что изменилось благодаря вам
Стек — конкретные технологии

Достижения оформляются по модели SART:
Situation — ситуация
Aim — цель
Result — результат
Tools — инструменты


Метрики, цифры и проценты крайне важны, даже если работодатель не разбирается в разработке.
Проактивность и инициативность повышают вес кандидата сильнее, чем ещё один фреймворк.

Блок «О себе»: как делать правильно

Он должен быть структурированным:
- Короткое интро
- Ваша профессиональная философия
- Текущий стек
- Хобби (уместно)
- Контакты

Контакты — актуальные и профессиональные.
Никаких личных телег и мем-юзернеймов.

Плагиат — это нормально (если с умом)

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

Про вакансии и отклики

Единственный реально важный фильтр — язык, указанный в названии вакансии.
Остальные фильтры дают шум и искажения.

Важно:
- внимательно читать описание вакансии,
- смотреть на технологии, которые реально используются в компании.

Резюме без ключевых слов или несоответствующее возрасту и опыту почти не имеет шансов.

Не тратьте время на вдумчивый просмотр вакансий.
Фокус — на массовой рассылке.

Нормальный рабочий показатель — 150–200 откликов в день.

Сопроводительные письма

Многие компании их требуют, но:

не пишите вручную

используйте копипаст с адаптацией

Избегайте клише вроде:

«Здравствуйте, меня зовут Иван, у меня 4 года опыта…»

Пишите коротко, по делу и по контексту вакансии.


Сделайте эти простые шаги и может быть вас заметят, а может и нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1💩1
«Какой навык самый важный для разработчика?»

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

В книге «The Only Skill That Matters» Джонатан Леви показывает: в мире, где технологии меняются каждые 2–3 года, выигрывает не самый умный и не самый опытный. Выигрывает тот, кто быстрее осваивает новое.

Разберём идеи, которые особенно полезны нам — разработчикам.

🧠 1. Учёба — это навык, а не талант

«У меня плохая память» — это не приговор.
Память тренируется так же, как мышцы.

Если вы можете выучить синтаксис нового фреймворка — вы уже тренируете её.

📚 2. Пассивное чтение = иллюзия прогресса

Просто читать документацию — мало.
Гораздо эффективнее:
— писать мини-конспекты
— формулировать вопросы к тексту
— пересказывать материал своими словами
— объяснять коллеге или близким

Если не можешь объяснить ребенку — значит, не понял.


3. Интервальные повторения > «зубрёжка»

Повторять нужно не сразу, а через интервалы:
1 день → 3 дня → неделя → месяц

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

🎯 4. Сначала структура, потом детали


Не нужно запоминать всё подряд.

Сначала разберитесь:
— какая архитектурная идея стоит за технологией
— какие 20% дают 80% понимания
— какие основные сущности и связи

После этого детали ложатся сами.

🔥 5. Фокус — множитель скорости


Мультизадачность = медленное обучение.

Если изучаете новый инструмент:

— закройте Telegram
— уберите уведомления
— выделите 40–60 минут глубокой концентрации

Один час глубокого фокуса = 3 часа «в фоновом режиме».

🎓 6. Учись через преподавание

Самый быстрый способ разобраться в сложной теме — написать о ней пост.
Или объяснить её стажёру.
Или записать короткое видео.

Объяснение структурирует знания лучше любого конспекта.


———————

В 2026 году побеждает не тот, кто знает больше. Побеждает тот, кто быстрее освоит:

— новый паттерн
— новую библиотеку
— новый стек
— новую архитектуру
или 1с🤣
Самый ценный навык разработчика — скорость адаптации.

А вы сознательно прокачиваете навык обучения — или просто «читаете больше»?
4👍2🔥2
«Пузырь лопнул», «айти всё», «рынок умер» — каждый раз читаем это с новым интересом.

Но давайте без лишних эмоций.
Факты такие:
— массового “схлопывания” рынка нет.
— но перегретого найма 2021–2022 тоже больше нет.
— зарплаты растут медленнее инфляции.
— конкуренция среди джунов выше.
— компании стали осторожнее.

Бизнес — это борьба за ресурсы.
Разработчик — это ресурс.


Если вы понимаете это — половина тревожных постов перестаёт действовать.

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

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

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

В IT разная реальность:
• в стартапе разработчик — это расход до момента масштабирования
• в крупной компании — это генератор огромной добавленной стоимости

Отсюда и разница в ощущениях «рынок плохой» / «работы полно».

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

Поэтому вопрос всегда один:
Кто это пишет и чьи интересы стоят за сообщением?

За последние годы рынок стал более зрелым и спокойным. Но сезонность, циклы и спрос никуда не делись.

Айти не умерло! Оно просто перестало быть лёгким. А лёгкое — заканчивается всегда.

Работать нужно лучше. Позиционироваться — умнее. И не читать аналитику от тех, кто покупает ваш труд.

Спокойствие тоже конкурентное преимущество.
3👍2💯2