Маркина. Системно
177 subscribers
37 photos
1 video
10 links
Системно о важном.
Системный анализ, карьера, наставничество.
Иногда душню — но по делу.
Ведущий аналитик Positive Technologies, преподаватель ИТМО, к.т.н.
https://tmarkina.taplink.ws/
Download Telegram
🎤 IT‑link 2026: Чувашия, безопасная разработка и 12-я конференция

Вчера 16 мая была на IT‑Link. Организатор — компания Лайм Эйс Ди с офисами в 6 странах, а продукт используют ещё в большем количестве.

И знаете, что меня удивило? Чувашская республика на 2‑м месте по рейтингу регионов по цифровой трансформации. Ребята, вы молодцы! Серьёзно.

Выступала с докладом «Безопасная разработка 2026: новые правила игры». Говорила о том, почему привычные «проверки в конце» больше не работают и что теперь требуют тенденции.

Было много крутых докладов и мастер‑классов. Это уже 12‑я конференция IT‑Link — и они растут.

Что ещё добавить? Открыла для себя ещё паттерн проектирования, средство для Doc as Code, что трата токенов волнует многих.

И да, нетворкинг удался. Поговорила с коллегами из Чебоксар, Москав и даже из Таганрога. Спросили про книгу по системному анализу — может, когда‑нибудь решусь...

Организатором благодарности за организацию, прогулке по Волге и национальным танцам.

🎓Моё резюме
Конференции нужны не для галочки. Чтобы:
· проверить свои идеи на живой аудитории,
· узнать, что происходит в регионах (Чувашия — топ!),
· и случайно найти контакты на будущий проект.

Вы были на IT‑link? Какая конференция удивила вас в этом году?

#Байки
13🔥3😁1
🤯 Vertical Slice Architecture vs Onion Architecture — не надо выбирать, берите оба
Спойлер: они про разное. И отлично уживаются вместе.

🧅 Луковая архитектура (Onion Architecture)
Придумал Джеффри Палермо в 2008.
Идея: код — как луковица, в центре бизнес-логика, вокруг слои: инфраструктура, API, базы данных.
Главное правило: зависимости только внутрь. Внешние слои знают про центр, центр — не знает про них.
Зачем:
Бизнес‑логика не зависит от технологий
Легко менять базу данных или API
Всё можно протестировать изолированно
Минус: слоёв много. Для простой фичи приходится править файлы в трёх местах.

🍕 Вертикальные срезы/слайсы (Vertical Slice Architecture)
Продвинул Джимми Богард в 2018.
Идея: не делить код на слои (контроллеры, сервисы, репозитории), а группировать по фичам.
В одной папке лежит всё, что нужно для выполнения одного сценария: от запроса до SQL.
Зачем:
Одну фичу может делать один разработчик — не конфликтуют
Фичу легко удалить — просто стереть папку
Не нужно лазить по всему проекту
Минус: если не следить, код дублируется в разных слайсах.

🔥 А теперь главное: как их соединять
Многие думают, что это взаимоисключающие подходы, но это не так
Схема «брак по расчёту»:
На верхнем уровне — вертикальные слайсы.
Делим проект по фичам: OrdersProductsUsers. Каждая фича — независимая папка.
Внутри каждой фичи — луковая архитектура.
Свои слои: бизнес‑логика, инфраструктура, API. Зависимости — строго внутрь.
Что получается:
Вертикальные слайсы отвечают на вопрос: Как сгруппировать код, чтобы не мешать друг другу?
Луковая архитектура отвечает на вопрос: Как организовать зависимости, чтобы бизнес‑логика не привязывалась к базе данных?
Внутри одного слайса PlaceOrder вы можете использовать MediatRCQRS, чёткие слои. Но соседний слайс CancelOrder об этом ничего не знает.

📦 Пример на пальцах
src/
├── Features/
│ ├── Orders/
│ │ ├── PlaceOrder/ # Вертикальный слайс
│ │ │ ├── Domain/ # Луковая архитектура внутри
│ │ │ ├── Application/
│ │ │ ├── Infrastructure/
│ │ │ └── Presentation/
│ │ └── CancelOrder/ # Другой слайс
│ └── Products/


🎓 Моё резюме
Onion защищает бизнес‑логику от внешнего мира.
Vertical Slice защищает разработчиков друг от друга.
Не выбирайте один подход. Берите лучшее от каждого. Архитектура должна работать на проект, а не проект на архитектуру.

#Инструменты #Термины
👍6🤓4
🌗 Analyst Days 22: моя история в программном комитете
Впервые была в программном комитете Analyst Days. И это оказалось сложнее, чем просто приехать и выступить.

🧪 Первый спикер — Анастасия Динерштейн с «Рецептами зелий продуктивности»
Я так давно не нервничала. Честно — до тошноты.
Ты делаешь всё, что можешь: помогаешь с тезисами, структурой, советами. А потом — всё. Дальше докладчик сам перед залом.
И ты сидишь и трясёшься за него. Оказалось, это волнительно даже больше, чем выступать самой.

📊 Цифры и факты
В первый день конференции у меня выступали 3 докладчика.
Сегодня ещё впереди — 2.
Я переживала и продолжаю переживать за каждого. И за тайминг, и за технику, и за вопросы из зала. Первый день прошёл, выдохнула. В ожидании окончания второго дня.

🎭 Перформанс с Тарасом
Мы сделали не просто доклад, а представление. Для меня это был настоящий выход из зоны комфорта. Ждём публикации видео, обязательно выложу.
Обычно ты стоишь и рассказываешь. А тут — диалог, эмоции, сценарная работа. Страшно, но классно.
Кажется, получилось.

🎓 Моё резюме
Программный комитет — это не про «посмотреть доклады из первого ряда». Это про ответственность за людей, про переживания и про умение отпустить.
Но когда твои докладчики выходят и зажигают — чувствуешь гордость, как за своих студентов.
Analyst Days 22 — люблю и ненавижу одновременно. До следующего AD ❤️‍🔥

З.Ы. Что вы думаете о выступлении на конференции? Поделитесь опытом как докладчик или может программный комитет?

#Байки #Конференции
12🔥4😁2
🗓 Мой тайм-менеджмент: списки, лягушки и никакой магии
Меня часто спрашивают: «Как ты всё успеваешь? Преподавание, ТризТех (PT), конференции, канал...».
Отвечу честно: никакой магии. Просто система. И работает она не всегда, но чаще да.
Пост по следам моего спикера Анастасии «Приготовления зелий продуктивности», ей отдельная благодарность за отличное выступление. Делюсь своей системой — и новыми ингредиентами.

Списки — база
Каждый день 10–17 задач и встречи в календаре. Не в голове — меньше стресса. Как выполнила или вечером проставляю галочки и выдыхаю.

🐸 Лягушка на завтрак
Самую противную задачу — первой. Сегодня это был сложный отзыв на ВКР. Сделала — и день пошёл.

⏱️ Правило 10 минут
Не идёт задача? Завожу таймер на 10 минут и просто начинаю. Через 10 минут спрашиваю себя: «Хочу продолжать?».
Часто — да. А если нет, значит, задача реально не сегодня. Но первые 10 минут ломают лёд.

✂️ Дробление задач
Вместо «Написать отзывы на ВКР»: «Найти старый шаблон отзыва» → «Обновить шаблон отзыва» → «Написать отзыв на ВКР студента А» → «Написать отзыв на ВКР студента Б». Маленькие шаги не пугают.

🚫 WIP Limits — не брать много
Work In Progress Limits — правило: одновременно не больше 2–3 задач. Иначе мозг перегружается, и ни одна не делается до конца.

Что не зашло (на данный момент)
Геймификация — превращать работу в игру не люблю.
Прогрессивная нагрузка — мой ритм и так хаотичный.
Парное присутствие — если собака спящая рядом не считается, то мне никто не нужен для работы.
Метод помодоро — с моим количеством задач и переключений 25-минутные интервалы только сбивают. Заменила на правило 10 минут + дробление.

🎓 Моё резюме
Тайм-менеджмент — это не магия. Это набор приёмов. Берите то, что работает для вас.
Мой набор сейчас: списки + лягушка + правило 10 минут + дробление задач + WIP Limits.
Какие техники помогают вам? 👇

#Карьера #Инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥71🥰1🤓1
📄TypeSpec: новый язык для API или очередная мода?
На Analyst Days 22 Руслан Папенко рассказывал про TypeSpec от Microsoft. Тема действительно горячая, но в индустрии любят волны хайпа — был RAML, был API Blueprint, теперь вот TypeSpec.
Я послушала, сравнила с OpenAPI и альтернативами. Делюсь выжимкой для прагматиков.

🧐 Что такое TypeSpec
TypeSpec — это предметно-ориентированный язык (DSL) для описания API. Он не заменяет OpenAPI напрямую, а компилируется в него (и не только). Релиз — апрель 2024, Microsoft, открытый исходный код.
Синтаксис напоминает TypeScript. Вы описываете модели данных, операции, а генератор выдаёт:
спецификацию OpenAPI (YAML/JSON)
документацию (например, HTML/Markdown)
клиентские SDK на нескольких языках (основная поддержка TypeScript, .NET, Java, Python)
генерация серверных заглушек (ограничена в основном .NET и JavaScript)
Звучит круто. Но давайте по фактам.

⚔️ Почему OpenAPI уже не торт
Презентация Руслана на Analyst Days и мнения инженеров со всего мира сходятся: OpenAPI, при всей своей популярности, доставляет много боли.
Проблема №1: Нечеловеческий синтаксис
OpenAPI использует YAML или JSON — форматы, удобные для машин, но не для людей. Описания получаются многословными, часто похожими на «спагетти» из вложенных блоков. А разработчики с усталостью вспоминают, что им постоянно приходится подсматривать в документацию даже для простых вещей.
Проблема №2: Сложность на масштабе
Если в проекте больше пары десятков эндпоинтов, спецификация превращается в гигантский файл (условно на 2000-3000+ строк). Отладка и поддержка такой простыни становятся крайне трудоёмкими.
Проблема №3: Design-First страдает
OpenAPI создавался как формат документации готового API, не спорю, что далее он уже развивалась как формат для Design first. Если мы говорим про объёмные enterprise-системы, то вносить точечные изменения в разросшиеся YAML-файлы — пытка, да — есть визуальные редакторы...

💡 Чем TypeSpec лучше
Если взять простой пример (приводить не буду, был на конференции и полно в "интернетах"), то разница очевидна, разница будет раза в 3 по количеству строк.
 Композиция без боли
 Не привязан к REST
Описав модели, можно сгенерировать не только OpenAPI, но и gRPC (protobuf), AsyncAPI для сообщений, даже GraphQL.
 Один источник правды
Меняете модель — перегенерировали клиента, документацию, моки. Забыли обновить документацию вручную — не ваш случай.

🔄 Полная картина: какие есть альтернативы
Вопрос рёбром: инновация или тренд? Хочу расширить контекст. TypeSpec — не единственный игрок на поле «API как код».
1️⃣ Design First
Платформы вроде Apidog или Stoplight Studio отходят от сырого YAML . Они предлагают визуальные редакторы, схемы перетаскиванием, авто-моки и документацию на лету.
Плюсы: GUI понятен даже нетехническим специалистам. Минусы: GitHub не всегда удобен для ревью тяжелых PNG.
2️⃣ Code First
Инструменты вроде Swaggo (Go) или SpringDoc (Java) парсят комментарии в коде и генерируют OpenAPI.
Плюсы: Документация всегда соответствует коду. Минусы: Код обрастает аннотациями, сложно охватить всю систему целиком.
3️⃣ Альтернативные DSL и Protocol Buffers
Если TypeSpec от Microsoft, то Smithy от Amazon (используется в AWS) существует дольше.
Protocol Buffers (protobuf) от Google — вообще тяжёлая артиллерия для микросервисов.
Плюсы: Скорость, строгая типизация, поддержка в любом языке. Минусы: Бинарный протокол, REST вы получаете через транзакцию.

🎓 Моё резюме
Инструмент действительно зрелый, но ещё не полностью готов для промышленного использования всеми командами в любом масштабе.
Пробовали уже TypeSpec? Или всё ещё на YAML? 👇

#Инструменты
4👍1🤓1
🔞 Work‑life balance: почему советы «выключай телефон» не работают
Бегу 4,2 км. Дыхание сбилось, ноги гудят, а в голове одна мысль: «Зачем я вообще на это подписалась?».
Параллельно вспоминаю вчерашние дедлайны, недописанные требования, несогласованные вопросы. И тут меня осеняет: баланс между работой и жизнью — это как бег. Если рвануть с места — сорвёшь дыхание. Если остановиться — не добежишь.
Вот о чём я думала на финише и какие модели из организационной психологии реально помогают не выгорать (даже когда начальник в другом часовом поясе, а дети болеют).

🧠 Модель №1. Границы не по времени, а по энергии
На забеге нельзя всё время бежать в одном темпе. Ты ускоряешься на спусках, сбавляешь на подъёмах.
Так же и с работой. Классическая ошибка — пытаться отделить работу хронологически (с 9 до 18). Но если вы вымотаны — вы не отдохнёте, даже если часы показывают 18:00.
Что делать:

Определите свои пики продуктивности и провалы. У меня утро и поздний вечер — пики (да, я сова). 14–16 часов — провал: там только механическая работа или вышивка.
Баланс — это не «сколько часов», а «восстановился ли я к следующему рабочему отрезку».
После забега я была разбита физически, но ментально отдохнула. И на следующий день работала эффективнее, чем после 8 часов сна.

🧩 Модель №2. Не «работа vs жизнь», а ролевой баланс
У вас не две сферы (работа и не‑работа), а с десяток: родитель, партнёр, друг, сотрудник, хобби-энтузиаст, бегун, человек, который спит и ест.
Проблема не в перекосе между работой и жизнью, а в том, что какая‑то роль долго недополучает внимания.
Что делать:

Раз в месяц выписывайте 5–6 ключевых ролей. Напротив каждой — оценку от 1 до 10.
Баланс — это не равенство часов, а отсутствие ролей с оценкой ниже 4 две недели подряд.
У меня роль «бегунья» иногда падает до 3 — тогда я записываюсь на забег. Роли «системный аналитик» и «работник ИТМО» почти всегда высокие — но это перекос, и тогда страдает роль «человек с книжкой».

🎯 Модель №3. Приоритеты по принципу «не больше трёх»
Модель Грега МакКеона из «Эссенциализма»: в любой момент времени у вас может быть только 3 настоящих приоритета. Остальное — делегировать, отложить или отменить.
На уровне дня: выберите 3 задачи, после которых день можно считать успешным. У меня в списке 5–7 задач, но три из них — жирным шрифтом.
На уровне жизни: выберите 3 сферы, которые развиваете прямо сейчас. Остальные — поддерживаете в фоновом режиме. Сейчас у меня: 1) канал, 2) работа, 3) здоровье.

🚫 Почему модели работают лучше популярных советов
Совет «не работайте после 20» не работает, если у вас дедлайн и пик энергии вечером. Вы будете чувствовать себя виноватым.
Работают энергетические границы: поработал вечером — честно возьми выходной днём.
Совет «отдыхайте с семьёй по выходным» не работает, если выходные — единственное время на хобби.
Работает ролевой баланс: «Сегодня суббота — роль "бегунья" в приоритете, семья подождёт час».
Совет «делайте список из 5–7 задач» не работает, потому что качественно вы делаете 2–3.
Работает принцип трёх: 3 задачи = успех. Остальное — бонус.

📚 Моё резюме
Work‑life balance — это не расписание и не самодисциплина. Это система управления энергией, ролями и приоритетами.
Если выстроить эти три опоры, можно работать и по ночам, и по выходным — и при этом не выгорать. А без них не помогут ни тайм-блоки, ни цифровой детокс.
У меня эта система неидеальна. Я всё ещё иногда работаю до полуночи и забываю про чтение книг. Но благодаря этим моделям я знаю, что именно сломалось, и могу это починить.
А на следующем забеге я точно не буду думать о работе. Или буду, но хотя бы осознанно.

#Карьера #Инструменты
🔥10🤓62👏1
🫣 Безопасность ИИ для системного аналитика: как не слить данные в ChatGPT
На митапе «Цифровой диалог на Неве» я выступала с темой «Безопасность ИИ для системного аналитика».
Вокруг LLM сейчас столько хайпа, что про безопасность вспоминают не все.
Другие доклады только подтвердили: мы все нащупываем новые роли.
👉 Как ощущает себя системный аналитик в эру ИИ
👉 Agent Coding для аналитика

Ваша LLM-безопасность: 5 вопросов себе
Вместо скучной лекции показала чек-лист вопросов, которые необходимо задавать перед оптравкой промпта.
Когда вы в следующий раз откроете ChatGPT или корпоративный LLM, остановитесь на 10 секунд и спросите себя:
1️⃣ Удалил ли я из промпта всё, что нельзя показывать посторонним?
ФИО, паспорт, IP, банковские реквизиты, внутренние кодовые названия проектов. LLM запоминает и может «случайно» вернуть это другому пользователю.
2️⃣ Запросил ли у модели источники или пошаговую логику?
Если ИИ выдал готовый ответ без объяснений — вы не можете проверить, откуда он взялся. Просите ссылки, обоснования, шаги рассуждений.
3️⃣ Добавил ли запрет на генерацию опасного кода?
LLM может радостно сгенерировать DELETE FROM users; без WHERE или eval(input()), если вы об этом не попросите. Прописывайте ограничения прямо в промпте.
4️⃣ Проверил ли ответ на противоречия с утверждёнными артефактами?
ИИ может звучать убедительно, но противоречить вашему ТЗ, архитектурному решению или стандарту безопасности. Сверяйте.
5️⃣ Использую ли LLM для NDA-материалов?
Только локальную или корпоративную. Публичный ChatGPT — не место для коммерческой тайны.

⚠️ OWASP Top 10 для LLM
Да, у OWASP теперь есть отдельный топ‑10 рисков для генеративного ИИ. Там, например:
Prompt Injection — Инъекция промптов — пользователь заставляет бота игнорировать системные правила.
Insecure Output Handling — Небезопасная обработка выходных данных — модель возвращает HTML с тегом script, и фронтенд его выполняет. Классический XSS, но источник — LLM.
Excessive Agency — Избыточный уровень прав — это когда у модели слишком много прав. Она сама решает вызвать API удаления данных. Очень опасная штука.
Data Poisoning — Отравление данных — в базу знаний (RAG) или в датасет для дообучения кто-то загрузил вредоносный документ.

🎓 Моё резюме
LLM — мощный инструмент, но не магия. И тем более не замена головы.
Промпт тоже требования. Только требования к нейросети. Чем точнее вы опишете, что можно и что нельзя, тем меньше рисков.
А вы как проверяете свои промпты? Есть свои «запретные темы»? 👇
#Термины #Инструменты
🤓5🔥2
🖋Конструктивная критика: что это такое (и что — нет)
📖 Определение
Конструктивная критика — форма обратной связи, которая направлена на выявление недостатков и предложений по их устранению, осуществляемая с фокусом на позитивных аспектах работы. Это не просто указание на ошибки, а детальный и обоснованный анализ, который позволяет человеку увидеть свои слабые места и понять, каким образом он может улучшить свою практику.
В более широком философском смысле конструктивная критика — «созидательная критика, предлагающая конкретные пути решения проблем, реальные методы разрешения противоречий, эффективные способы преодоления заблуждений». В отличие от негативной, разрушительной критики («голого» отрицания всего и вся), конструктивная критика не просто отбрасывает критикуемые концепции, но сохраняет их позитивное, рациональное содержание.
Неконструктивная критика — оценка личности, обобщения, эмоции без фактов.

🧠 Ключевое различие: факты vs оценки
Факты можно проверить. Оценки — это чужое мнение, часто эмоциональное.
«Ты вечно опаздываешь» — это оценка, обобщение.
«Ты пришёл на встречу в 10:15 вместо 10:00» — это факт.
«Ты пишешь ужасный код» — оценка личности.
«Этот метод не обрабатывает null» — факт.
«Ты не умеешь писать ТЗ» — оценка.
«В разделе 2 нет ошибочного сценария» — факт.

⚖️ Почему люди боятся критики
Исследования показывают: мозг реагирует на критику так же, как на физическую боль. Поэтому даже нейтральные замечания воспринимаются как угроза.
Конструктивная критика снижает эту реакцию, потому что:
даёт понятные рамки («сделай вот это» вместо «ты плохой»)
оставляет лицо («я совершил ошибку», а не «я — ошибка»)

📌 Примеры из практики
Ситуация: Коллега перебивает вас на совещаниях.
 Неконструктивно: «Ты грубиян, вечно меня перебиваешь».
 Конструктивно: «На последних трёх совещаниях, когда я начинал говорить про API, ты вступался в диалог. Мне сложно донести мысль. Давай договоримся: я поднимаю руку или говорю «дай закончить», и ты ждёшь паузы».
Ситуация: Студент сдал отчёт с ошибками в формулах.
 Неконструктивно: «Ты безграмотный, не учил матан».
 Конструктивно: «В разделе 3 во второй формуле неправильно посчитана дисперсия. Ошибка в знаменателе. Сверься с методичкой на стр. 15 и приди на консультацию завтра».
Ситуация: Разработчик прислал код с проблемами.
 Неконструктивно: «Ты халтурщик, переделывай всё».
 Конструктивно: «В этом классе нет обработки ошибок при пустом вводе. Пользователь увидит непонятное сообщение. Добавь проверку и верни на ревью».

🎓 Моё резюме
Конструктивная критика — это не про «быть вежливым». Это про точность и полезность. Она — важнейшее условие для профессионального развития. Если вы не можете сформулировать, что конкретно не так или что делать, — не критикуйте. Сначала поймите сами.
#Карьера
👍8🔥2🤯1
🎭 Зачем ходить в театр и читать книги, если вы уже не в школе
Два дня подряд я ходила на спектакли, испытала восторг и задалась вопросом: зачем я это делаю. Делюсь своими размышлениями.

🧠 Учиться на чужих ошибках
В книгах и спектаклях герои постоянно принимают неверные решения. Лгут, не договаривают, недооценивают риски, переоценивают себя.
Мы смотрим и думаем: «Ну как так можно? Надо было сказать правду». Или: «Надо было проверить контрагента».
Это бесплатный тренажёр ошибок. Свои ошибки мы не любим и не замечаем. Чужие — видим отчётливо.
И в работе это окупается: вы начинаете замечать, где коллеги или вы сами повторяете судьбу героя. И вовремя тормозите.

🎭 Понимать людей
Карьера — это не только про технологии. Карьера также про отношения. С заказчиком, с начальником, с командой, с подчинёнными.
В спектаклях и хороших романах мы видим, почему люди поступают так, а не иначе. Страх, любовь, гордость, обида, желание казаться, а не быть.
Когда вы понимаете, что движет человеком, вы:
задаёте правильные вопросы
слышите, что не сказано
не лезете на рожон, когда можно договориться
переводите эмоции в конструктив
Это навык. И его прокачивают не только курсы по коммуникациям, но и Чехов, и Островский.

🔎 Критическое мышление
В хорошей книге или пьесе нет однозначных героев. У каждого своя правда. Каждый злодей считает себя спасителем.
Вы учитесь:
видеть разные точки зрения
не верить первому впечатлению
искать скрытые мотивы
задавать вопрос «а что если наоборот?»
Без этого в карьере — никак. Начальник говорит «срочно». А что на самом деле? Страх опоздать? Конкурент дышит в спину? Просто не умеет говорить о приоритетах?

🎓 Моё резюме
Профессиональная литература даёт ответы. Художественная — учит задавать вопросы.
Спектакль «Гроза» или роман «Преступление и наказание» — это не развлечение. Это тренировка эмпатии и критического мышления.
Для карьеры в ИТ тоже полезно, как и десятый курс по управлению проектами.
А вы замечали, как книги или фильмы помогают вам в работе?а 👇

#Карьера
8🤓2👍1