Another Tech Product – Telegram
Another Tech Product
6.37K subscribers
35 photos
1 file
289 links
Анализ, архитектура, менеджмент в IT

Вопросы сюда: @and_burakov
Download Telegram
Использовать фреймворки нужно не для того, чтобы их использовать

Люблю рассказы в духе: “Возьмите фреймворк XXX для задачи NNN, и будет вам счастье”. Дальше обычно начинается холивар: “Мы попробовали, и получилась какая-то хрень”.

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

Берем RICE
Редко кому удается (вы существуете, кстати?) настроить функцию четырех переменных, дающую на выходе приоритеты, которые можно использовать для развития продукта. Все равно будем двигать с точки зрения “здравого смысла”.

Зато в процессе возникнут вопросы:

• Какие сегменты охватывает фича? Сколько там клиентов? Как они платят?

• Какой профит получим? Это оптимистично или пессимистично?

• Как оценивали? Есть данные, результаты исследований, или это чье-то мнение?

• Есть зависимости от других команд и отделов?

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

Или Use Cases
Как самостоятельный способ передачи требований - ужас ужасный.
Обычная реакция после прочтения: “Кулл стори, бро, но объясни нормально, что сделать нужно?”

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

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

#мышление
👍19🔥151😁1🤔1💯1
Еще про мышление

Обратил внимание, что наиболее эффективно работаю над сложными задачами, когда использую три механики:

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

Текстовое описание
Важно описать продукт, систему или процесс так, чтобы читатель осилил текст и правильно понял его. Лаконично, содержательно и доступно для разных ролей. Позволяет проработать детали, выявить корнеры, покрутить разные point of view. Максимально больно в мозг.

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

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

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

#мышление
👍42💯103🔥2
Я тут продал душу вписался в историю с папками. Здесь собрали 20 каналов про системный анализ. Не знаю, зачем столько, но можете найти интересное.
😁21👍7👎42🔥2🤨1🤝1
Forwarded from Chief Philosophy Officer
Мало кто знает, но просить от сотрудника оценку задачи, которую ты ему поручил, нужно не чтобы оценить сроки, он все равно ошибется и все сроки просрет, тут поможет только статистика и sla. Дело не в этом. Просто наличие оценки - это отличная метрика того, что была произведена декомпозиция. А декомпозиция говорит о том, что над задачей уже размышляли, планировали, думали о результате. Поэтому просто узнать число недостаточно, придется самому вникнуть и понять, почему это число именно такое, а главное, самому стоит представлять результат задачи, а не фантазировать его на ходу, принимая работу.
👍306🤡2
Шикарный разбор реализации перевода средств между клиентами. Иллюстрация, чем мы занимаемся в этих наших финтехах.

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

#архитектура
🔥13
Кажется, что-то интересное намечается

https://mts-digital.ru/events/details?id=742631
🔥7😈6
Знакомый поделился прекрасным. Однажды он обнаружил сервис с методом:

GET /api/getClientInfo?clientId=123

Попробуйте угадать, что он делает:
1. Если клиент не существует
2. Если клиент существует

Дада, вы все правильно поняли:
1. Сервис создает клиента
2. Сервис открывает клиенту счет


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

А вы какие шедевры встречали в практике?
😁41🙈19😨8🌭3🤬1
Статья (нужен vpn) о ретраях и защите от дублирования транзакций из недр Airbnb. В том числе разбирают проблемы реализации идемпотентности, и почему это не просто ключик в запрос положить. В том числе, использование распределенных хранилищ.

Заодно вспомним историю Васи и его борьбе с идемпотентностью в Яндекс.Такси, тоже полезно
👍8🔥3
AI-продукты для разрабов пошли дальше всяких копайлотов. Replit предлагают вроде уже стандартную связку IDE + репа + AI-ассистент. А еще их агент по текстовому описанию пишет код, поднимает БД и разворачивает приложение. Все под ключ для ленивого разраба.

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

Ссыль: https://replit.com
👍6
Another Tech Product
Интересный, пусть и поверхностный рассказ, как делают реальные приложения на основе LLM. https://youtu.be/sNwgkLniGqQ?si=bPOB88QLDL3HH2SS
Прошлогодний рассказ, как Сбер делает копайлота для юристов. Никакой магии, только эксперименты с RAG и пайплайнами + формирование базы знаний. Характерно, что для формирования базы знаний понадобилась ручная разметка базы знаний силами 30 юристов - обыватель без экспертизы в домене не подойдет.

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

Хозяйке на заметку:
- Про RAG совсем на бизнесовом
- Совсем кратко про построение боевых LLM-приложений
👍63
Подлодка запилила сезон по проектированию масштабируемой и надежной архитектуры, стартует в понедельник. Программа выглядит очень вкусно, вот что мне особо интересно:

- Как закладывать надежность на старте проектирования

- Где искать надежность при взаимодействии сервисов

- Latency based Congestion Control - не буду это переводить

- Архитектурная ката для участников

Если соберетесь подключиться, то орги скидос подогнали - techlead_crew_7_BsrEcL
4👍1🔥1🙈1
Не могу не репостнуть
Вводная (по мнению автора) статья о способах балансировки трафика. Хотя большинству смертных никогда не придется заглядывать глубже, если это не админы, сетевые архитекторы и т.п.

Многобукв для тех, кто хочет окунуться в тему:

- Балансировка, и зачем это нужно
- Функции балансеров
- L7 / L4 балансеры и зоны применения
- Типовые топологии и способы масштабирования

P.S. Нашел перевод на русский

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

#интеграция #архитектура #сети
🔥12👀2
Народ устроил хакатон по разработке с помощью Replit AI, писал о нем недавно.

Впечатления авторов:

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

Но на более-менее больших и серьёзных проектах всё бесповоротно ломается. Выбрать технологии или язык – целая проблема.

Да и команды пользователя, и даже собственные предложения Replit реализует через раз — и это в лучшем случае.

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

Replit же скорее тратит нервные клетки разработчиков (и не только), а не облегчает их труд.


Интересно, Replit AI - это обертка вокруг популярных моделей без серьезного тюнинга, или просто сырая технология?

Выглядит, что для прототипов эффективнее использовать no/low code платформы, а Replit - это онлайн IDE с инфрой для деплоя и агентом для экспеиментов. Но это сегодня. А вот что будет с приходом рассуждающих LLM типа o1 и их потомков - увидим в следующих сериях.
Словом идемпотентность уже никого не напугаешь. Все разобрались, что это и почему важно. А важно для ретраев. А эффективная организация ретраев - тот еще адок.

Тот самый Вася из Яндекса разбирает проблемы, которые могут вызывать ретраи при падениях системы, показывает варианты решения, сравнивает на графиках и циферках. Из интересного:

◽️Exponential backoff - чтобы адекватно настроить время между ретраями

◽️Сircuit breaker и adaptive retry - чтобы не положить сервис ретраями

◽️Deadline propagation - думал, что это фишка gRPC, но нет

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

#интеграция #архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍51
Как правильно выбрать хранилище под задачу
🤣89💯1510👍2😭1
Пытаюсь понять, как у людей (команды) в рамках одной активности одновременно уживаются понятия «заказчик» и «продукт».

Если мы можем с уверенностью назвать кого-то заказчиками, то мы явно не созданием продукта занимаемся.
👍17👎16😁1