Системный сервант – Telegram
Системный сервант
2.78K subscribers
22 photos
52 links
Заметки про IT, системный анализ и интеграции

Если вам нравятся мои материалы и вы хотите меня отблагодарить - буду рада вашим донатам:
https://yoomoney.ru/fundraise/1AG54A24D2C.250526
paypal.me/TatianaS44


Связаться @tsalnikova
Рекламу не продаю
Download Telegram
Посмотрела классный TED про то, что люди тупят и это нормально. По-умному, про когнитивные искажения.
Видео натолкнуло на размышления о ресурсах, которые мы тратим на создание иллюзии «разумности». И о бесполезности этих трат.

Столько сил уходит только на то, чтобы окружающие и мы сами про себя думали, что мы рациональны, умны, принимаем верные и взвешенные решения. И чтобы никто и никогда нас не поймал за какой-то глупостью: тупым вопросом о том, что ты «должен знать», нелогичным высказыванием, ошибочным действием.

У работников интеллектуального труда, особенно руководителей и «лидеров мнений», это подстегивается мнимой связью с профессиональной репутацией. И, как следствие, боязнью ее потерять. Когда этот страх берет верх, вся команда старательно делает хорошую мину при плохой игре. Никто не понимает свои сильные и слабые стороны, но все продолжают стоять на своем в демагогических спорах. В результате неглупые вроде бы люди тратят месяцы жизни на имитацию полезной деятельности с нулевым выхлопом.

Да, иногда страшно показывать, что ты чего-то не знаешь. Но в большинстве случаев задать тупой вопрос совсем не опасно. Даже если при этом ты обнаружишь свою тупость - это будет менее тупо, чем не воспользоваться возможностью стать менее тупым, задав вопрос. Вот как-то так🤷🏻‍♀️

Это такой фокус про «я знаю, что ничего не знаю». Если действительно с этим согласиться и принять себя таким - становится заметно легче и веселее. Перестает давить груз необходимых знаний и непогрешимых умений. Не висит дамокловым мечом установка, что ты «должен вот это знать и уметь и не должен ошибаться». Появляется простор для маневра. Ты снова можешь двигаться вперед.

Посмотрела этот TED и поймала себя на мысли - каждый раз, забравшись на новую ступень развития, я замираю в страхе и нерешительности. Я до ужаса боюсь оказаться "недостойной" этой новой высоты и скатиться обратно. Каждый раз, до этого видео и этого поста, мне требовалось несколько месяцев, чтобы перестать панически следить за собой - чтобы случаем не выдать свое «самозванство», а на деле просто возможность ошибаться. И этот период страха и скованности - это период без роста. Это период тревожности и накопления усталости. Самое плохое, что эта тревожность не дает гарантии, что я не ошибусь. Но дает иллюзию, что, будь я всегда начеку - ошибка менее вероятна.

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

Вот этот TED (есть русские субтитры):
https://www.ted.com/talks/dan_ariely_asks_are_we_in_control_of_our_own_decisions

Кстати, с 5й минуты эпичная пасхалка для тех, кто проектирует интерфейсы - почувствуйте свою мощь💪
🔥1
Про позитивную коммуникацию и человеков

Когда-то я работала на первой линии поддержки и страдала.
Помимо поддержки у меня было много других задач. Над некоторыми из них нужно было сидеть и сосредоточенно думать. А люди, которые звонили по номеру 8-(800), ничего не знали о моих задачах. У них просто была проблема и этот номер телефона.

И вот мне приходилось выслушивать жалобы пользователей, причем не только на наше приложение, но и на всю эту дурацкую жизнь. Просить их подождать, а через 2 часа опять беспомощно поднимать трубку, чтобы рассказать, что проблема еще не решена и разработчики не могут ее решать быстрее (хотя скорее всего могли). Я уставала, злилась, впадала в уныние.

А потом как-то прочитала замечательную статью на хабре «Осторожно: высокое напряжение, или когда техподдержке нужна поддержка» (https://habr.com/ru/company/parallels/blog/325912/). И жизнь перестала быть прежней. Никогда бы не подумала, что фраза «Я Вас понимаю» способна на такие чудеса: она прекращает крик, делает из хамов воспитанных людей, лечит воспаление ниже спины и возможно артрит. Простое небезразличие куда эффективнее любых скриптов и объяснений. Дать человеку понять, что он не идиот и что он не одинок в своих трудностях - вот самое лучшее, что может сделать оператор.

С тех пор этот лайфхак всегда со мной. В трудных ситуациях, конфликтах и недопониманиях - надо вытащить из себя человека. Подумать, почему другой себя так ведет, что им движет, чего он хочет и могу ли я чем-то помочь? И показать, что ты об этом думаешь, что тебе не все равно. Это бывает трудно. Потому что тебя бесят, на тебя давят, от тебя требуют. Но от него тоже. И если постараться, проявить участие и понимание - это поменяет тон коммуникации в целом. И вот уже задачи делаются быстрее, на работу идется веселее и жизнь, в общем-то, налаживается.

Так вот, самое лучшее, что может сделать человек при решении коммуникативных задач - это быть человеком.
Channel name was changed to «Системный сервант»
#breakfront_articles

Прочитала в интереснейшей книге “Лучшее в нас” эксперименты теории разбитых окон и в результате получилась целая статья про документацию.😂 (Да, у меня странный ассоциациативный ряд).
https://habr.com/ru/post/549588/
В конце июня посетила Летний Аналитический Фестиваль (ЛАФ) - https://lafest.ru/. Понравились атмосфера, доклады и мастер-классы, формат и организация. Сейчас расскажу подробнее.🧐

ЛАФ - это неформальная конференция, куда приезжают с семьями и детьми, большими дружными компаниями или по одиночке, но с желанием пообщаться.

С вечера пятницы до середины воскресенья мы находились в доме отдыха на берегу Волги под Костромой. Днем слушали доклады, участвовали в мастер-классах и круглых столах.
А вечером ели шашлыки, танцевали, сидели у костра, играли в настолки и, конечно, очень много разговаривали.
Также к услугам гостей были бассейны, сауна, развлекательные программы для детей, а в субботу вечером даже живая музыка и салют!🎇

Это очень интересный формат, где дружелюбное и расслабленное общение сочетается с серьезными темами и важными профессиональными инсайтами.

Площадка позиционирует себя как открытая и лояльная, в том числе к начинающим спикерам. Цены демократичные, организация очень заботливая, многое делается из энтузиазма и любви к сообществу.

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

Больше всего запомнились доклады про процесс разработки требований в условиях Agile и АГИЛ (это Agile курильщика по определению автора). И мастер-класс на эту же тему. Все презентации есть на страничках докладов: https://conf.uml2.ru/index.php?program2021

Самое ценное, что я получила на ЛАФ - это вдохновение и прилив интереса к профессии, неизведанныму и новому в ней.

В первый раз была на таком масштабном аналитическом мероприятии, но явно не в последний. В 2022м очень постараюсь быть, а может и с докладом. И надеюсь встретить там кого-то из вас😉.
​​#breakfront_tooltips

Notion для личной базы знаний

Надоело разбрасывать камни познания по закладкам, сохраненным сообщениям и прочим хаотичным накопителям. Еще сильнее надоело их оттуда откапывать или, увы, так и не находить в ворохе виртуальных и реальных бумажек.

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

Notion инструмент не новый и широко известный. Я даже когда-то вела там проектную документацию. Было норм, но для рабочих проектов Confluence все-таки лучше, на мой взгляд (там есть встраиваемые страницы, теги, свои шаблоны, ссылки на джиру и пр.).

А вот для личной базы знаний Ноушн видится идеальным кандидатом. И у меня на это 6 причин:

1. Пространство для личного использования бесплатно и не ограничено по объему.
2. Очень много форматов представления информации: списки, таблицы, встроенные окна из других приложений, чек-боксы, таймлайны и другое.
3. Есть сквозной поиск, перекрестные ссылки, общая навигация и другие элементы нормальной вики.
4. Очень приятный и понятный интерфейс. Даже если информация не структурирована - страница выглядит красиво и опрятно.
5. Все доступно из браузера, мобильного приложения, десктопного приложения. То есть данные всегда под рукой.
6. Есть плагин в браузерах для быстрого сохранения страницы в нужный раздел. Также можно сохранять все с мобилки через функцию "Share".

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

- Список для чтения/изучения;
- Полезные веб-ресурсы;
- Изученные материалы (таблица с тегами и пометками);
- Доска с курсами - пройденными, в процессе, завершенными;
- Список полезных инструментов;
- Странички с рецептами, вишлистами и прочими заметками и закладками.

Однако и Notion не то оружие, что управляет всем (может, оно и к лучшему). Помимо него использую еще несколько инструментов:

- Календарь от Apple для встреч и напоминаний;
- Timestripe для планирования задач и целеполагания;
- Miro для майндмепов и прочего мыслетворчества.

А у вас есть любимые приложения для управления своими знаниями и задачами?
👍4
Видимо реакции как-то убирают комментарии, поэтому эта запись для комментариев к статье про микросервисы.
​​#breakfront_tooltips

Подборка бесплатных курсов про базы данных и SQL


Часто в обязанности системного аналитика входит работа с базами данных(БД). В моем опыте это в основном были задачи такого типа:

1. Понимать структуру БД, доставать SELECT-запросами нужные данные: например, выгрузить отчет для анализа бизнес-показателей.
2. Писать задания на разработку, указывая конкретные таблицы и поля, формат данных и их взаимосвязи. Такой подход точно необходим при интеграциях.
3. Проверять работу системы, анализируя корректность и полноту данных в БД (все ли поля заполняются нужной информацией, например).
4. Проектировать логическую модель БД, опираясь на выявленные при анализе сущности предметной области.

Тем не менее, эти навыки получается применить не всегда: где-то NoSQL, где-то команда делает только API, где-то микросервисы и т.д. Поэтому мне не раз приходилось забывать и вспоминать заново основы SQL и реляционных БД. За это время накопился список неплохих бесплатных курсов по этой теме.

Вот эти курсы, расположенные в порядке возрастания сложности:

1. SQL для непрограммистов - очень хороший практический курс для начинающих, на мой взгляд. С заданиями на реальной БД и понятными объяснениями.
2. sql-ex - именно объяснения были не все понятны, но тренажер для запросов там классный.
3. Введение в базы данных - тут больше про проектирование, нормальные формы и пр. Не всё подробно разъясняют, но в целом курс полезный.
4. Введение в реляционные базы данных - теоретические основы от МФТИ. Сложно, но интересно.

ER-диаграммы обычно рисую в draw.io. Но именно для обучения хорошо подходят программы, где сразу по схемам можно создать БД: MySQL Workbench, ERwin. Из бесплатных клиентов мне нравится DBeaver, из платных - TablePlus.
А какие у вас любимые инструменты для работы с БД?
​​#breakfront_tooltips

По итогам недавнего поиска работы делюсь ресурсами с вакансиями и своим алгоритмом подготовки к собеседованиям.

Ресурсы для поиска работы

Для всея IT:

- LinkedIn - это социальная сеть для рабочих контактов. Иногда рекрутеры сами находят ваш профиль и присылают вакансии. Это международный сайт и там вполне реально найти работу в зарубежной компании, однако он заблокирован на территории РФ (из-за отсутствия серверов с персональными данными в России).
- ХабрКарьера - русский аналог LinkedIn, уже довольно популярный как у соискателей, так и у рекрутеров. Здесь удобно смотреть рейтинги компаний и читать отзывы сотрудников.
- g-mate - помогает подбирать вакансию/кандидата по заточенным под IT параметрам. Возможен поиск вакансий сразу по нескольким профилям. Например: менеджер/аналитик/архитектор. Также есть телеграм-бот, он высылает список вакансий, подходящих под запрос.
- HeadHunter и SuperJob - вряд ли кто-то не в курсе, но для полноты списка оставлю.
- Ханти - проект для реализации схемы "рекомендуй братуху".

Для аналитиков:

- https://news.1rj.ru/str/analyst_job
- https://news.1rj.ru/str/foranalysts
- Анализ и проектирование в ИТ-проектах - группа в FB
- Бизнес-аналитики. Вакансии и резюме. Freelance - группа в FB

Итак, где искать понятно, теперь про "как искать".

Алгоритм подготовки

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

Алгоритм был таким:

1. Определить цель поиска, критерии успеха и ограничения (время, деньги, локация и пр.).
2. Выписать пожелания для будущей работы с приоритетами.
3. Выяснить, какие бывают вопросы и темы для обсуждения на собеседованиях.
4. Повторить то, что знаешь и умеешь.
5. Изучить незнакомые вопросы, заполнить пробелы в знаниях.
6. Определить границы своих компетенций.
7. Составить список вопросов для работодателя.
8. Составить список признаков "точно не того" работодателя.
9. Сделать таблицу с перечнем работодателей, их контактами, комментариями, статусами и датами собеседований.

В дополнение пара статей с вопросами на собеседованиях для системных аналитиков: раз, два.
1
​​#breakfront_analysis_fails

ОБРАТНАЯ СОВМЕСТИМОСТЬ

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

Первой расскажу про распространенную и довольно опасную проблему: отсутствие обратной совместимости при обновлениях.

Обратная совместимость - это способность ПО при обновлении поддерживать и новую, и старую функциональности.

Хороший пример обратной совместимости - мобильные приложения. Допустим, на главном экране банковского приложения отображался баланс на счете. А в новой версии приложения вы решили показать на главном экране весь триллион услуг банка.

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

Соответсвенно, вам необходимо в новой версии серверной части оставить данные о балансе для главного экрана, которые будут отдаваться в приложение наряду со списком услуг. И каждая версия получит то, что ожидает от сервера, и не сломается.

Можно, конечно, еще принуждать пользователя обновляться: когда при входе в приложение вы не можете ничего сделать без обновления. Но люди такое не очень любят и это вариант для совсем уж старых и несовместимых версий.

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

К сожалению, об этом нередко забывают. В результате ломаются процессы, системы, уведомления и другие потребители "старых" данных.

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

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

Добавлю, что для контроля обновлений, например, API, часто оперируют версионированием вроде 1.2.3. Где:

- 1 - мажорный номер версии, подразумевающей несовместимые изменения.
- 2 - минорные изменения с обратной совместимостью.
- 3 - номер релиза с исправлением ошибок с сохранением обратной совместимости.
👍81