3 сентября - день прощания
Символично, что лучшее время в году для изменений начинается с этой фразы.
Получить бенефиты в одной сфере можно только, отказавшись от кучи других. Нужно все время и внимание вливать в одну цель - тогда результат будет.
Отказывать себе в вещах, которые для большинства базовый минимум - норма, если стоит цель это большинство обогнать.
Друзья, всем, кто еще не выбрал приоритеты - желаю их найти. А тем, кто нашел - сил их придерживаться.
Ты прощаешься с hr из Шмяндекса, получив приглашение на нормальный собес (это b2b ai криптостартап )
*ИИ никак не влияет негативно на умственные способности разработчиков
**можете проголосовать, чтобы я больше никогда не пела - 🍓
Сентябрь - карьерный Новый год. Как найти работу до декабря
Осень - это лучшее время для поиска работы. Все вернулись с отпусков готовые закрывать годовые цели. Найм идет активно, к тому же погода благоволит остаться лишний раз дома и подготовиться к предстоящим интервью.
Для всех подснежников, кто после летнего отдыха, тоже решил вернуться в строй - расскажу, что происходит на данный момент с карьерой большинства разработчиков и какие шаги стоит предпринять, если есть цель закрыть вопрос с работой до конца года.
Череда сокращений по компаниям продолжает идти и лучше подготовиться
08.09 18:30 🔔🔔
С днем программиста, друзья!
Как круто, что у нас есть возможность создавать что-то новое, воплощать любые свои задумки в реальность и постоянно исследовать неизвестное, углубляясь в те дебри, куда большинство дойти не может.
Для кого-то это аутистический спектр - но для меня это умение держать фокус и не распыляться.
Я вами восхищаюсь!
AI написал код. Примешь такой PR?
На стриме в пятницу в 19:30 буду разрабатывать функциональность для Polymorpher с помощью Codex.
Пройдём весь путь: от постановки задачи до работающей реализации. В финале проведём ревью получившегося PR и решим, готов ли этот код к продакшену.
По ходу разработки разберём:
— как сформулировать задачу и дать агенту контекст проекта;
— какую работу ему поручать и где подключаться самому;
— на что смотреть в сгенерированном коде;
— как корректировать результат, если агент пошёл не туда;
— как проверить, что функциональность работает.
Буду объяснять свои решения и отвечать на вопросы из чата. Посмотрим, где агент ускоряет работу, где требует правок и сколько внимания разработчика нужно, чтобы довести задачу до результата.
Лайк авансом и колокольчик на стрим 🔔
Друзья! Стрим переносится на среду 🙏🏻
На следующей неделе должен быть готов крупный видос. Стараюсь поставить на рельсы регулярную публикацию контента - пока в проработке.
Тяжко выстраивать системную работу + в последнее время все больше накатывает желание уехать куда-то, где очень тепло и играть в теннис/бегать круглыми сутками под солнечным пеклом. Но пока не вариант кажется, хотя может все таки перекроет и поеду. Надо будет только рабочее место как-то настроить.
Почему PostgreSQL откатывает изменения разных строк
Вспомнила вопрос с недавнего собеса и решила разобрать в канале.
Две транзакции меняют разные счётчики, но одна из них всё равно может завершиться ошибкой. Причина в том, как база отслеживает захват объектов.
Пример: таблица counters(id PRIMARY KEY, value), без триггеров и связей с другими таблицами. Обе транзакции работают в SERIALIZABLE. Сначала выполняются оба SELECT, затем оба UPDATE и попытки COMMIT:
-- Транзакция T1
SELECT value FROM counters WHERE id = 1;
UPDATE counters SET value = value + 1 WHERE id = 1;
-- Транзакция T2
SELECT value FROM counters WHERE id = 2;
UPDATE counters SET value = value + 1 WHERE id = 2;
SERIALIZABLE обещает результат успешных транзакций как будто транзакции выполняются последовательно.
Для проверки база запоминает, кто какую область читал. Эти отметки - SIReadLock - не блокируют запись. Они помогают заметить, что чужое изменение затронуло прочитанные данные.
Пример: T1 прочитала старое значение, а T2 его изменила. Значит, в последовательном выполнении T1 должна быть раньше T2. Иначе она увидела бы новое значение. Так появляется зависимость T1 → T2.
При Seq Scan - последовательном чтении таблицы - отметка чтения ставится на всю таблицу, хотя запрос меняет одну строку.
Поэтому база учитывает две зависимости:
- T1 меняет строку 1 → задевает отметку T2 → T2 должна быть раньше T1.
- T2 меняет строку 2 → задевает отметку T1 → T1 должна быть раньше T2.
Требования противоречат друг другу. PostgreSQL отклоняет одну транзакцию с ошибкой serialization_failure, код 40001.
Это ложный конфликт: счётчики можно изменить в любом порядке, но широкая отметка связала две независимые операции.
Чтение через индекс может сузить отметку до строки/страницы и тем самым уменьшить число конфликтов. Поэтому при разборе таких откатов полезно проверить план выполнения запроса. Но полностью исключить конфликты нельзя: приложение должно уметь при ошибке 40001 повторить всю транзакцию, включая чте
Знаю, что выглядит сложно, но я объясню вам, братья и сестры, зачем это нужно
Конечно же, чтобы продавать такие продакшен-кейсы как собственные интересные задачи на собеседовании.
Сохраняйте и не забудьте упомянуть, рассказывая про интересный опыт на интервью.
GPT Pro 20X больше не купить
Я не слежу за появлением новых моделей или обновлением существующих. Однако эта новость для меня важна, потому что я сама использую кодекс в разработке и всегда рекомендовала именно этот инструмент.
Купить новую подписку теперь можно только на версию за 100 баксов, где лимит на токены в 4 раза меньше. Есть жалобы и в комьюнити, и среди моих знакомых, что лимиты тратятся намного быстрее, чем раньше. И сейчас не хватает даже двух подписок Pro-версии для закрытия рабочих задач.
Тратить 40к, чтобы просто закрыть задачи по работе - не самая привлекательная перспектива.
У меня текущий план Pro 20X, буду его дальше продлевать и следить за динамикой. Но кажется, самое время начать искать альтернативные решения.
P.S. Стрим, где я пишу код с кодексом, опять переносится, планирую также на среду 🙏🏻
Искренне извиняюсь перед всеми, кто ждал, но зато чем больше будет моя подготовка к нему, тем должен быть качественнее результат.
600 баксов в месяц за ChatGPT?
Недавно писала, что подписку Pro за 200 баксов больше не купить.
Теперь у истории появилось продолжение: ChatGPT Pro Max будет стоить $600.
Это пока утечка. Официального подтверждения цены и даты запуска я не нашла.
Есть предположения, что в новом плане акцент будет на скорости работы агентов. Грустни, бесконечных лимитов ждать не стоит(
Надеюсь мне не придется переходить на тариф выше из-за урезания текущего 🙂
Видео Video Project 8.mp4 · 97.2 МБ · нажмите — покажем
Сегодня впервые за 20 лет российский спортсмен Сергей Данилов выступил на самом престижном турнире по бодибилдингу «Мистер Олимпия»
Я тренируюсь как любитель, но слежу за профессиональным спортом и для меня это событие имеет значение.
Сергей действительно огромный: при росте 187 см он выглядит буквально как мутант. К этому турниру он шёл более 10 лет, проведённых в жёстких тренировках, тяжёлом массонаборе и использовании фармакологии.
Спортсмен не обладатель классной генетики, его пропорции не подходят для Classic Physique. Поэтому чтобы достигать успеха в спорте, ему приходилось раскачиваться до гиганстких размеров и выигрывать за счета количества мышечной массы.
В 18 лет у него был инфаркт. После него бодибилдер восстановился и снова вернулся к подготовке. Главная мотивация тренироваться дальше - выйти на Олимпию.
Тренировочный план бешеный, а поднимаемые веса огромны и несвойственны человеку; очевидно, что организму подобное долго не выдержать. Однако на интервью Данилов говорит, что это не имеет значения: ради того, чтобы оказаться на Олимпии, он готов умереть. В принципе, в мире бодибилдинга практика доживать до 30–40 лет распространена.
Сегодня он добился своей цели. Ради этих полутора минут на сцене были потрачены больше десяти лет жизни. К сожалению, он не вошёл в топ-10.
Поздравляю Сергея с этим достижением. И благодарю за то, что своим примером он напоминает, какую цену порой приходится платить за свои желания.
Возможно, не всякое дело стоит доводить до конца. И речь не только про спорт. К сожалению, чем дольше мы идём к цели, тем сложнее признать, что сама цель могла перестать быть нам нужна.
Например, может быть, не обязательно несколько лет пытаться попасть в Яндекс или FAANG. Возможно, необязательно стараться расти внутри компании до уровня руководителя. Может быть, вам не нужно пытаться занять место C-level менеджера, особенно с учётом того, что политику компании выбираете не вы и не можете влиять на стоимость акций, процентом от которых
System Design: проектируем платёжную систему с нуля
Вышло новое большое видео на YouTube.
В этом видео разбираю архитектуру платёжной системы на примере интеграции с интернет-эквайрингом Т-Банка и опыта разработки платежей в собственном продукте - Polymorpher.
Пойдём от сбора требований и разбора флоу карточного платежа до критичных сценариев: дублирующиеся запросы, зависшие платежи, падение сервиса посреди операции и восстановление состояния после сбоя.
Внутри:
— способы подключения платежки в продукт;
— разбор требований к сервису;
— как проходит карточный платёж;
— high-level архитектура сервиса платежей;
— проектирование схем БД;
— обеспечение консистентности платежного функционала: idempotency и recovery point, защита от повторных списаний и дублей webhook;
— проектирование отказоустойчивой архитектуры.
Смотреть:
https://www.youtube.com/watch?v=TYeO2xkD7Hg
И как обещала - в комментариях прикладываю все схемы из видео: архитектура, sequence diagramа, схемы БД.
Сохраняйте, если готовитесь к секции по системному дизайну или планируете однажды прикручивать платежи в свой продукт.
#production_case
3 силовые в неделю, 4 кардио, каждый день 10к шагов и дефицит калорий
В марте я начала регулярно заниматься в зале с тренером и с тех пор держу этот режим. Форма уже нравится, но еще сушусь - буду добавлять силовые, чтобы процесс ускорить.
Нет ничего приятнее, чем видеть результат от своих усилий. Радует!
В 19 лет оффер на 320 000 ₽
Когда Коля обратился ко мне за помощью в трудоустройстве, ему было 18. Он только поступил в вуз, программирование изучал самостоятельно.
Он уже пробовал искать работу: за несколько месяцев было всего 3 собеседования, на которых, как он сам мне писал: «меня просто размазали».
Дада, еще один пример жертвы курсов 🥲 Где финальная курсовая работа - это разработка микросервисной системы зоопарка..
Первые 2–3 месяца прорабатывали техническую часть: два созвона в неделю с вопросами и практикой по разным темам, разбирали код-ревью и лайвкодинг. По его словам, после такой подготовки недочеты в коде сразу бросались в глаза.
Так за 207 дней получил оффер на 281к gross. Помогла поторговаться - получилось 320к gross.
Разница в 39 тысяч каждый месяц просто за то, что обсудили условия 🤷🏻♀️
Получить предложение и сразу согласиться на все - понятное желание, особенно когда работу ищешь впервые и очень боишься упустить шанс. Но свои интересы тоже нужно уметь отстаивать. Поэтому отдельно разбирали и торг, и то, как договориться на удаленку вместо гибрида.
Он уже получил корпоративный ноутбук и оформил документы.
В свои 19, еще во время учебы ❤️