Analyst Boost. Никита Харичкин – Telegram
Analyst Boost. Никита Харичкин
5.73K subscribers
41 photos
5 videos
4 files
97 links
Лучшие практики, опыт, инструменты, статьи и мысли на тему как системного и бизнес-анализа, так и карьеры в целом.
Запись на курс AnalystBoost: @avtolicsipu
Download Telegram
👋🏻 Меня зовут Никита Харичкин @avtolicsipu

🚀 Я создатель курса Analyst Boost, на котором:
• Готовлю системных аналитиков с 0
Готовлю действующих аналитиков до оффера на нынешнем непростом рынке
Помогаю практикующим специалистам прокачать навыки

🛩
Консультирую по карьере, резюме, plantUML и прочему в формате технических менторских сессий

👨‍💻 Являюсь системным аналитиком в AI/LLM домене. Ранее — тимлид команды системных аналитиков в СалютДевайсах и глава центра компетенций подразделения

👨🏻‍🏫 Ранее преподавал в альма-матер в учебном центре Калашникова при МФТИ

🎤 Выступал на многих конференциях: международные Analyst Days 12 и 14; Analyst Marathon 6; Sber Meetup; Flow 2022

🥇 Победил в хакатоне SberCode 2020
👀 О чём этот канал? 👀

Здесь я буду делиться с сообществом лучшими практиками, опытом, инструментами, интересными статьями и своими мыслями на тему как системного и бизнес-анализа, так и карьеры в целом.

👇 Основные теги канала (надо нажать на него, и откроется подборка по теме)

#нотации
#артефакты
#лайфхаки
#инструменты
#процессы
#мысли
#статьи
#доклады
#книги
#подборка
🤩1
Нотации: кто такие и зачем нужны?

Нотация — совокупность графических элементов, применяемых в моделях. Т.е. это система условных обозначений, которая закрепляет:
• Каким образом мы отражаем на диаграмме процессы, операции, события, объекты и прочие сущности,
• По каким правилам соединяем их между собой,
• Как их следует интерпретировать.

Иногда, имея в виду нотацию в определённом выше смысле, говорят о понятиях "методология" или "метод". Для первого знакомства перечислим лишь некоторые нотации, о которых стоит знать аналитику. От субъективно наиболее популярных глобально к более редким:
UML: Unified Modeling Language
BPMN: Business Process Model and Notation
ER: Entity-Relationship
DFD: Data Flow Diagram
IDEF семейство: I-CAM DEFinition или Integrated DEFinition
EPC: Event-driven Process Chain
ARIS: Architecture of Integrated Information Systems
CPN: Coloured Petri Net
Блок-схемы, ГОСТ 19 и 34 и ДРАКОН: Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность.

#нотации | Analyst Boost
🔥2
PlantUML — инструмент отрисовки диаграмм из текста

♦️ Diagram-as-a-Code подход: изображения идемпотентно генерируются из псевдокода. Код лёгок для восприятия и прост в сопровождении чужих наработок.

♠️ Компиляция моментальна: редакторы подсветят некорректный синтаксис, поправят картинку на лету и выдадут файл в LaTeX , PNG и SVG расширениях. Последний интерактивен с гиперссылками.

♣️ И онлайн, и офлайн: работайте хоть из браузера с любого устройства, хоть локально в IDE, чтобы не бояться рабочего VPN, плохого интернета и утечек чувствительных данных.

♥️ Интеграция git: отслеживайте изменения, ведите совместную командную работу над end-to-end сценарием, не мешая друг другу

🃏 Open Source популярность: PlantUML дорабатывается сообществом и встроен во многие системы, например, Confluence. Полный список здесь: ссылка.

#инструменты | Analyst Boost
🔥1
Как правильно "кодить" в PlantUML?

🌜Локально🌛
▪️Git: скачать
○ Ctl+Shift+X (Вкладка View → Extensions): PlantUML (by jebbs)
○ Скачать: java || graphviz
○ Github.vscode-pull-request-github || видео и инструкция.

▪️Visual Studio Code: скачать
○ Обновить preview: Alt+D (Option+D)
○ Курсор строго между @ startuml и @ enduml
○ Command Palette (F1 или Ctrl+Shift+P) и набираем команду: Export Current Diagram. Доступны:
○ PNG, SVG, EPS, PDF, VDX, XMI, SCXML, HTML, TXT, UTXT, LaTeX

▪️Редактор Atom: скачать
○ file → settings → install: plantuml-viewer или plantuml-preview
○ !function и некоторые другие фишки не поддерживаются

🌜Онлайн🌛
Kkeisuke редактор
Planttext редактор
Оригинальный редактор
Confluence Macro

#лайфхаки | Analyst Boost
🔥4
🤫 Тихий уход aka Quiet Quit 😶‍🌫️

Это оттенок выгорания в эпоху экономической неуверенности: вместо "громкого" явного ухода с декларацией намерений и конкретным сроком получается "трудовая внутренняя эмиграция". Коллега молчаливо (тихо) отказывается от выполнения задач сверх минимально одобряемого плана и делает всё, чтобы просто удержаться на своём месте. Амбиции что-то улучшить, достичь и развиться заменяются на режим "экономии заряда".

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

Как с этим бороться? Я бы сказал, что, как обычно — честным регулярным диалогом. Завести one-to-one раз в неделю и без спешки обмениваться мыслями на все темы, и да, даже не только на рабочие. Дайте понять коллеге, что вы тоже человек со своими чувствами и переживаниями, поделитесь с ним, как лично вам удаётся самосохраняться. Постарайтесь закреплять отметки, к которым хотелось бы прийти, будьте открыты, дружелюбны и не давите.
Статья на тему: ссылка.

#мысли | Analyst Boost
🔥8
♨️ Импорт внешних данных внутрь диаграммы PlantUML ♨️
PlantUML позволяет включать файлы подобно импорту библиотек. На картинке приведён весь код отрисованного агрегата, кроме служебных start/enduml:

🅾️ BaseURL
Описание локальной функции по возврату базового URL вашего пространства к импортируемым файлам

🅰️ Прямой импорт файла
Необходимо вставить !include в нужное место диаграммы-агрегата в вашем коде.

🅱️ Вставка в функцию
Вызываем заданную выше функцию BaseURL и передаём ей название файла или путь к нему.

🆑 Процедура %LoadJSON
Внешняя процедура, позволяющая загрузить json по ссылке. Можно картинкой или кодом, но без json-форматирования.

🆘 Возможные трудности
• Alias’ы участников должны совпадать по всем диаграммам
• Будет применён тот параметр отображения, который встретился в коде последним (например, MaxMessageSize применяется = 100. Аналогично для прочих, общих на весь файл параметров)
• Импорт не сработает, если безопасность не разрешает доступ из вашего контура вовне

#лайфхаки | Analyst Boost
🔥2
🎯 Основные принципы курса 🎯

Analyst Boost
— это не потоковое производство с большим количеством случайных людей.
Analyst Boost — это менторство и личная работа с каждым над его уникальным артефактом с полным сопровождением на всём пути.

Analyst Boost — это не разрозненные куски домашней работы, схожие по содержанию среди обучающихся.
Analyst Boost — это единый, цельный и уникальный проект, который свеж на идею и привлекателен для работодателя своей “нешаблонностью”.

📖 Подробную программу можно найти здесь: ссылка с перенаправлением.

#объявления | Analyst Boost
🔥6🤩2
🕺🏻Набор в осенний поток окончен! 💃🏻
Начинаем занятия с группой в эту среду, 5.10 в 19-00 по Мск.
Самое первое занятие — обзорное, бесплатное. Кому интересно узнать про курс от меня вживую — пишите @avtolicsipu, приходите на занятие, всех жду. Это последний шанс занять дополнительное место в нашей уютной группе.

А теперь возвращаемся к классическим постам в канале.
🧶 Неоднозначные термины, слова-ловушки 🧵

Недвусмысленность и проверяемость — важные критерии качества требований. Ниже приведены "опасные" для употребления термины и способы борьбы с ними. Рекомендуется включить в чек-лист ревью артефакта и пробегать их ctrl+F'ом. Основано на списке от Карла Вигерса.

🌵Приемлемый, адекватный, выполнимый, эффективный, цельный, прозрачный, бесшовный, достаточный, реальный || Указать, как система это может проверить, оценить. Задать конкретные измеримые значения. Указать степень параметра, свидетельствующего о достаточности

🎄Быстрый, мгновенный, моментальный || Задать конкретные значения скорости и быстродействия

🌲Дружественный, простой, лёгкий || Описать системные характеристики, закрывающие потребности пользователей по лёгкости, простоте и пр.

🌳Улучшенный, более быстрый, превосходный || Задать значение дельты изменения, либо итоговую величину

🌴Поддерживает, позволяет || Определить, действия системы, поддерживающие конкретную возможность

🌱Включает, такой как || Привести полный список элементов

🌿По меньшей мере, как минимум, не более чем, не должно превышать, между, несколько, максимизируйте, минимизируйте, оптимизируйте || Задать явно границы: 0 < N < 10

☘️Обычно, в идеале, устойчивый к сбоям || Описать исключения и отклик системы при нештатных условиях

🍀Гибкий, А зависит от Б, разумный, при необходимости, при соответствующих условиях || Переформулировать в "если <условие>, то <действие>"

🪴Необязательно, опционально || Указать, кто делает выбор: система, пользователь или разработчик

🍃Не следует, не должен, не <глагол> || Формулировать только в утвердительной форме (без НЕ), описывая ДЕЙСТВИЯ, а не бездействие системы, т.к. второе не нуждается в реализации.
Вместо "Без ID система не должна обработать запрос" писать "Система должна обработать запрос только при наличии ID"

#лайфхаки | Analyst Boost
🔥9🤩4
🧑‍🎤 Конференция Analyst Days EA 1 👩‍🎤
Выложены материалы:
🎬 Плейлист видео докладов (здесь — с англ. версиями)
🎼 Программа и презентации (см. внутри каждого доклада)

🎰 Как фанат автоматизации, хочу обратить внимание на доклад "Documentation-as-Code или как мы источники платформы данных описываем" коллег из СберЗдоровья, которые использовали интересный инструмент datahubproject.io.

🎗Спасибо организаторам за столь скорую публикацию.

#доклады | Analyst Boost
🔥10
🫲 Что повторить перед собеседованием? 🫱
Инсайты от Tinkoff и мои рекомендации одним постом

1. Спецификация OpenAPI | Инструмент Swagger Editor | Документирование REST API от starkovden
2. Очереди и (а)синхроннщина. Различия и причины выбора
3. Микросервисы | Паттерны работы с ними
4. SOAP vs REST vs GraphQL vs gRPC | HTTP Методы и ошибки| Идемпотентность
5. Кэширование данных, реализация инвалидации
6. Обратная совместимость и версионирование API
7. Нефункциональные требования от babok-school
8. Kafka и её компоненты | Принципы работы
9. СУБД | (Не)реляционные БД, виды, различия | Книга NoSQL Distilled | Ключи в БД | Нормальные формы + wiki
10. Табличные индексы: Необходимость | Корректность | Последствия | Уникальность | Оптимизация
11. План запроса в PostgreSQL | EXPLAIN | ANALYZE
12. Транзакции | Хабр | ACID, CAP | Видео | План выполнения запроса | Шаблон Saga
13. Партиционирование | Шардинг | Секционирование
14. SQL на тренажёрах: SQL Academy | SQL-ex

⚾️ Лично дополнительно рекомендую 🥎
15. Хореография и оркестрация (доклад). Плюсы, минусы | Способы реализации
17. Сергей Константинов про API
18. Ещё REST | RESTful | JSON | Цикл статей от Ranga Karanam
19. JSON-RPC | Лучше REST'а? | Надёжнее REST'а?
20. Пробный тест от Neoflex
21. Брайан Кукси. An introduction to APIs

#подборка | Analyst Boost
🔥36🤩2