Путь
Хронология поиска работы: от первого отклика до оффера. Сверху — самое начало пути.
Вчера я защитил диплом в Яндекс Практикуме. Сегодня я открыл IDE и понял, что ревьюера рядом нет, автотесты молчат, а я остался один на один с консолью. Как я переживаю первый день "после" и борюсь с синдромом самозванца — в моем новом посте.
Я открыл Zed, создал новый файл и начал пытаться написать лучше старый код.
Сел доработать эндпоинт в одном из своих пайплайнов — список записей об уязвимостях с фильтром по критичности. Задача звучала просто: вывести список, у каждой записи подтянуть связанный CVE и источник.
Первые отклики на вакансии
Берем только с опытом или олимпиадников
Просмотрев несколько роликов по трудоустройству в IT, натолкнуло на мысль взять и откликнуться на вакансии на галеру. Для старта возможно хорошая возможность
Сегодня получил обратную связь по двум вчерашним откликам. Не знаю что и сказать...материться или смеяться
Сегодня время практики. Хватит скучных и депрессивных историй.
Генераторы, итераторы, рекурсия - меня спросили именно то, где плавал до собеса
За время обучения довелось поработать со многими технологиями, набрал более 15 проектов, но не один из проектов не выделяет тебя от остальных вкатунов. Все типовое и с этим надо что-то решать...
Резюме v4: как я переписал «список курсов» в «то, что построил»
Медленный эндпоинт разозлил, а решение оказалось обычным select_related
Тихий вечер воскресенья: синдром самозванца и две таблицы рядом
FastAPI без шаблона: мой первый маршрут с моделью сломался, и это был лучший урок
Docker впервые «заработал» сразу — и почему подождать тоже бывает норм
Первый тест, который поймал настоящий баг: радость + озарение
Я испугался rebase, сломал историю и восстановил — лучше и не выучить
Вторая неделя поиска: тишина становится статистикой, а не приговором
Маленький Django-проект, который поднял настроение за вечер
Итоги первого месяца после курса: заметный сдвиг, если смотреть внимательно
Django ORM «лентивый»: загадка разгадана в момент, когда я меньше всего ждал
Как я понял REST: спроектировал мини-API и перестал бояться «архитектуры»
Окружения в Python: почему я боялся .venv и зря тратил время на «вечный конфликт»
Один тест, затем маленький набор: где на самом деле «хватает»
Миграции: как я накатал строчку не туда и чему научился
Резюме со «живыми» ссылками: один ответ перевернул моё отношение
Django и FastAPI: почему я не выбираю «один навсегда», а учу то, что рядом
Статус-коды перестали быть «цифрами из ошибок»: я научился выбирать их сам
Сессии или JWT: вечерняя битва и честное «моему проекту это не нужно»
Первое собеседование с задачками: как я спотыкался и учился говорить вслух
Само-ревью кода: три слабых места, которые я нашёл в собственных петах
GROUP BY для джуна: как я перестал получать «список» и начал агрегаты
FastAPI, а тут и Litestar: орёл ли я в новом фреймворке?
Деплой на VPS: после двух часов ругани systemd наконец слушает приложение
Reverse-proxy простыми словами: разобрался, зачем он между миром и приложением
Рефакторинг без боли: как я разделил «функцию-монстр» настройки не вслепую
Новая пачка откликов и правда про «требуется опыт 2 года»
Асинхронность в Python: понял async/await, когда увидел, что происходит во время ожидания
Тесты и покрытие: перестал гнаться за процентами и стал тестировать поведение
Формы с валидацией в Django: когда привычка «захардкодил» снова подвела
Я добавил пагинацию и перестал бояться «много данных на странице»
Двусмысленность — зло: научился обрабатывать ошибки, а не прятаться
CI в микропроекте: перестал делать вид, что тесты «для больших»
Асинхронные запросы пошли живее, когда я увидел зависимости между задачами
Личная страница-портфолио: решил собирать, пока «непрофессионально» по-своему
Ещё одна волна откликов и старый вопрос «где опыт» в другой форме
Тихий вечер подготовки: репетирую ответы на вопросы, пока никто не видит
На собеседовании я посыпался на async и потоках: боль, которая пошла на пользу
Спустя день после провала: как я превратил стыдные ответы в карту пробелов
Итоги июня: цифры, пойманные пробелы и три живых пета
Лето начинаю с глубины: один пет до «продакшена», а не десять новых тем
Структура кода джуна: договорённости внутри репо, а не „как попало“
Первая правка за пределами своего кода: я выучил вклад в open-source без страха
Как задать вопрос в тех-чате, чтобы ответили: сгорел, но выучил
ООП перестало быть страшным: класс как папка с данными и действиями
DRF против лёгкого FastAPI для пет: время показало, что удобнее по задаче
Аннотации типов сделали код честнее: раньше я прятал, что функция возвращает
Парсер, который сэкономил мне час: маленький Python ради рутины
На интервью думают вслух: как перестал «писать код молча»
Медиа в Django: понял, почему картинки «пропадали» при деплое
Мини-фриланс ради опыта: я взял задачу и понял цену «реальной» работы
Сверка середины лета: курс → инструмент, а не только «пройдено»
Тестовое задание на Python: я перестал писать код сразу и стал читать задачу
После тестового: куда записать обратную связь, чтобы она не потерялась
HTTP и метод-центричный код: как я сделал один view послушным четырём действиям
Live-кодинг без паники: где я терял время и как перестал
Мини-напоминатель откликов: как я автоматизировал «не забыть дописать»
Мини-глоссарий джуна: понятия, которые держу в голове, чтобы не спотыкаться
CRUD с админкой сделал пет живым: Django отдаёт готовый «пульт», и это не стыдно
«Вечерний деплой» чуть не сломал прод: как я ввёл правило тихой пятницы
Собеседование без теста стало честным разговором: я перестал играть роль
Интеграционный тест в Django: проверяю не только функцию, но и связку
«Опыт 2 года» против «что умеешь»: перестал застревать в цифре
Контекст-менеджеры: as-что на самом деле делает with, когда я открываю файл
Перерыв без экрана — не лень, а способ решить задачу быстрее
Фикстуры pytest убрали копипаст setup, чем упростили жизнь пета
Q-объекты в Django: сложный поиск из нескольких условий перестал быть «нагромождением»
Чек-лист деплоя перед «покажу людям»: почему list лучше памяти
«Сорри, опыт слабоват»: один отказ стал причиной пересобрать резюме
Июль в цифрах: без оффера, но с «вот этими» достижениями
Цель на август: собрать маленький тренажёр для повторения, чтобы самому учиться
Старт августа: утром план, вечером первые модели тренажёра
День, когда я просто выключил ноутбук и смотрел в потолок
После дня тишины вернулся с силами: дописываю админку тренажёра
Пишу view тренировки и впервые горжусь «это моё приложение»
Эндпоинт на случайный порядок: shuffle в базе или на сервере?
Кнопка «показать ответ» в вебе: верстаю переворот карточки
Двусторонние карты собраны: ставлю первый набор «Python-вопросы на интервью»
Тренажёр собрал первые строки базы: как я пробую себя в роли «автора контента»
Наборы растут: добавляю темы SQL, Docker и async после провалов
Захотел выбрать несколько тем: форма с чекбоксами, а не «кнопка на одну тему»
Тихий день поиска, зато тренажёр нашёл мне новую тему: обратная связь
Прогресс-бар в тренировке: понял, как показывать «ты сделал N из M»
Собрал по флэшкам первую фичу «все темы» и запнулся на дубликатах
Плохой вопрос в карточке смутил даже меня: редакция формулировок
Флэшка-«переворот» деплой: первая самостоятельная фича на моём сайте собирается к показу
Передаю карточки одной выдачей на страницу и экономлю запросы
Пустой выбор тем: обработал, чтобы тренажёр не «упал в пустоту»
Чекбоксы-плитки в выборе: кликабельная область крупнее — юзабельный вечер
Перелистывание карточек перестало перезагружать страницу
Тесты на фичу: небольшая сетка, чтобы смело менять код
День, когда тренажёр поехал на прод: чек-лист выкатки сработал
Смотрю на деплойную фичу глазами новичка и добавляю подсказки
Фича в проде пару дней: собираю живой отклик и не боюсь правок
Немного самопродажи на интервью-репетиции: тренажёр как история роста
Наполняю тренажёр глубже: карточки из «обычных» превращаются в обучающие
Короткая правда: за два месяца — никакого оффера, зато целая рабочая фича
Как отличить «прогресс» от «количества»: считаю по-честному
Знакомый написал: «у тебя рабочая штука». Так я понял цену законченного
Готовлю финальный рывок недели: тренажёр + разбор ответов на «вопрос культуры»
Август в цифрах: фича в проде, сотня карточек и честный «оффера нет»
Год под другим углом: перестал сравнивать себя с «идеальным junior в резюме»
Каким стал за этот путь: от растерянности в JOIN до автономной фичи
Финал серии: системный джун без первого оффера — и что я забрал с собой