🔐 Что же такое JWT, access token и refresh token
и почему это тебя постоянно разлогинивает☹️
⤵️ Наверняка у тебя бывало такое:
сидишь себе спокойно на сайте, занимаешься своими делами…
и вдруг раз:
👉 сессия истекла
👉 нужно войти снова
👉 авторизуйтесь повторно
А ты такой:
😐 да я буквально десять минут назад заходил...
🟠 🟠 🟠 🟠 🟠
⤵️ На самом деле за этим стоит довольно важная техническая штука,
с которой аналитики сталкиваются буквально на каждом шагу.
⤵️ Речь идёт о🤩 токенах авторизации🤩
и чаще всего в их устройстве встречаются:
🪵 JWT-токен
🪵 access token
🪵 refresh token
Звучит это куда страшнее, чем работает на самом деле))
🟠 🟠 🟠 🟠 🟠
🤔 Если попробовать объяснить совсем просто:
😔 Когда ты вводишь свой логин и пароль,
то сервер их проверяет и как бы говорит:
😔 После такой проверки сервер выдаёт тебе access token,
это такой специальный временный ключ доступа.
😔 Теперь каждый раз, когда ты обращаешься к сайту,
клиент (фронт) отправляет этот токен вместе с запросом, словно говоря:
🟠 🟠 🟠 🟠 🟠
⤵️ И вот тут мы подходим к JWT (или JSON Web Token)
Это просто один из популярных форматов, в котором такой токен может быть сделан.
Внутри него обычно содержится вся нужная информация:
👉 кто ты как пользователь
👉 до какого момента этот токен вообще действителен
👉 какие у тебя есть права или роли в системе
и, конечно, специальная подпись, чтобы никто не смог подделать этот токен.
😔 Так что это вовсе не какая-то "магическая строка", а вполне чётко организованные данные.
🟠 🟠 🟠 🟠 🟠
💙 Но есть одна загвоздка.
❌ Если access token будет действовать вечно, это становится небезопасно.
🟠 🟠 🟠 🟠 🟠
⤵️ И чтобы пользователю не приходилось постоянно заново вводить пароль,
когда access token истечёт, придумали🤩 refresh token🤩
💙 Access token можно представить как одноразовый пропуск, чтобы пройти в офис.
💙 А refresh token это как твой постоянный документ,
по которому можно прийти и получить новый временный пропуск🤭
😔 Когда срок действия access token заканчивается:
👉 фронт направляет серверу refresh token
👉 сервер внимательно его проверяет
👉 и, если всё в порядке, выдаёт новый access token.
При этом обычный пользователь чаще всего вообще ничего такого не замечает)
🟠 🟠 🟠 🟠 🟠
⤵️ А вот если и refresh token уже просрочен или по каким-то причинам стал недействительным,
тогда тебя и выкидывает на страницу входа.
😔 Вот почему иногда сайт:
👉 просто спокойно обновляет твою сессию, и ты продолжаешь работать
а иногда:
👉 требует войти заново
🟠 🟠 🟠 🟠 🟠
🤩 И зачем, спрашивается, всё это полезно понимать аналитику?
⤵️ И в задачах то и дело всплывают вопросы, например:
🟠 🟠 🟠 🟠 🟠
🚩 И вот в такие моменты очень здорово помогает
не просто знать, "что нажать в интерфейсе",
а понимать, что на самом деле происходит внутри под капотом.
🚩 Ведь чем дальше ты растёшь в аналитике,
тем чаще начинаешь видеть систему как единое целое,
а не просто набор отдельных экранов😊
и почему это тебя постоянно разлогинивает
сидишь себе спокойно на сайте, занимаешься своими делами…
и вдруг раз:
А ты такой:
с которой аналитики сталкиваются буквально на каждом шагу.
и чаще всего в их устройстве встречаются:
Звучит это куда страшнее, чем работает на самом деле))
то сервер их проверяет и как бы говорит:
👍 "Хорошо, этому пользователю можно доверять"
это такой специальный временный ключ доступа.
клиент (фронт) отправляет этот токен вместе с запросом, словно говоря:
🫶 Привет, это снова я, пропустите плиз
Это просто один из популярных форматов, в котором такой токен может быть сделан.
Внутри него обычно содержится вся нужная информация:
и, конечно, специальная подпись, чтобы никто не смог подделать этот токен.
Представь, если его кто-то украдёт, то получит доступ навсегда😬
Поэтому access token обычно не живёт долго:👉 всего пять минут, или полчаса, но максимум час
когда access token истечёт, придумали
по которому можно прийти и получить новый временный пропуск
При этом обычный пользователь чаще всего вообще ничего такого не замечает)
тогда тебя и выкидывает на страницу входа.
а иногда:
Да потому что авторизация встречается буквально везде, куда ни глянь:👉 в личных кабинетах на сайтах👉 в мобильных приложениях👉 при настройке различных интеграций👉 в работе с API👉 в админках разных систем👉 да и в корпоративных системах тоже.
💙 где хранится этот самый токен💙 в какой момент он обновляется💙 что мы делаем, если его срок действия закончился💙 как фронт должен реагировать на ошибку 401💙 и как правильно разлогинивать пользователя
не просто знать, "что нажать в интерфейсе",
а понимать, что на самом деле происходит внутри под капотом.
тем чаще начинаешь видеть систему как единое целое,
а не просто набор отдельных экранов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2👍1
то чаще всё это превращается в какой-то набор совершенно незнакомых слов:
И становится особенно весело, когда видишь какой-нибудь url, который кажется длиной в половину твоей жизни
Очень многие, когда только начинают,
просто берут и механически копируют URL из того же Postman или Swagger, не особо вникая:
и почему вдруг всё это разваливается на части из-за одного единственного символа
Поэтому сегодня мы собрали для вас такую, прямо скажем, полезную шпаргалочку:
Причём мы не просто даём голую теорию, а разбираем всё это с примерами)
читать любую API-документацию, разбираться в DevTools,
понимать, как устроены запросы в Postman
и уже не пугаться длинных URL-адресов в логах))
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4💯3
📈 Есть ощущение, которое рано или поздно накрывает многих аналитиков.
👉 Вроде бы внешне ничего особо не изменилось:
ты всё так же ходишь на созвоны, пишешь требования, обсуждаешь задачи.
👉 Но внутри уже начинаешь замечать:
💙 задачи стали даваться легче
💙 в новых системах разбираешься быстрее
💙 к тебе всё чаще приходят что-то уточнить или посоветоваться
👉 Ну и мысль наклёвывается:
😐 а я вообще всё ещё на том же уровне?
🟠 🟠 🟠 🟠 🟠
Самое интересное, что рост в аналитике редко ощущается резко...
👉 нет такого, вчера был джуном, а сегодня проснулся сеньором)
👉 Обычно это очень такой..незаметгный процесс:
➖ тебе начинают давать более сложные задачи,
➖ потом подключают к важным обсуждениям,
➖ потом ты внезапно становишься человеком, который:
может разобраться/сходит уточнит/дожмёт задачу/поймёт, отчего вдруг всё рухнуло
👉 И только спустя время доходит:
🫠 ответственности, знаний и нагрузки уже сильно больше, чем раньше.
🟠 🟠 🟠 🟠 🟠
При этом зарплата иногда будто вообще не замечает
твоего внутреннего апгрейда))
и вот это уже довольно обидно..
👉 потому что ты уже работаешь сильно иначе, мыслишь иначе, берёшь на себя больше,
а по бумагам можешь всё ещё оставаться на прежней позиции, вроде бы...
🟠 🟠 🟠 🟠 🟠
💙 Причём многие очень долго обесценивают свой рост.
Кажется, что "ну это все умеют", "я просто привык", "да я ещё не настолько сильный"
👉 Хотя если посмотреть на себя год назад - разница уже огромная.
Ты быстрее понимаешь задачи, лучше чувствуешь систему, меньше тонешь в информации
и уже совсем по-другому разговариваешь с командой.
❗️ И это как раз тот рост, который не всегда видно сразу, но который очень хорошо ощущается в работе.
🟠 🟠 🟠 🟠 🟠
👉 Проблема только в том, что компании редко сами приходят со словами:
"мы заметили, как ты вырос,
вот тебе новая зарплата👍 "
👉 Так что приходится учиться:
💙 замечать свой уровень
💙 нормально рассказывать о своём опыте
💙 собирать достижения
💙 смотреть рынок
💙 и не бояться ходить по собеседованиям
📌 Потому что быть сильным специалистом и уметь себя продать - это, к сожалению, не одно и то же
ты всё так же ходишь на созвоны, пишешь требования, обсуждаешь задачи.
Самое интересное, что рост в аналитике редко ощущается резко...
может разобраться/сходит уточнит/дожмёт задачу/поймёт, отчего вдруг всё рухнуло
При этом зарплата иногда будто вообще не замечает
твоего внутреннего апгрейда))
и вот это уже довольно обидно..
а по бумагам можешь всё ещё оставаться на прежней позиции, вроде бы...
Кажется, что "ну это все умеют", "я просто привык", "да я ещё не настолько сильный"
Ты быстрее понимаешь задачи, лучше чувствуешь систему, меньше тонешь в информации
и уже совсем по-другому разговариваешь с командой.
"мы заметили, как ты вырос,
вот тебе новая зарплата
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2💯2❤1
💭 Почему Scrum поначалу кажется какой-то непонятной историей
(и что тогда делать аналитику, когда он в это попадает)
✳️ Когда приходишь в айтишку, иногда такое чувство,
что все вокруг говорят на каком-то своём языке😶
😔 Вот, например, слышишь:
- "Возьмём это в следующий спринт"
- "Нужно оценить задачу"
- "Закинем на груминг"
- "Обсудим на ретро"
Поначалу же вообще ничего не ясно, что происходит.
Все только и делают, что совещаются, двигают эти карточки в Jira,
что-то там горячо обсуждают, а ты вообще не шаришь...😕
💡 Но Scrum гораздо понятнее, чем кажется на первый взгляд.
Если уж совсем просто объяснить, то
Scrum - это просто-напросто метод, как команде выстроить работу, чтобы не браться за всё подряд разом и при этом не захлебнуться в задачах.
➖ ➖ ➖ ➖ ➖
➡️ Вот приходит, например, бизнес и озвучивает:
"Нужно переделать личный кабинет"
😔 На первый взгляд ничего страшного, пока не углубишься, ведь внутри кроется:
новый дизайн, изменения API, новые роли пользователей, уведомления, новые поля, изменения логики
😔 И если просто так взять и броситься делать всё сразу, то уже через пару недель можно обнаружить,
что про половину всего благополучно забыли, а вторую половину каждый понял по-своему😶
✅ Вот поэтому и начинают всю работу делить на кусочки поменьше.
И вот тут-то на сцену выходит аналитик.
Думаем, многие поначалу видят это примерно так:
аналитик написал все требования➡️ передал их кому надо ➡️ и пошёл себе дальше по своим делам.
💡 Но в Скраме всё устроено по-другому.
Аналитик же постоянно находится в самой гуще событий, внутри всего процесса:
➡️ активно помогает разбираться в задачах
➡️ отвечает на все возникающие у команды вопросы
➡️ уточняет требования до мелочей
➡️ постоянно взаимодействует с бизнесом
➡️ выискивает те сценарии, которые кто-то мог не учесть
➡️ и вообще помогает не растерять нить логики по ходу дела
‼️ И если свести всё к одной главной мысли, то вот что получится:
Скрам придумали вовсе не потому, что люди без ума от бесконечных встреч😶
Он просто необходим, чтобы вся команда двигалась в одном, чётко заданном направлении и не выяснила спустя месяц,
что каждый из нас на самом деле строил что-то совершенно своё.
(и что тогда делать аналитику, когда он в это попадает)
что все вокруг говорят на каком-то своём языке
- "Возьмём это в следующий спринт"
- "Нужно оценить задачу"
- "Закинем на груминг"
- "Обсудим на ретро"
Поначалу же вообще ничего не ясно, что происходит.
Все только и делают, что совещаются, двигают эти карточки в Jira,
что-то там горячо обсуждают, а ты вообще не шаришь...
Если уж совсем просто объяснить, то
Scrum - это просто-напросто метод, как команде выстроить работу, чтобы не браться за всё подряд разом и при этом не захлебнуться в задачах.
"Нужно переделать личный кабинет"
новый дизайн, изменения API, новые роли пользователей, уведомления, новые поля, изменения логики
что про половину всего благополучно забыли, а вторую половину каждый понял по-своему
И вот тогда-то и всплывают все эти словечки:✳️ Бэклог - это, по сути, такой большой список всего, что нужно сделать, а также разных идей и просто наших "хотелок".✳️ Спринт - это такой небольшой, но чётко ограниченный отрезок времени для работы (скажем, пара недель), за который команда успевает взять и выполнить лишь определённую часть из этого бэклога.✳️ Дейлик - это коротенькая ежедневная встреча, чтобы быстро свериться: все ли идут по плану, или кто-то вдруг застрял и ему нужна помощь.✳️ Ретро - это собрание, где мы вместе думаем, что же у нас пошло хорошо, а что бы хотелось доработать и улучшить.✳️ Груминг - это такая встреча, где команда прямо-таки препарирует задачи, вычищая из них все непонятки и загадки вроде:
"нужно доработать интеграцию"
И вот тут-то на сцену выходит аналитик.
Думаем, многие поначалу видят это примерно так:
аналитик написал все требования
Аналитик же постоянно находится в самой гуще событий, внутри всего процесса:
Иногда вот прямо чувствуешь, что работа аналитика
это буквально собирать один большой пазл из кусочков информации,
что разбросаны между всеми участниками процесса
Скрам придумали вовсе не потому, что люди без ума от бесконечных встреч
Он просто необходим, чтобы вся команда двигалась в одном, чётко заданном направлении и не выяснила спустя месяц,
что каждый из нас на самом деле строил что-то совершенно своё.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥3
(сегодня про Use Case диаграмму)
и, скорее всего, делаешь вот такое лицо
Что это вообще такое?..какие-то человечки, кружочки, стрелочки...
И что, это вот все должно мне что-то объяснить, так, что ли?
чтобы было что приложить к бумагам, так, для отчетности, и ничего больше.
Думаешь, мол: у нас есть требования, есть API, есть логика,
зачем тут еще эти человечки вокруг кружочков бегают, ну совсем же непонятно.
её задача в другом
➖ Сделать восстановление пароля➖
вначале она выглядит до смешного простой:😔 пользователь кликнул кнопку😔 вбил свою почту😔 получил письмо😔 поменял пароль
пользователь/сервис, который отправляет письма/сервис капчи/система авторизации
И вовсе не обязательно, чтобы это был человек.
Это может быть и: пользователь, и администратор, и внешний сервис, а то и вовсе другая система
Например: войти в систему/восстановить пароль/создать заявку
Но, конечно, самое интересное только начинается)
Стоит тебе только начать рисовать Use Case Diagram, как вдруг сами по себе начинают всплывать вопросы:
➖ а кто у нас письмо отправит?
➖ а капчу мы точно хотим сделать обязательной?
➖ а если администратор, он тоже сможет это действие выполнить?
➖ а внешний сервис тут вообще нужен нам, или как?
очень многие сначала стараются запихнуть в Use Case Diagram буквально вообще всю логику системы:
и статусы, и условия, и алгоритмы, да и добрую половину требований туда же
При этом сама Use Case Diagram создана для ответа лишь на один, но очень важный вопрос:
кто вообще взаимодействует с нашей системой и чего он от нее хочет добиться.
а просто потому, что она очень помогает тебе самому не запутаться в какой-то конкретной задаче.
Особенно это заметно на всяких интеграциях))
когда участников становится так много, что их уже больше, чем тех, кто присутствует на созвоне
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4❤🔥1🔥1
"ну что ж, начинается игра в угадайку"
Ведь где-то он занимается сбором требований,
в другом месте проектирует API,
а то и вовсе погружается в архитектуру, подбирает методы интеграции.
что аналитик, проектировщик, да и архитектор
картинка вырисовывается примерно такая:
нам надо организовать вход на платформу через Госуслуги.
Пользователь нажимает кнопку
А вот дальше уже начинается движ
🔴 сперва разбирается, кто вообще может пользоваться входом через Госуслуги
🔴 потом выясняет, что же делать, если у пользователя уже есть аккаунт
🔴 думает, как правильно связать профили
🔴 выявляет, какие ошибки могут возникнуть
🔴 решает, что конкретно показывать человеку
🔴 и, конечно, учитывает все ограничения, которые есть со стороны бизнеса.
То есть аналитик отвечает на вопрос:
что именно у нас тут должно функционировать?
🔴 прикидывает, какие именно методы здесь пригодятся🔴 определяет, что конкретно нужно передавать в запросах🔴 рисует, как станет выглядеть структура ответа🔴 продумывает, как системы между собой станут общаться🔴 и вообще, где у нас будет располагаться та или иная логика
То есть:
как это будет устроено?
и начинает задавать уже другие вопросы:
🔴 сможет ли наше решение выдержать ожидаемую нагрузку
🔴 не сломает ли оно вдруг существующую авторизацию
🔴 понадобится ли нам какая-то отдельная очередь
🔴 как именно обеспечить должный уровень безопасности
🔴 и, главное, не наваливаем ли мы себе сейчас технический долг
То есть:
а всё ли мы делаем правильно, строя это?
ведь на настоящих проектах все эти роли нередко переплетаются:
"У нас аналитики этим не занимаются"
или
"Это работа архитектора"
то сразу хочется уточнить:
а кто у вас, собственно, скрывается под этим словом?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥3
то нужно запомнить истину:
Если ТЗ для дизайнера изначально было не очень,
то даже самый красивый макет вряд ли вытянет ситуацию.
"Нужно сделать страницу регистрации. Чтобы было современно, удобно и красиво".
🔵 Красиво это как? Современно это как?🔵 Кто вообще пользователь? Что он делает?🔵 Какие ограничения есть?🔵 Это новая страница или переделка существующей?🔵 Что обязательно должно остаться?🔵 Есть ли ошибки? Есть ли роли? Есть ли состояния?
И проходит пара-тройка дней, а результат....ну, вы знаете этот сценарий
Хотя на самом деле корень всех бед лежит куда глубже,
и проявился он намного раньше.
Когда мы даём задание дизайнеру, ему ведь не просто красивые пиксели нужны
и не пожелания в стиле "хочу как у Тинькофф", ему нужен контекст.
📌 Что делаем:
Не "новый экран".
А: страница регистрации для новых поставщиков📌 Зачем делаем
Не "так захотел бизнес".
А: "сейчас пользователи не понимают, какой вариант регистрации выбирать, из-за чего растёт количество ошибок".📌 Кто пользователь
Новичок? Опытный пользователь?📌 Какой сценарий проходит человек
Нажал кнопку → открыл страницу → ввёл данные → получил результат📌 Все состояния
Загрузка, Ошибки, Пустые данные, Успех, Ограничения📌 Что нельзя менять
Вот этот пункт почему-то регулярно забывают🙂
А потом оказывается:
"Ой, этот блок нельзя трогать, он приходит из другого сервиса"
или
"Ой, здесь юридический текст обязателен"
или
"Ой, эта кнопка завязана на старую логику"
если правильно поставить задачу дизайнеру, это сэкономит время не только ему,
выигрывают от этого абсолютно все)
разработчик не будет забрасывать уточняющими вопросами,
а тестировщик точно поймёт, что же мы имели в виду под загадочным "удобно".
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Если собрать в одной комнате десять аналитиков и спросить
какой фреймворк самый важный, через пять минут начнётся драка.
а кто-то вообще заявит, что главное это SQL и больше ничего в жизни не нужно.
Складывается впечатление, что нужно срочно выучить все существующие схемы и нотации.
и начинаешь подозревать, что идти в аналитику было ошибкой...
они помогают ответить на конкретный вопрос, разберём:
💭 Он нужен, когда предстоит разобраться в запутанном процессе:
Кто и что делает, в какой момент времени, какое действие запускает следующий шаг.✅ Если вы работаете с согласованиями, сложными закупками или документооборотом,
то этот инструмент здорово упростит вам жизнь.
💭 Диаграмма последовательности UML работает иначе.
Она нужна для понимания того, как системы общаются между собой:
кто кого вызывает, какие методы при этом дергаются и что возвращается в ответ.✅ Это спасает при интеграциях, когда в цепочке участвуют хотя бы пять сервисов,
обсуждать их на словах трудно, люди просто не могут удержать всю эту архитектуру в голове.
💭 ER диаграмма помогает разобраться с данными.
Вы смотрите на нее и понимаете, какие сущности есть в системе, как они связаны и где лежат.✅ Это очень выручает, когда вы раскапываете новую для себя систему или проектируете изменения в базе данных.
💭 USM позволяет разложить крупную задачу на понятные пользовательские сценарии.✅ С ней гораздо проще договориться, что реально нужно для первой версии продукта,
а что можно спокойно отложить на потом.
💭 А вот CJM смещает фокус на самого человека.
Эта карта показывает систему глазами пользователя:
где он путается, на каком шаге начинает злиться и где вообще бросает процесс на середине.✅ Это нужно, чтобы понять поведение людей, а не техническую сторону проекта.
Компании не нанимают аналитика только за умение красиво рисовать схемы,
а нанимают за способность разобраться в процессе и найти решение.
Просто иногда нарисовать BPMN оказывается самым быстрым способом объяснить этот процесс команде,
то же самое касается UML, ER и любых других инструментов.
попробуйте начать не с заучивания значков)
Выучить обозначения можно за пару вечеров,
но гораздо важнее понять, когда их действительно стоит применять на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍4
Вот сидишь на груминге, всё выглядит максимально безобидно:
👉 взять данные из соседней системы👉 другая команда даст апишку👉 мы вызовем метод👉 и нужные данные отобразятся
Звучит как задача на пару дней)
За несколько лет работы мы заметили, что большинство проблем возникает вокруг одних и тех же вещей
Никто не договорился, кто за что отвечает
одна команда считает, что поле должно заполнять другая команда,
вторая команда считает ровно наоборот.
Итог? Поле пустое, сроки уже горят,
а на созвоне человек десять судорожно пытается понять, чья же это, в конце концов, головная боль.
Поэтому на этапе проектирования полезно задавать скучные вопросы:👉 кто владелец данных?👉 кто отвечает за их хранение?👉 а за актуальность кто?👉 кто исправляет ошибки?
Чем раньше мы расставим все точки над "и", тем меньше потом будет сюрпризов.
Интеграцию проектируют по счастливому сценарию
запрос отправился
👉 что если сервис вдруг недоступен?
👉 или ответ придёт не сразу, а через полминуты?
👉 а если вдруг статус вернётся совсем не тот, что мы ждали?
👉 что, если пришла пустая структура, хотя должна быть?
👉 или данные вроде есть, но заполнены как-то не полностью?
Именно поэтому один из самых полезных вопросов на обсуждении интеграции:
"а что будет, если всё пойдёт не по плану?"
Документация не совпадает с реальностью
видел поле string, а потом получал в него целый массив объектов...
Все считают, что данные всегда будут идеальными
👉 ИНН без ИНН
👉 дата без даты
👉 пустые строки вместо значений
👉 лишние пробелы
👉 неожиданные спецсимволы
👉 дубликаты
Если данные приходят из внешней системы, рано или поздно кто-нибудь обязательно пришлёт что-нибудь интересное.
Вопрос лишь в том, когда это случится)
Забыли про версионирование
Но пройдёт год, появится новая версия метода, а потом ещё одна.
Кто-то решит изменить структуру ответа.
"Ээ, а какой контракт сейчас используется в проде?"
иначе однажды можно узнать о новой версии метода прямо из упавших логов,
которые внезапно покраснели.
Они появляются на этапе, когда команды что-то не договорили, не уточнили или решили проверить потом.
а с кучи, порой неудобных, вопросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3🔥2❤1
"разберись, как он работает" - тут-то и начинается совсем другая игра.
Ведь пользователи редко говорят все как есть.
А бывает, что и вовсе рассказывают не то, чем занимаются на самом деле.
а в ответ: "почти каждый день!"
Откроешь потом статистику, а там последний раз человек заходил три месяца назад...
и такие штуки происходят постоянно.
Это, по сути, попытка вытянуть наружу, как человек реально себя ведет, что делает.
✖️ Плохой вопрос: "Вам удобно работать с системой?"👌 Хороший вопрос: "Покажите, как вы выполняли эту задачу в последний раз."
В первом случае человек начнет рассуждать, давать оценку.
Во втором – покажет, что происходит на практике.
А практика, как правило, намного интереснее, чем любые рассуждения..
⭐ Пример диалога:
- Вам было сложно найти эту кнопку?
- Наверное, да.
- А если бы мы перенесли её наверх, стало бы удобнее?
- Наверное, да.
Через пять минут такое интервью превращается в игру, где надо угадать правильный ответ, который ждет аналитик.
Чем меньше подсказок в вопросе, тем лучше.👀
Парадоксально, но иногда аналитик занимает процентов восемьдесят времени интервью.
Объясняет, уточняет, рассказывает про будущие доработки, делится идеями.
А потом встреча заканчивается, и оказывается, что про пользователя почти ничего нового не узнали.👊
😋 Это вообще любимая ловушка.
Аналитик уже придумал решение и теперь задает вопросы так, чтобы услышать именно нужный ему ответ.
После такого интервью можно получить подтверждение буквально любой идеи,
вот только толку от этого немного...
Самые полезные фразы на интервью:
"Покажите, пожалуйста"/"А можете продемонстрировать?"/"Как это выглядит в системе?"😔 Потому что между словами пользователя и его реальными действиями иногда лежит целая пропасть.
Любой аналитик хотя бы раз слышал фразу "да тут всё просто".
После чего открывался экран с двадцатью вкладками, тремя Excel-файлами и инструкцией на сорок страниц.
Они нужны, чтобы понять, как человек работает на самом деле,
а это далеко не всегда одно и то же.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1❤🔥1💯1
Кажется, что весь айти мир
и слышит от коллег:
Значит так, раз в пятнадцать минут мы забираем XML-ку с того FTP-сервера, а после обработки кладем ответ в папку рядом.
И тут наступает легкий шок...
в банках, крупных корпорациях и госсекторах.
Эта схема настолько элементарна, что может стабильно работать десятилетиями.
Одной стороне нужно просто создать файл, другой его забрать и прочитать.
Не нужно поддерживать постоянное соединение, не нужно переживать, доступна ли вторая система прямо в эту секунду.
так как за ней скрывается серьезная техническая логика.
🪵 как система должна реагировать на дубликаты файлов?🪵 можно ли обработать документ, если из нескольких тысяч записей в нем некорректна только одна?🪵 каким образом подтверждать успешное получение данных или сообщать об ошибках?
Если в REST можно открыть Swagger, быстро дернуть запрос и посмотреть ответ, то здесь весь контракт зашит в структуру файла.
Лишний атрибут, не тот формат даты или какой-то странный символ в строке - и процесс встанет.
В нем нет хайпа или сложной событийной архитектуры, но есть стабильность.
Пока мы рассуждаем о технологиях будущего,
какой-нибудь старый добрый XML-файл прямо сейчас спокойно делает свою работу, даже не зная, что его уже десять лет пытаются отправить на пенсию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2💯2