Ещё фичу?
137 subscribers
91 photos
2 videos
2 files
10 links
Пишем о системном анализе и it на человеческом языке.
Полезные материалы, упрощение работы и повышение зп. 💻🌱

https://clck.ru/3So7AS
Download Telegram
Интервью с заказчиком: как не уйти с пустым блокнотом

Один из первых навыков аналитика ➡️ умение разговаривать с заказчиком.
На бумаге это звучит просто: "задавай вопросы и слушай". ✍️
На практике ➡️ заказчик говорит быстро, уходит в сторону, использует термины "для своих", а ты сидишь с блокнотом и думаешь: "Я вообще ничего не понял..".😪

Чтобы встреча приносила пользу, нужно знать не только что спрашивать, но и как.

📝 Подготовка
〰️〰️〰️〰️〰️〰️
📎 Разберись в теме заранее: кто заказчик, чем живёт бизнес.
📎 Составь список вопросов: про цели, проблемы, пользователей.
📎 Подготовь инструмент записи (ноут, блокнот, диктофон). Память подводит, особенно на второй час разговора.

Какие вопросы использовать
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
Полезно комбинировать разные форматы:
✔️ Открытые:
"Что для вас главное в этом процессе?" ➡️ человек расскажет больше.
✔️ Закрытые:
"Эта функция обязательна?" ➡️ быстро получаешь конкретику.
✔️ Уточняющие:
"Когда вы говорите “ускорить работу”, о какой части процесса речь?"
✔️ Контрольные:
"Правильно ли я понял, что…"
Чем разнообразнее инструменты, тем меньше шанс, что ты уйдёшь с половиной картины.


🤨 Как вести себя на встрече
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🙂 Слушай больше, чем говоришь.
🙂 Не спорь, а уточняй.
🙂 Перефразируй услышанное, чтобы проверить, что понял правильно.
🙂 Не стесняйся "простых" вопросов - часто они вытаскивают самые важные детали.

🖊 Как фиксировать
〰️〰️〰️〰️〰️〰️〰️〰️
📎 Делай заметки в процессе, не пытайся запомнить всё.
📎 Если встреча длинная - лучше записать встречу.
📎 После встречи оформи резюме: "мы договорились о том-то" и пришли заказчику.
Это твоя страховка от фразы "я такого не говорил".

Какой вывод

Интервью с заказчиком - это не формальность, а твой шанс понять зачем вообще нужен проект.
И чем глубже ты вникнешь в смысл требований, тем твёрже сможешь их защищать, когда разработка начнёт спорить, что "это лишнее".

Аналитик, который понял бизнес-контекст, превращается из писателя ТЗ в адвоката продукта. 😎😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2💯1
🤭
Please open Telegram to view this post
VIEW IN TELEGRAM
9
This media is not supported in your browser
VIEW IN TELEGRAM
Доброго понедельничка вам, дорогие подписчики!!
🔥4😢21👍1🫡1
Артефакты аналитика: инструменты или музей экспонатов?

Когда только начинаешь работать аналитиком, хочется блеснуть:
"Сейчас нарисую BPMN, накидаю UML, составлю словарь терминов и напишу ТЗ на 40 страниц - вот тогда все поймут, что я профессионал".🤓🤓🤓

На деле половину этих артефактов никто не откроет.

Главный вопрос:
что реально помогает команде, а что остаётся "для галочки"
〰️〰️〰️〰️〰️〰️〰️〰️
🎯 Рабочие артефакты:

✔️ Протоколы встреч
Спасают от фразы «я такого не говорил». Даже 5 строчек лучше, чем ничего.

✔️ Backlog и задачи в трекере
Живой организм. Если там бардак, винить будут именно тебя.

✔️ Описание требований
Основа для разработки и тестирования. Не фанфик, а понятные сценарии и критерии.

✔️ Схемы и прототипы
Иногда одна картинка экономит час разговора. Особенно если процессы сложно объяснить словами.

〰️〰️〰️〰️〰️〰️〰️〰️
🗿 Артефакты-музейные экспонаты
🔘Схемы, которые рисуются "для красоты" и пылятся в Конфлюенсе.
🔘Документы, написанные ради отчётности, а не для команды.
🔘ТЗ на десятки страниц, которые устаревают быстрее, чем их дочитали.

〰️〰️〰️〰️〰️〰️〰️〰️
🔑 Как понять, что артефакт нужен
Задай себе три вопроса:
1️⃣Им реально кто-то пользуется?
2️⃣Помогает ли он принять решение или избежать ошибок?
3️⃣Его легко обновить, если что-то изменилось?


Если хотя бы два ответа «да» ➡️ артефакт рабочий.
Если нет ➡️ это сувенир, а не инструмент.
〰️〰️〰️〰️〰️〰️〰️〰️
Итог

Артефакты - это не коллекция "смотрите, сколько всего я сделал".
Они нужны, чтобы упростить жизнь команде: зафиксировать договорённости, объяснить сложное простыми словами и держать процессы под контролем.

Всё остальное - просто музей аналитика.
Красиво, но бесполезно.🤷‍♀️
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2❤‍🔥1
Аналитик и разработчик: как перестать говорить на разных языках

Представь ситуацию:
✍️ - Ты пишешь задачу: "Форма должна работать быстрее".
🧑‍💻 - Разработчик спрашивает: "Быстрее - это сколько секунд?"
✍️ - Ты: "Ну… быстрее".

И всё, дальше начинается бесконечная переписка и сюрпризы на демо...

🤯 Почему так?
🔴Аналитик мыслит словами "удобно, красиво, быстро".
🔴Разработчик - "таймаут, эндпоинт, обязательное поле".
И если не перевести с языка на язык, получится два параллельных мира


🛠 Что реально помогает:
📍 Говорить конкретикой. Не "отчёт", а "Excel с колонками X, Y, Z и фильтрами по дате".
📍 Прописывать критерии готовности. Например: "Если пользователь ввёл кривой email, показываем ошибку “Проверьте адрес”".
📍 Добавлять сценарии: как работает по плану, что делать при ошибке, что если пользователь сделал что-то странное.

📎На встречах важно не отбиваться от вопросов разработчиков.
Иногда кажется, что они придираются, но на самом деле они спасают тебя от дыры в логике.
И да, фраза "я уточню" звучит в сто раз лучше, чем придуманный на ходу ответ
)

📎Разработчиков реально бесят размытые фразы типа "сделайте красиво", "чтобы было удобно". 🤦‍♂️🤦‍♂️
Или когда аналитик говорит: "Ну вы же умные, сами придумаете".
А ещё хуже, когда посреди спринта прилетает: "Ой, давайте добавим ещё вот это". 🥺

📎Что они любят?
🙂Когда всё чётко и понятно.
🙂Когда аналитик на связи и быстро отвечает в чате.
🙂Когда есть не только "что сделать", но и "зачем это бизнесу".
Фишка в том, что разработчики - не враги, а твои союзники.
Они такие же строители продукта, как и ты. Если вы научитесь говорить на одном языке, задачи будут закрываться быстрее, багов станет меньше, а демо перестанет превращаться в "угадайку".


Ну и бонусом - ты сам начнёшь разбираться в технике глубже. А это прямой путь к росту и повышению грейда
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53🏆3
Ещё фичу?
Аналитик и разработчик: как перестать говорить на разных языках Представь ситуацию: ✍️ - Ты пишешь задачу: "Форма должна работать быстрее". 🧑‍💻 - Разработчик спрашивает: "Быстрее - это сколько секунд?" ✍️ - Ты: "Ну… быстрее". И всё, дальше начинается бесконечная…
🚀 Касательно этой темы подготовили мини-чеклист: как расти через общение с разработкой

1. Задавай «почему» и «как»
〰️ спрашивай у разработчиков не только "что сделать", но и "почему так" и "как это работает под капотом".

2. Фиксируй новые термины
〰️ API, кэш, индексы, нагрузка - записывай всё, что непонятно, и разбирайся. Через месяц твой словарь будет толще, чем у вчерашнего "джуна".

3. Учись предлагать варианты
〰️ когда понимаешь бизнес-цель и технические ограничения, можешь предложить компромисс. Это сразу выводит тебя на уровень миддл+ и выше.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
©️ QA и аналитик: союзники или враги? ©️

Представь: ты написал требование➡️
Пользователь вводит телефон и жмёт “Сохранить”.

Приходит QA и спрашивает:
😐: А если пользователь введёт буквы вместо цифр?
😐: А если он нажмёт кнопку десять раз подряд?
😐: А если интернет пропадёт в этот момент?

Ты внутренне закатываешь глаза и спрашиваешь: "Ну кто так будет делать?" 🤦‍♂️
А QA отвечает: "Пользователь. Всегда". 🙂
Кажется, что тестировщик придирается. На самом деле он показывает дыры в требованиях.


©️Чем тестировщики полезны аналитику©️

🟡Находят серые зоны
Ты написал "валидируется",
а QA уточнит: "Что именно должно происходить?".

🟡Смотрят глазами пользователя
Пользователь любит всё ломать) QA проверяет это вместо тебя.

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


©️Как работать с QA©️

🟢Зови их на обсуждения требований. Пусть зададут вопросы до того, как начнётся разработка.

🟢Прописывай happy path (успешный сценарий) и ошибки (что делать, если что-то пошло не так).

🟢Не воспринимай вопросы как атаку. QA не спорит с тобой лично - он спасает продукт как минимум от того, чтобы не возвращать задачу обратно аналитику.

©️Типичные конфликты©️

Ты не описал этот сценарий 👎

👉 Если можно понять по-разному, то они поймут неправильно. Пиши конкретнее.

Я проверил, оно работает не так

👉 Твои слова - не аргумент. Требование должно быть однозначным.

Зачем ты придираешься? 😑

👉 QA не придирается, а показывает, где продукт сломается.

Это не моя зона ответственности 😑

👉 Если в требованиях нет логики, ответственность как раз твоя.

🧷Какие выводы мы можем сделать?

QA и аналитик часто спорят. Но это не конфликт, а совместная работа.
Аналитик думает о том, что должно работать.
QA думает о том, что может пойти не так.

Если слушать друг друга, продукт выйдет крепким, а не "идеальным только на бумаге".🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍3
Изменения требований: бизнес снова 🌟передумал🌟

Если ты аналитик и ещё не слышал "давайте всё-таки сделаем по-другому" - значит, ты пока не аналитик))
Бизнес меняет хотелки, заказчики внезапно вспоминают "важные детали", пользователи жалуются, и в итоге твои требования стареют быстрее, чем молоко в холодильнике.😕
Главное - не психовать и научиться работать с изменениями

🤔 Почему так происходит
🟢 Бизнес живой: сегодня у компании одна цель, завтра другая.
🟣 Пользователи жалуются, находят неудобства и требуют доработок: приходится добавлять "костыли" прямо на ходу.
🟣 Детали вылезают позже: в начале кажется, что задача простая, а потом выясняется: "ой, там ещё миллион нюансов".

🤔 Что делать аналитику
💙Фиксируй всё
Нет записи = не было договорённости. Протокол встречи всегда будет твоим щитом)

💙Обозначай последствия
Скажи: "Хорошо, меняем. Но тогда сдвигаем срок/увеличиваем бюджет/откладываем часть задач".
Пусть их решение будет осознанным.

💙Не смешивай backlog с текущим спринтом
Новые идеи в идеале должны отправляться в backlog. Спринт пусть идёт по плану.

💙Всегда обсуждай с командой
Разработчики и QA должны знать, что и зачем меняется, чтобы потом ни для кого не было сюрпризов.

💙Уточняй приоритет
"Срочно" часто означает "очень хочется". Спроси: "Что случится, если сделать через неделю?".


🧨 Ошибки новичков

🔴 Соглашаются на всё сразу, а потом сроки (и жопки) горят, команда злится.
🔴 Правят задачи на лету и рушат планирование.
🔴 Не объясняют команде, зачем изменения и вследствие встречают сопротивление.

🙏 Фразы, которые спасут при изменениях

💚 "Я зафиксирую изменение и вернусь с оценкой влияния на сроки и бюджет".
💚"Чтобы добавить эту задачу, нужно решить: какую из текущих мы убираем?"
💚"Сделаем, но тогда часть фичи пойдёт в следующий релиз. Это ок для вас?"

💡Что мы с вами уяснили

Изменения требований - это не катастрофа, а часть жизни продукта.
И задача аналитика - это не бороться с ними, а управлять: фиксировать, согласовывать, объяснять.

А бонус в том, что чем лучше ты справляешься с изменениями, тем выше твоя ценность для компании.
А ценность = грейд, а грейд = зарплата 💸💸

А если хочется научиться разбирать требования системно и с практикой, это мы подробно делаем на курсе по системному анализу, присоединяйся 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63🙏2
Системный аналитик: профессия, которая меняет жизнь

Если коротко: это одна из самых интересных и благодарных профессий в IT.
Ты в команде разработки, но не кодишь. Участвуешь в создании продукта, но не сидишь с бессонными ночами у компа.
Но в то же время ты остаёшься тем, кто понимает, как всё устроено и как связать бизнес, пользователей и разработчиков!🎂

🔑 Плюсы профессии

👉 Удалёнка 🪑
📎Можно работать из любой точки мира.
Да, нужно учиться разделять работу и личное время, но свобода того стоит)📎
(кстати, о соблюдении ворлайф баланса мы тоже писали пост!)

👉Высокая зарплата (туда же и премии) 💸
📎Аналитики востребованы и рынок это ценит. А уж хороший аналитик всегда в цене)📎

👉Бонусы от компании 🎉
📎ДМС, спортзал, оплата обучения, психологи - всё чаще это норма.📎

👉Гибкость в графике 💻
📎Если правильно выстроить процессы, реально работать 4–5 часов в день, а остальное время жить свою жизнь📎

👉Разнообразие задач 🍌
📎Сегодня проектируешь процессы, завтра работаешь с UX, послезавтра разбираешь интеграцию.
Скучно не бывает.📎

👉Рост 📞
📎Чем больше вникаешь в технику, тем быстрее растёшь в грейде и зарплате.📎


🚀Почему это интересно?
Потому что это не подработка в кофейне, не смена на заводе и не "попробую продавать на ВБ".
Ты не привязан к кассе и не зависишь от капризов клиентов.
Ты получаешь больше свободы и роста:
👉Сам управляешь своим временем и не пашешь по 12 часов
👉Работаешь головой, а не на износ
👉Зарабатываешь больше и чувствуешь себя увереннее

И плюсик - каждый день узнаёшь, как устроены приложения и сервисы, которыми пользуются миллионы людей.
Это реально увлекает и даёт ощущение, что ты двигаешь прогресс, а не просто закрываешь смену)
🧷🧷🧷🧷🧷🧷🧷🧷🧷🧷🧷
А если хочешь стартовать быстро и с практикой, приходи на наш ➡️курс по системному анализу⬅️.
Там мы учим всему, что реально нужно в профессии на старте: от требований и диаграмм до общения с командой и заказчиками)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4😍4👍3
Софт-скиллы аналитика: без них никуда

SQL, интеграции и UML - это всё классно.
Но если ты не умеешь договариваться, то твоя карьера будет…как чайник без воды: шумит, но пользы нет 😔

Вот софт-скиллы, которые реально решают 👇

🗣 Задавай вопросы
Боишься показаться глупым? Хуже выглядеть умным и написать фигню.
Вот пример:
➡️ Заказчик говорит: "Надо ускорить процесс".
➡️ Ты уточняешь: "Что именно тормозит: ввод данных, согласование или сервер?".
Без уточнения разработчики будут оптимизировать вообще не то...


👂 Слушай
Закрой рот, открой уши!
Половина ответов всплывает сама, если дать человеку договорить. Иногда заказчик сам формулирует требование, пока проговаривает проблему. И твоя суперсила - не перебивать в этот момент)


🤝 Будь дипломатом
Ты всегда между бизнесом и разработкой. Не умеешь договариваться? Получишь роль громоотвода...
Бизнес говорит: "сделайте срочно!", разработка отвечает: "это невозможно".
Аналитик переводит: "Нам нужно потому-то, вот компромиссный вариант".

И да, иногда твой скилл "держать лицо" важнее, чем знание REST API.


🧠 Думай критически
"Добавьте кнопку" ≠ требование. Это костыль. А вот требование - это "сократить время оформления заказа".
Твоя задача докопаться до сути, а не бегать с кнопками по проекту.


🤔 Что мы поняли?
Аналитик без софт-скиллов это как рилс без звука: что-то происходит, но смысла никто не понимает...
Технику можно добить курсами и практикой. А вот умение слушать, уточнять и договариваться придётся качать каждый день как мышцы)
Please open Telegram to view this post
VIEW IN TELEGRAM
User stories и acceptance criteria: почему аналитики их любят

Новички часто думают:
Сейчас настрочу ТЗ на 40 страниц, вот это будет документ! 🤭

Но в реальности его никто его не читает. Максимум пролистают до картинок...
А вот короткие user stories и понятные acceptance criteria читают все: бизнес, разработка, тестировщики. И да, ещё иногда сами аналитики (редкость, но бывает).

👤 User story - как мини-рассказ на одну строчку.
Формула простая: как [кто] ➡️ хочу [что] ➡️ чтобы [зачем].
📎Например📎:
"Как покупатель, хочу оформить заказ в 1 клик, чтобы не вводить данные каждый раз".

Красота в том, что бизнесу сразу ясно: "ага, цель - это экономия времени клиента".

Acceptance criteria ➡️ чек-лист счастья
Юзер стори без критериев - как сериал без финальной серии...Вроде интригует, но непонятно, чем кончилось.
📎Пример критериев приёмки📎

1️⃣Кнопка "Заказать в 1 клик" есть на странице товара.

2️⃣При клике подтягиваются сохранённые данные.

3️⃣Система формирует заказ и шлёт уведомление.

Теперь у QA есть сценарии, у разработчиков ориентир, у бизнеса гарантия, что сделали именно то, что хотели.

◽️ Почему это работает◽️

➡️ Разработчики понимают, что именно кодить, а не "сделайте удобно".
➡️ QA получают готовую основу для тестов.
➡️ Бизнес видит: цель достигнута.
И самое главное: их реально читают, в отличие от 40-страничного ТЗ, которое пылится в Confluence и пугает даже автора...

И бонусом прилагаем 🫸ошибки🫷 в user stories, которые встречаются чаще всего, чтобы вы сразу узнали врага в лицо))

"Как система, хочу.."
Система - не человек. У неё нет желаний. Это сразу минус карма.

Описывать слишком общо.
"Как пользователь, хочу удобный интерфейс".
Красиво, но что делать непонятно.

Забыли acceptance criteria.
Без них user story превращается в загадку: сделали или не сделали? Кто знает.😐

Копипаста ради галочки.
Когда все истории звучат одинаково: "Как пользователь, хочу кнопку, чтобы было хорошо".
Никто их не читает, даже ты сам)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👏4😁4
🏳️‍🌈Интервью с выпускницей курса по системному анализу

📎Каждый студент курса мечтает об одном - устроиться на работу.
Сегодня у нас история Леры: ещё недавно она работала в образовании с низкой зп, а теперь она системный аналитик с зарплатой 160 тысяч.
Мы поговорили с ней о пути, трудностях и победах.

➡️ Чем занималась до курса и почему решила пойти в системный анализ?
Лера:
Ох...Занималась много чем, последнее место работы - в образовании. Давно хотела сменить курс.
В айти порекомендовал пойти брат. Купила курс скилбокс BI аналитик, после окончания начала искать работу, но как оказалось, что ты без опыта не нужен никому. А в Скилбокс не особо могли помочь...зп на старте максимум 30 тр.
И в процессе поиска случайно наткнулась на сайт ProSySTalent.
Написала, прошла обучение, собесы, устроилась на работу. Сейчас работаю по аутсорсу, зп 160 тр.


➡️ Что стало главным толчком?
Лера:
Тяжёлый труд и маленькая зарплата)).


➡️ Были сомнения "вдруг не получится" Как с ними справлялась?
Лера:
До сих пор есть!)) Постоянно нужно учиться и развиваться. Уверенность появилась только на работе, когда пошли первые положительные результаты.


➡️ Что было самым увлекательным на курсе?
Лера:
Для меня увлекательно было всё) Нравилось рисовать макеты, чертить схемы.


➡️ Сколько собеседований прошла?
Лера:
До десяти. Но именно второй собес "стрельнул".
Оффер был один, но меня в нём все устраивало, так что долго я не думала и никого с ответом не ждала.


➡️ Что почувствовала, когда получила оффер?
Лера:
Ура! Для меня собесы - это треш))


➡️ С какими трудностями столкнулась в начале и как их решала?
Лера:
Меня сразу кинули на задачи))
Причем API надо было сделать в Свагерре, просидела все выходные и ночи, чтобы изучить. На задачу было 4 дня.
Сдала в итоге вовремя, но чуть не сошла с ума) Ручка вышла на 2000 строк...
Ну и последующие задачи все были малознакомы, пришлось коммуницировать, уточнять.
По итогу всё не так и страшно. Косяки есть у всех, даже у людей с огромным опытом.


➡️ Можешь ли выделить, что больше всего нравится в профессии системного аналитика?
Лера:
На моём проекте мы не только СА, мы - фуллстек, нужно уметь делать все.
Последнее время были задачи по БА, там у меня вообще огонь!)
А из СА точно могу сказать, что рисовать схемы, стори и кейсы мне зашли больше.
Нравится, когда у тебя получается и положительный фидбек.


➡️ Сколько часов в день работаешь?
Лера:
Обычно не больше 8 часов, не нужно убиваться) Последние недели просто сидим, задачи все закрыли.


➡️ Что изменилось в жизни после выхода в профессию?
Лера:
Мне нравится то, чем я занимаюсь. И конечно с ростом бюджета появляется много возможностей)


➡️ Твой главный совет тем, кто сейчас учится и тем, кто задумывается начать обучение?
Лера:
Не бойтесь пробовать новое, у вас все получится, нужно немного сил и терпения.


➡️ Какие ближайшие планы?
Лера: Хотим купить дом) И отдыхать начали 2 раза в год, при условии, что у меня двое детей)


🖐В заключении 🖖

🔓История Леры - пример, что системный анализ открывает новую жизнь:
из образования ➡️ в IT с высоким доходом, удалёнкой и планами о собственном доме🔓

👉 А на курсе ProSySTalent мы учим системному анализу так, чтобы после выпуска реально можно было пройти собеседования и устроиться на работу.😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3👏3💯1
Аналитик и дизайнер: любовь, логика и пиксели

Сегодня поговорим о той самой связке, без которой любой проект рискует превратиться в миленький, но бардак 👉 об отношениях аналитика и дизайнера.
Потому что можно придумать самую логичную схему на свете, но если интерфейс не отражает логику, то пользователи точно пойдут не туда.

🎨 Когда логика встречает эстетику

У начинающего аналитика часто появляется соблазн отойти в сторону:
Дизайн - не моя зона ответственности. Пусть дизайнер сам решает, где какие кнопки. 😄

А потом наступает демо...ты смотришь на макет....и видишь: красиво, модно, всё ровненько,
только вот бизнес-логика плачет в сторонке.

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

👍 Почему аналитик должен участвовать в дизайне?
Потому что именно ты знаешь контекст задачи: кто пользователь, зачем он сюда пришёл, и чего мы вообще хотим добиться.
Без этого понимания дизайнеру тяжеловато: он рисует интерфейс 🖐по ощущениям 🖖, а не по логике.

📎Вот пример
Кнопка "Отправить" стоит до поля для ввода.
Нет обозначения обязательных полей.
Подсказка спрятана, потому что 🖐так красивее 🖖.

И всё, сценарий пошёл вообще не так, как надо....


💬 Как общаться с дизайнером и не устраивать пиксельные войны
Мы много раз видели
, как аналитики спорят с дизайнерами до хрипоты.
А на самом деле всё решается одной привычкой - говорить про логику, а не вкусовщину.

📎Ещё пример:
👨‍🎨 Дизайнер: "Я уберу подсказку, она мешает".
💻 Аналитик: "Если её убрать, пользователь не поймёт, что поле обязательное. Система вернёт ошибку".

Но есть выход - вместе находим вариант, где и красиво, и работает.

🧠 Фразы, которые спасут ваши нервы

✔️"Супер выглядит! Можно я уточню сценарий?"

✔️"А давай посмотрим глазами пользователя?"

✔️"Мне нравится, но тут может сломаться бизнес-логика".

✔️"А если сделать вот так, что думаешь?"

И самая проверенная 😎

✔️"Заказчик сказал сделать так, значит придётся так"


Так что дружи с дизайнером.
Он поможет сделать твои схемы живыми, а ты - его макеты умными)
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4🔥3💯3
📁📂 Интеграция: с чего начать разбираться

Этот месяц посвятим интеграции - тому, как системы обмениваются данными и зачем всё это нужно бизнесу.

🟰 Что такое интеграция?

🟨Это способ наладить обмен между двумя
🟨или несколькими приложениями.
🟨Один сервис отправляет запрос, другой отвечает.
🟨Всё происходит по определённым правилам: формат данных, структура сообщений, способы авторизации.

Пример

Представь, есть сайт, где пользователь оформляет заказ, и есть отдельная система склада.
Когда заказ создан, сайт должен передать данные о нём на склад, чтобы там зарезервировали товар.
Это и есть🟡интеграция🟡: сайт отправляет запрос, склад отвечает, что заказ принят.

📌 Передача может идти по-разному:

➡️ через API - когда один сервис обращается к другому по
HTTP-запросу
(например, POST /createOrder)
➡️ через обмен файлами - CSV, XML или JSON, которые передаются по расписанию.
➡️ через брокер сообщений - очередь, куда система кладёт события, а другая их читает.

📌 Зачем это нужно?

➡️ Чтобы не вводить одни и те же данные вручную и не терять информацию между системами.
Если интеграция выстроена правильно, то данные попадают туда, куда нужно, а пользователи даже не задумываются, что внутри происходят десятки обменов.

📌 Роль аналитика в интеграции

➡️ Аналитик описывает правила этого обмена.
Он отвечает за то, чтобы обе стороны одинаково понимали:

🔸какие поля передаются (и их типы)
🔸какие методы вызываются
🔸что возвращается в ответе
🔸как обрабатываются ошибки
(например, 400 Bad Request или 500 Internal Server Error).

Также аналитик фиксирует три вещи:

🔸Триггер - что запускает интеграцию
(например, создание документа).
🔸Формат - как выглядит запрос и ответ
(JSON, XML, CSV).
🔸Условия синхронизации - когда и как часто данные передаются.

👀 Что будет дальше?
В следующих постах мы поговорим о подробнее о том,
🔸как читать API-спецификации и понимать структуру методов;
🔸чем REST отличается от SOAP
(и почему их часто сравнивают)
🔸зачем нужны брокеры сообщений и сервисные шины

и как аналитик оформляет всё это в требованиях, чтобы разработчики понимали друг друга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤝32
⚙️ API и спецификации: как в них не запутаться (часть 1)

⭐️Привет!⭐️
Продолжаем цикл про интеграции.
Сегодня разберёмся, что такое API и зачем аналитику вообще туда смотреть.

📎 Что такое API простыми словами
API - это способ, с помощью которого одна система обращается к другой.
Можно представить, что это меню в кафе:
Ты выбираешь блюдо (метод), добавляешь параметры (например, “без лука”), отправляешь заказ и ждёшь ответ.


Запрос выглядит примерно так:

POST /login
{
"login": "user@mail.ru",
"password": "1234"
}


А в ответ приходит:

{
"status": "ok",
"userId": 42
}

Вот и всё. Система сказала: "Принято, вот твой ID".

📎 Что хранится в спецификации

Чтобы все понимали, как вызывать методы и какие данные ждать, создают спецификацию
В ней описано:
🔵адреса методов
(например, /login, /user),
🔵типы запросов
(GET, POST, PUT, DELETE),
🔵параметры
(обязательные и необязательные)
🔵структура тела запроса и ответа,
🔵коды ошибок и их расшифровка

➡️ Для REST-сервисов часто используют Swagger (он же OpenAPI) - можно открыть в браузере и прямо кликнуть по методу, чтобы увидеть пример.

➡️ Если же API работает через JSON-RPC, структура немного другая:
{
"jsonrpc": "2.0",
"method": "user.getInfo",
"params": { "userId": 42 },
"id": 1
}

А ответ приходит с тем же id и результатом внутри result.

📎Что важно аналитику

1️⃣Понимать источник данных.
Откуда метод берёт информацию и что возвращает: база, внешний сервис, кэш.

2️⃣Фиксировать форматы.
Например, дата может быть 2025-10-13 или 13.10.2025. Если не уточнить - потом будет весело...

3️⃣ Уточнять ошибки.
Что значит 400, 401, 500, и что делает система в каждом случае.

4️⃣ Следить за связями.
Методы редко работают поодиночке. Часто один вызывает другой, и важно понять цепочку.

📎 Что дальше?
В следующем посте разберём тело запроса и ответа детальнее:
где headers, где body, зачем нужны query-параметры и как по спецификации понять, что и откуда приходит.

📩 Если у тебя API вызывал страх или скуку - самое время разобраться!
Поставь напоминание на следующую часть, чтобы не потерять нить)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1👏1
⚙️ API и спецификации: часть 2 - что внутри запросов и ответов

В прошлый раз мы разобрались, что такое API и зачем вообще смотреть в спецификацию.
Сегодня шаг глубже.😯

Посмотрим, из чего состоит запрос и как читать структуру ответа.📖

🔖Запрос: из чего он состоит

Когда система просит что-то у другой системы, она отправляет запрос.
У запроса три основные части:

1️⃣ Endpoint - это адрес, куда идёт обращение, например:
POST https://api.site.ru/user/create


2️⃣ Headers - это техническая шапка запроса.
В ней хранятся метаданные: тип контента, авторизация, ключи.
Например:
Content-Type: application/json  
Authorization: Bearer token123


3️⃣Body - тело запроса, где лежат сами данные.
Иногда вместо body данные передают через query-параметры (после вопросительного знака):
GET /user/get?userId=42


🔖 Ответ: что приходит обратно

Сервер всегда что-то возвращает. Даже если это ошибка.
Обычно структура такая:
{
"status": "ok",
"result": {
"userId": 42,
"name": "Алексей"
}
}

Если что-то пошло не так, приходит ошибка:
{
"status": "error",
"code": 401,
"message": "Unauthorized"
}

©️Для REST-сервисов ошибки часто сопровождаются HTTP-кодом: 200 (успешно), 400 (ошибка клиента), 500 (ошибка сервера).
©️А в JSON-RPC обычно приходит поле error с описанием.
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32602,
"message": "Invalid params",
"data": {
"field": "userId"
}
}
}

Поле error всегда содержит код, сообщение и, при необходимости, дополнительные данные.
Это помогает понять, где именно ошибка: в запросе, авторизации или логике метода.

🔖Что смотреть аналитику

Проверяй, какие поля обязательные.
Сверяй типы данных (int, string, boolean).
Уточняй, что делает система при ошибке: пишет в лог, показывает сообщение пользователю, шлёт уведомление.
И всегда проверяй примеры - они часто точнее, чем текстовое описание.

В следующем посте пойдём дальше - сравним REST и SOAP, разберёмся, чем они отличаются и почему от одного из них уже все устали...😳

💬 Если стало чуть понятнее, как устроены запросы, то ты уже на полпути к пониманию интеграций!
Сохрани пост, чтобы не потерять продолжение)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21😁1
☑️ Чек-лист идеального сотрудника для компании

Считаете, что застряли на месте в компании и не понимаете как расти дальше? Хотите, но боитесь попросить повышение? Боитесь стать ненужным сотрудником, которого вот-вот могут уволить?

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

1️⃣Иметь гибкое мышление и быть готовым учиться новому
Должно быть так:
Не знаю сейчас, но это нужно для работы - значит изучу

Мир технологий очень гибок, даже банальная смена инструмента с Postgres на Clickhouse или миграция с Power BI на Datalens проверяет сотрудников кто может быстро приспособиться к новым реалиям внутри компании. Не хочешь меняться, а работать только с одной привычной технологией - рано или поздно ты станешь не нужен.

2️⃣Принимать ответственность в своей зоне работы
Ответственность за качество выполнения задач, ответственность за согласованные с тобой сроки, ответственность за своих сотрудников/проект/конкретный отчет... В случае возникновения рисков срыва сроков, невыполнения задачи, косяка сотрудника - не замалчиваешь, а подсвечиваешь риск и стараешься его минимизировать возможными способами.

3️⃣Уметь ошибаться
Накосячил - принял этот факт - порефлексировал и сделал разбор ошибок - сделал выводы. Плохой сотрудник не тот кто ошибается, а тот кто делает одну и ту же ошибку повторно, не сделав из этого никаких выводов.

4️⃣ Иметь хорошие soft-навыки и эмоциональный интеллект
Компания не будет терпеть токсичных, не умеющих работать в обществе сотрудников, это разрушает и демотивирует коллег вокруг. У нас был такой кейс на стажировке - парень был технически сильный, но были неоднократные кейсы токсичности с коллегами. Пришлось попрощаться со стажером в первые недели стажировки.
У всех бывает плохое настроение или можно попросту вспылить в моменте. Это норм, но стоит извиниться после таких ярких ситуаций и стараться все же не повторять их в будущем.

5️⃣ Быть проактивным
Менеджеры очень любят это качество. Кричать громче всех о своих достижениях, рассказывать на широкий круг о результатах своей работы. Также ценится, когда сотрудник не только решает поставленные задачи, но и предлагает свои идеи и мысли по улучшению проекта/продукта и решений, участвовать в постановке целей ил планировании. Ну здесь понятно - чем больше делаешь за те же деньги, тем ты ценней. Надо понять что повышения в компаниях работают по принципу:
1) расширил свою зону ответственности, стал выполнять боле сложные проекты
2) если справляешься, то через время (полгода или год, в зависимости от компании) получил повышение

Многие ожидают что:
1) сначала получил повышение
2) после этого ты готов брать на себя больше, ведь за это уже платят
Увы, но работает не так

6️⃣Иметь сильную техническую компетенцию
Имея все пункты выше, но при этом быть слабым специалистом технически - увы, но ценность как исполнителя твоя будет не велика. В оценку сотрудников всегда закладываются технические компетенции его роли. Поэтому нужно иметь твердые компетенции в любом случае, чтобы справляться со своими прямыми обязанностями в работе.

❤️ если пост был полезен тебе
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2
⚙️ REST, SOAP и всё, что между

👉 Когда начинаешь разбираться в интеграциях, эти три слова всплывают постоянно.
REST, SOAP, RPC: вроде все про одно, но работают по-разному.

Разложим по порядку ⬇️

©️REST - это стиль, по которому строятся HTTP-интерфейсы©️
Не стандарт и не протокол, а просто набор принципов взаимодействия.
Каждый метод делает своё:
▫️GET 👉 получить данные
▫️POST 👉 создать
▫️PUT 👉 обновить
▫️DELETE 👉 удалить


🔻Запрос выглядит просто:
GET /user/42  
POST /order/create


🔻Ответ приходит в JSON формате - коротко и читаемо.
🔻REST-сервисы легко тестировать: можно дернуть запрос из Postman или curl и сразу увидеть результат.

🔻Запоминаем: REST популярен, потому что гибкий и лёгкий в поддержке.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️

©️SOAP - старший брат, строгий и формальный©️
Он использует XML и жёсткую структуру.
К каждому сервису прилагается файл WSDL - в нём расписаны методы, параметры и типы данных.

🔹Пример SOAP-запроса:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserInfo>
<UserId>42</UserId>
</GetUserInfo>
</soap:Body>
</soap:Envelope>


🔻Запоминаем: SOAP работает надёжно, но тяжеловато.
Он чаще встречается в гос- и банковских системах: там, где важна стабильность и проверка форматов, а не скорость.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️

©️Есть и промежуточный формат JSON-RPC - формат обмена, где всё чётко и предсказуемо©️
Без URL-структуры, только метод и параметры:
{
"jsonrpc": "2.0",
"method": "user.getInfo",
"params": { "userId": 42 },
"id": 1
}


🔻Запоминаем: он проще, чем SOAP, но строже, чем REST: структура фиксирована, логика централизована.
Используется там, где сервисов много и REST уже не так удобен.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️

👉 Что выбрать?

REST ➡️ для быстрых и простых интеграций.
SOAP ➡️ когда важна стабильность и проверка схем.
JSON-RPC ➡️ для сервисов, где нужно множество вызовов и своя бизнес-логика.

А ещё есть GraphQL ➡️ подход, где клиент сам выбирает, какие поля получить.
(но об этом в другой раз)
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️

👉 Что важно аналитику?

Проверить, какой тип API используется на проекте и где лежит описание - Swagger или документация вручную.
Уточнить, как происходит авторизация (токен, логин-пароль, сертификат).
Зафиксировать структуру запроса и формат данных.
Не путать: REST - это стиль, SOAP - протокол.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
В следующем посте разберём REST подробнее:
какие методы идемпотентные, когда можно использовать POST вместо GET и чем отличаются PUT и PATCH.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👏2
⚙️ REST: тонкие моменты, о которых спрашивают на собеседованиях

REST кажется простым, пока не начинается собес...
Там уже не спрашивают, что делает GET, а копают глубже.
Про ➡️ идемпотентность, ➡️ коды, ➡️ можно ли использовать POST вместо GET и ➡️ чем вообще PATCH отличается от PUT.
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

📎Идемпотентность: слово, которое все путают
Метод называют идемпотентным, если повторный вызов даёт тот же результат, что и первый.
GET /user/42 - вернёт того же пользователя.

DELETE /user/42 - удалит один раз, второй вызов ничего не изменит.

PUT /user/42 - тоже идемпотентен, если передать те же данные.

POST /user/create - нет: при повторе создаст новую запись.


Можно ли сделать POST идемпотентным
Да, если система умеет узнавать дубли, например, по requestId. (id самого запроса)
Второй такой же запрос просто проигнорируется.
Но это уже логика приложения, а не свойство метода.


А можно ли использовать POST вместо GET
По RESTful принципам - нельзя.

В реальной жизни - можно, если есть веская причина.

Например, когда нужно передать тело запроса (сложный фильтр или большой список параметров), то выбирают POST, даже если данные просто читаются.
GET не поддерживает тело, а длина адресной строки ограничена.

🔸На собесе можно сказать так:
Да, можно, если запрос большой или нужно скрыть данные. Главное понимать, зачем.

🔸И закрепи коды, которые стоит помнить
➡️ 200 - всё хорошо.

➡️ 201 - создан новый ресурс.

➡️ 204 - успех, но без тела

➡️ 400 - ошибка в запросе.

➡️ 401 - не авторизован.

➡️ 403 - доступ запрещён.

➡️ 404 - не найдено.

➡️ 500 - ошибка на сервере.


Любимый вопрос интервьюеров: чем отличаются 401 и 403?

Простой ответ:
➡️ 401 - пользователь не авторизован.
➡️ 403 - авторизован, но прав нет.

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩
📎PUT и PATCH - не одно и то же

PUT заменяет ресурс целиком.
Если передать в PUT половину данных, то сервер может “стереть” остальное.

PATCH обновляет только указанные поля.
А вот PATCH аккуратнее, он просто дополняет.
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

📎Про безопасность

Не стоит использовать GET для передачи конфиденциальных данных.
Все параметры в этом случае видны в URL, могут попасть в логи или историю браузера.
Для таких случаев лучше подходит POST, потому что его тело не отображается в адресной строке.

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩
📎А ещё про версии API

REST-сервисы живут годами.
Методы меняются, поля добавляются, что-то устаревает.
И если просто взять и “обновить под новую логику” старые интеграции сломаются.
Чтобы этого не случилось, вводят версии API.

🟢Обычно это выглядит так:
➡️ /api/v1/user/get
➡️ /api/v2/user/get


Версия v1 продолжает работать как раньше,
а v2 добавляет новые поля или правила.
Если ты описываешь API в документации, всегда указывай, какая версия актуальна и что изменилось.
И добавляй мини-блок “История изменений” - он экономит часы на переписке.

📎 И напоследок, ещё каверзный вопрос:
Почему PUT идемпотентен, если он меняет данные?

Отвечай так:
Потому что при втором вызове состояние уже не меняется, результат будет тот же.


В целом REST несложная штука.
Главное понимать, как она устроена и какие последствия у каждого запроса)

💬 Если тебя хоть раз спрашивали про идемпотентность и ты начал тянуть время, вспоминая примеры, этот пост можно считать репетицией.
Сохрани, пригодится!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
🧾 Как аналитикам описывать API в Confluence

Хорошее описание API экономит часы работы!
Если спека написана понятно, разработчик реализует метод без уточнений, а тестировщик проверит всё без лишних вопросов👍
С чего начать 👇

1️⃣Начни с короткого контекста:

⚪️зачем вообще нужна интеграция?
⚪️кто кого вызывает?
⚪️в каком случае срабатывает обмен?
Пара предложений и человек уже понимает, что делает этот API, даже не глядя в JSON.👍

2️⃣Добавь базовые параметры:
Эта информация всегда нужна первой👇

⚪️протокол: HTTP или HTTPS
⚪️формат данных: JSON или XML
⚪️тип API: REST или JSON-RPC
⚪️способ авторизации: токен, сертификат, логин/пароль
⚪️кодировка.
Без этого даже лучший пример не спасёт...😞

3️⃣Распиши методы
После небольшого описания концепта начинается структура.
Пиши одинаково для всех методов, чтобы глаза не спотыкались, вот пример 👇

Метод: POST /user/create
Назначение: создаёт пользователя
Входные данные: email, password
Ответ: статус и id пользователя
Пример запроса:
{
"email": "user@mail.ru",
"password": "1234"
}

Пример ответа:
{
"status": "ok",
"userId": 42
}


4️⃣ Укажи ошибки
Не обязательно составлять целый справочник, достаточно короткого списка👇

400 👉 неверный формат запроса
403 👉 доступ запрещён
404 👉 не найдено
500 👉 ошибка на сервере

5️⃣Покажи последовательность
Если методы связаны между собой, то добавь один абзац об этом👇
Сначала /auth/login, потом /user/getInfo.
Если первый вызов неуспешен
👉 возвращаем 401, дальше не идём.

Так тестировщикам проще понимать, что и за чем идёт.

6️⃣Подпиши версию и изменения (это опционально)
Если API развивается, всегда указывай версию: /api/v2/user/get.
А под методами добавь блок “Что изменилось”:
⚪️новые поля
⚪️форматы
⚪️статусы
Через месяц это сэкономит тебе больше времени, чем кажется)

Если держать эти советы перед глазами, то спека будет читаться как хороший сценарий:
понятно, кто что делает, какие данные передаются и где могут быть ошибки.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
📬 Брокеры сообщений: зачем они нужны

Иногда одна система хочет отправить данные другой, но та в этот момент занята, упала или просто отвечает слишком долго.
Если связывать их напрямую, то всё повиснет.
Поэтому между ними ставят посредника➡️брокер сообщений

🤔 Что делает брокер

Он принимает сообщение, бережно складывает его в очередь и передаёт дальше, когда получатель готов.
📎Как почтовое отделение: ты отправил письмо, ушёл по делам, а адресат заберёт, когда дойдёт
Главное - письмо не потеряется.📎

⁉️ Как всё устроено
➡️Продюсер (отправитель) публикует сообщение.
➡️Брокер сохраняет его в очередь.
➡️Консьюмер (получатель) забирает, когда готов обработать.
Если получателей несколько - брокер может отправить сообщение всем сразу.


😐 Зачем это нужно
☑️Чтобы данные не терялись, даже если один сервис “лежит”
☑️Чтобы разгрузить системы и не заставлять их ждать друг друга
☑️Чтобы можно было обрабатывать события асинхронно, в фоне.


🙂 Пример из жизни
☑️ Интернет-магазин получил заказ.
➡️ Система заказов отправляет сообщение в очередь: “новый заказ создан”.
➡️ Дальше его подхватывают другие сервисы: склад резервирует товар, бухгалтерия создаёт документ, доставка строит маршрут.

💾Если один из них временно недоступен - ничего страшного.
Брокер дождётся и передаст сообщение, как только тот вернётся.


💾Популярные брокеры
RabbitMQ ➡️ простой и надёжный, с очередями и подтверждениями доставки.
Kafka ➡️ для больших потоков событий и быстрой обработки.
ActiveMQ, Redis Streams ➡️ встречаются реже, но делают то же самое.


🤨Что важно знать аналитику
✔️Кто отправитель, а кто получатель
✔️Какой формат сообщения (JSON, XML, просто текст)
✔️Что делает система, если брокер недоступен
✔️Как обрабатываются ошибки и повторы.

☝️Брокер - это связующее звено между системами.

💬 Если на проекте всё ломается, когда один сервис падает, то возможно, что там как раз не хватает брокера)
Сохрани этот пост, пригодится, когда дойдёшь до Kafka или RabbitMQ.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42