Записки системного архитектора – Telegram
Записки системного архитектора
279 subscribers
24 photos
1 video
4 files
57 links
Мысли, идеи и события из жизни системного архитектора и его коллег
Download Telegram
решил начать писать текущие мысли в канал. Формат мне пока самому не ясен, но, видимо, это будет что-то вроде "разговоров с зеркалом", мышления письмом и дневника в одном флаконе.
На большие статьи времени и сил не хватает, а мелкие заметки иногда просятся наружу. Ну и надо же осваивать современные технологии коммуникации...
Forwarded from Roman
Microsoft just launched Teams premium powered by ChatGPT at just $7/month 🤯
With ChatGPT, Teams users can generate automatic meeting notes, AI-recommended tasks, personalized meeting templates, and a lot more!!
Основные архитектуры нейронных сеток - очень коротко и наглядно. Кому интересно дальше, то дальше читать вики (по всякому машинному обучению вики хорошо собрана - просто вводите название нейронки, и будет информация). Но именно по этой картинке, вот расшифровка. А если вы хотите познакомиться с нейронками с нуля и (относительно) просто, то вот отличный Quick Start по теме.
Forwarded from Russian Association of Software Architects (Sergey Baranov)
Mike Beedle (died at March 23, 2018)

Agile Manifesto co-creator
proposed the term “agile” to manifesto co-creators introduced “Enterprise Scrum” and “Business Agility”

Source: https://twitter.com/mikebeedle/status/976500772438409216
Задумался тут о таком понятии как "ответственность команды" или "командная ответственность".
Обратил внимание, что большинство воспринимают "ответственность команды" как ответственность "команды целиком", т.е. не персонифицированную. Когда возникает вопрос или инцидент, адресованный команде, то невозможно заранее предсказать, кто на него должен отвечать, ведь ответственность не персонифицированная, а командная. При этом наблюдается два явления, каждое со своими особенностями.
1. Гиперответственность. Отвечать кидаются все. Ведь каждый, как пионер, считает себя ответственным за все...
2. Колллективная безответственность. Вопрос игнорируется всеми, так как каждый считает, что на него сможет ответить кто-то другой.

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

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

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

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

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

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

А если действовать не на эмоциях, а в соответствии с требованиями ПДД, то всем и всегда точно известно, какой автомобиль должен двигаться через перекресток, а какой - должен подождать.

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

Аналогично, установленные в команде правила распределения (а не размазывания!) ответственности повышают производительность команды и снижают затраты на избыточные коммуникации.
В ШСМ пишут, что открыли бесплатный доступ к учебникам по всем курсам. Налетай, пока дают :)
Бесплатный доступ к онлайн-программе «Бесконечное развитие»
В Aisystant появился бесплатный тариф, который предоставляет доступ к учебникам (текстам) всех онлайн-курсов Школы. Если же вы хотите получить полный доступ к изучению онлайн-курсов, которые включают в себя еще и упражнения и практические задания, то это возможно только за плату. Стоимость платных тарифов начинается от 600 руб. в месяц.

Наша онлайн-программа «Бесконечное развитие» рассчитана на то, чтобы помогать взрослым людям решать проблемы. Причем обучение нацелено и на тех, кто давно закончил вуз и не обучался новым фундаментальным дисциплинам, лежащим в основе сильного интеллекта. Однако важно помнить, что только сильному интеллекту по зубам справиться с неожиданностями в бизнесе, неожиданностями в инженерии, неожиданностями в менеджменте. Профессионал решает заранее известный класс задач, а интеллектуал сталкивается с новыми проблемами и ситуациями. Хорошо быть одновременно профессионалом и интеллектуалом.

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

Чтобы получить бесплатный доступ к учебникам программы «Бесконечное развитие» теперь достаточно просто зарегистрироваться на сайте ШСМ: aisystant.system-school.ru/. Тариф активируется автоматически для всех зарегистрированных студентов.

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

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

Мы также просим членов нашего сообщества распространить информацию о новом бесплатном тарифе. Если вы ощутили пользу от наших образовательных продуктов — не забывайте делиться ими с друзьями и коллегами.
1
К сожалению ли, к удовольствию ли - не знаю, но сменил работу и теперь тружусь архитектором в МТС Диджитал. Переход из небольшой компании-вендора на несколько десятков человек в гигантскую экосистемную компанию - это конечно, некоторый стресс. Много нового и пока непонятного.
Главные ощущения прошедших двух недель:
- Ваще непонятно, как удается координировать совместную работу огромного количества разных подразделений. Ну т.е. теоретически понятно, есть большая стратегия, есть совместные синк-сессии, какие-то роадмапы, но, объективно говоря, каждое подразделение существует относительно независимо, выполняет поставленные ему задачи. Судя по косвенным признакам, многое работает благодаря горизонтальным связям, но я этим связями пока не оброс, поэтому пребываю немного в подвешенном состоянии. Часто даже непонятно куда идти и о чем спрашивать.
- Понятие "продукт" сильно отличается от того, к которому я привык, работая в вендорах. У меня в голове "продукт" - это нечто в коробочке, что мы произвели и продаем наружу, что будет использовать какой-то внешний потребитель. Тут "продукт" - это конкретная система, работающая здесь и сейчас, на конкретном оборудование, на конкретных данных и выполняющая конкретные задачи для не менее конкретных потребителей - других продуктов более высоких системных уровней. С одной стороны, это немного упрощает задачу, так как не нужно думать про "доставку и развертывание вообще", нужно доставить решение в конкретное место и заставить работать в конкретном окружении. А с другой стороны - в чем-то усложняет, так как нужно думать не об обобщенных требованиях и классах задач, а о конкретных проблемах конкретных потребителей.
В общем, привыкаю, осваиваюсь, формулирую для себя правила игры в новых для себя условиях.
👍3
Провели нагрузочное тестирование.
Единственный значимый результат - требуемый RPS не достигнут. Но что с этим делать - непонятно, единственное что видно из записанных метрик - что запросы выполняются не с той интенсивностью, с которой нам хочется, но во что уперлись - неясно, ибо замеряются только запросы целиком, без внутренних деталей.
Грусть и печаль.
Структура сервиса проста - входящий ендпойнт (их там три, но они однотипные), который анализирует запрос и раскидывает его части по десятку адаптеров к внешним системам. Каждый адаптер транслирует свою часть запроса в свою систему, обрабатывает ответ от неё и представляет его в каноническом виде. Сервис собирает вместе полученные ответы и возвращает наружу.

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

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

Ваше мнение?