codemonsters.log
572 subscribers
181 photos
19 videos
106 links
| Просто рассказываю про
| Научно обоснованный подход
| Рациональной и качественной разработки софта
@maxology
Download Telegram
Platform Engineering (PE) — социально-техническая дисциплина.

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

Исследование показало, что пользователи внутренних платформ имеют на 8% выше индивидуальную производительность и на 10% выше производительность команд.



Далее кажется очевидным, но на деле внутри организаций этому уделяется недостаточно внимания. Я активно двигаю в это направление.

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


Развиваем inner source и работаем с пользователями.

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


Хорошая статья:
State of DevOps 2024. Platform Engineering

Отдельно поговорим про shifl left и shift down

#devops #codemonsterslog
#software_craftsmanship
Сопротивление шуму, поиск тишины

Если бы мне было пофиг на то, что я делаю и оставляю после себя в гите – я бы не нашел ответы, не научился бы писать надежный код и понятные тесты.

Это первопричина в моей работе. Я думал о качестве своей работы, не про карьеру.


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


Знай когда пошуметь

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

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

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

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

У нас становится тише на болючих берегах, это радует.
Работы все ещё много.

#codemonsterslog
👍13❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда согласился выступить перед джунами, прочитать лекцию для студентов.

Муд:

На каком с ними языке говорить. 🤪 Делулу буду для них с моей 🤳 Пов или 😮 FR

#codemonsterslog
🤣10👍1🤔1💯1
Шифт-Лефт удел для лохов (нет)

Крайности платформенного бога в статье клауд блога

В моем тексте есть пост-ирония

Нормальные пацаны/девчата пользуются платформой и немного знают Java в конечном счете.
Немного знают java, немного стоят денег.

Все остальное делает платформа.
С точки зрения оптимизации инженеров и их стоимости - логично и выгодно.
Да и платформу так продать легче.

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

Обычно нужно:
| получить один json
| затем получить второй json,
| далее породить третий json на базе первого и второго
| отправить чудесный джэйсонс в очередь
Профит.

Сходить на java конференцию, послушать про тюнинг хибера.
Схоидить в другой банк, сделать same shit.
Это жизнь. Логи пишут только непонятно как и что - это пусть разбирают SRE, у них много мозгов в голове и им понятно как работает сложный суперапп в суперкорпе.

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


Я часто повторяю:
Прогерам хватает часто 20% языка, чтобы решать мэйнстрим задачи.
Часто овердохрена знаний инструментов только усложняют решения. Эта вечная погоня за Кафкой, который все пишет процесс хоть и дописал его давно.
Вместо того, чтобы требовать большего от своих текущих инженерных ресурсов — изучения новых языков, платформ и облаков — лидерам технологий необходимо создать команды по разработке платформ, которые будут относиться к своим платформам как к продуктам. Оптимизация начинается с сокращения когнитивной нагрузки на разработчиков и устранения ненужных обязательств, которые отвлекают их от инноваций.


Я за снижение когнитивной нагрузки.

У продуктового инженера сохранится знание продукта.
Инженер уже не знает как устроен http и как работает DNS.
Или знает? Ему это нужно или нет?

И внизу в крови машин под стук многогранных сердец платформ в масленистых бордовых накидках снуют редкие инженеры адептус механикус, которые уже утеряли знание предков и веру в людей.
Молятся Богам Машин и Богам Облаков.
Чтобы не Упало Облако да не слетела Красная Шляпа платформы.

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

Есть над чем подумать.
Думать нужно над балансом.
#devops #муд
👍8🤣3🤓2🤯1👻1
Герои из универа

Моя первая игра была «Принц Персии» не ibm у папы на работе.
Потом была денди.

StarCraft я запомнил особенно тепло.

Когда я учился в универе на 1-м курсе у меня не было компа.
У папы был рабочий ноут на 166mmx.
Я помню как мне взорвала мозг игра «warcraft 2»

Это было ликование и ожидание мультов после победы.

Я купил диск StarCraft и моя жизнь изменилась навсегда.
Зерги, нужно больше
SCV и кристаллов, «SCV Good To Go Sir»,
морпехи, бессонные ночи, Веспен газ.

Как бы я хотел ещё раз испытать это чувство новизны от динамики StarCraft.
Синематики.
Именно синематики warcraft меня изумили, а Start Craft полностью заворожили.
Я так хотел, чтобы вышла игра от 1-го лица и вышел изумительный Space Marine 2.
Свершилась мечта студентика.

Я бегу по окопам и сражаюсь с ксеносами, мама


И после я пришел к вахе.

Тебе нравится RTS?
Какие игры тебе взорвали мозг?

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

#codemonsterslog
🔥86😁1
Alex Xu дропнул интересное в X
The 9 Algorithms That Dominate Our World

1.Sorting
2.Dijkstra’s Algorithm
3.Transformers
http://4.Link Analysis
5.RSA Algorithm
6.Integer Factorization
7.Convolutional Neural Networks
8.Huffman Coding
http://9.Secure Hash Algorithm

#codemonsterslog
👍41🔥1🤔1
Пиши

Американская поэтесса и мемуаристка Майя Анжелу признавалась:
«Когда я пишу, я пишу. А потом муза, будто понимая, что я настроена серьезно, говорит: "Хорошо-хорошо, я иду».

Без усилий
#цитата #книга
7👍3🔥1🤔1
Супермегаукулеле

Как сделать проще? 💻🗺

Прожорливая и теплая машина

В комменты можно залить расчет сколько нужно Киловатт и как тепло будет с машиной рядом

The machine

https://fe2.net/p/themachine/

#themachine #hardware #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
Создавай

Плодовитая Маргарет Этвуд, автор восемнадцати сборников поэзии, восемнадцати романов, одиннадцати книг в жанре нон-фикшен, девяти сборников коротких рассказов и восьми детских книг, однажды напи сала: «Слово за словом за словом это сила». Даже в пустых словах силы больше, чем в чистом листе.
В действительности в них много силы, потому что без пустых слов невозможен будущий magnum opus".


#цитата #книга #безусилий
💻 друг написал хорошую выжимку в sre_guild

SRE vs. DevOps: В чем разница? 🤔

Привет, коллеги! Сегодня поговорим о том, чем же SRE отличается от DevOps?

Когда я только начинал разбираться в теме это был один из первых вопросов который я «загуглил». Иногда трудно понять где заканчивается одно и начинается другое. Давайте разберемся!

🔗 Связь SRE и DevOps:

Начнем с того, что SRE – это не замена DevOps, а скорее конкретная реализация принципов DevOps. DevOps — это философия, набор практик, направленных на улучшение взаимодействия между разработкой и эксплуатацией. SRE же предлагает практический подход к достижению этих целей.

🔑 Ключевые различия:

* DevOps: Это образ мышления, ориентированный на культуру сотрудничества, автоматизацию и непрерывную поставку ПО. DevOps говорит нам "что нужно делать".
* SRE: Это конкретный подход, описывающий как именно достичь целей DevOps, с фокусом на надежность и масштабируемость систем. SRE отвечает на вопрос "как это реализовать на практике".

Тут я пишу про DevOps в его изначальном понимании. Истинный смысл DevOps сегодня часто теряется, когда вместо интеграции между разработкой и эксплуатацией создается отдельная команда "DevOps", которая по-прежнему функционирует как изолированная единица. Имеем что имеем. 🤷🏻‍♂️

🤝 Роль SRE в DevOps-команде:

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

🎯 Подходы к работе:

- DevOps-инженер: 
Работает над ускорением процессов, оптимизирует путь от разработки до продакшена.

- SRE-инженер: 
Обеспечивает стабильность и надежность системы, применяя инженерные принципы и автоматизацию.

В то время как DevOps-инженер стремится к скорости поставки, SRE-инженер обеспечивает надежную работу системы. Они работают вместе, чтобы достичь общей цели: быстро и качественно выпускать надежное ПО.

🚀 Пример: Как SRE обеспечивает надежность в рамках DevOps-процесса:

Представьте DevOps-команду, которая разрабатывает новое приложение. SRE в этой команде:

1. Определяет SLO/SLI: устанавливает цели по доступности и производительности.
2. Автоматизирует мониторинг: внедряет системы для отслеживания этих показателей.
3. Автоматизирует реагирование на инциденты: создает плейбуки для автоматического восстановления сервиса в случае сбоя.
4. Анализирует данные: использует метрики для выявления узких мест и оптимизации системы.

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

В заключение:

SRE и DevOps — это не конкуренты, а скорее две стороны одной медали. DevOps задает направление, а SRE дает конкретные инструменты и методы для достижения успеха.

Что почитать:
Статья от Atlassian и от IBM на тему.

До связи!

😘 sre_guild

#SRE #DevOps #база #codemonsterslogs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3👏1
Как Максим решил на ультах поиграть в Cyberpunk 2077 и вспомнил Horizon Zero Dawn

Пятница. Развлекаемся в комментах.

Я считаю обе игры достойными творениями индустрии и в некотором смысле кусочком современного визуального искусства

История одного компа

#codemonsterslog #chill
🔥10❤‍🔥2🍾2😁1
Какая Хорошая CAPTCHA 👋
Кэпча позволяет вам играть в DOOM®, чтобы доказать, что вы человек😏🔥

Проект работает, используя Emscripten для компиляции минимального порта Doom в WebAssembly и обеспечения взаимодействия между циклом выполнения игры на основе C (g_game.c) и пользовательским интерфейсом CAPTCHA на основе JavaScript.

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

#chill #link #netrunner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2
Чтобы стабильно развиваться и эффективно программировать важно уметь оставаться в фокусе и наводить фокус в команде. Код - это ещё и коммуникация и распределение энергии. Часто у нас с этим проблемы и мы считаем это нормой.

💬2024-й выдался у меня невероятно сложным и продуктивным.

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

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

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

Первый раз перевозил их из Белгорода, второй раз перевозил родителей на новую квартиру в момент неистовой яростно сложной ситуации с одной командой. Или с тремя? С тремя.
Я помню, что некоторые моменты делал как в тумане и вспоминал шедевр Феллини «Восемь с половиной».

Слушаю. Какие проблемы у нас?
Ещё одна? Опять конфликты? Через 30 мин ещё один звонок, проблема во второй команде. Класс. Туман. Потом разговор с отцом, который хочет вернуться.

Не буду гадать, но хочется 😆
Как бы я поступил в той или иной ситуации, если бы я прочитал эту книгу.

После ретро с самим собой мне эта книга помогла вернуться в ритм.
Хочу спойлерить. (Не буду)

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

К прочтению рекомендую.
Экономия на дантисте гарантирована.

жизни не обязательно быть такой сложной и запутанной, какой мы ее подчас делаем. Каждый из нас, как писал поэт Роберт Фрост, «Но должен я вернуться в срок / И до ночлега путь далек»


.

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

Думаю, вывод ясен: каждый новый миг или час это шанс начать сначала. Возможность сделать новый выбор.
Вспоминаю прошлый год с благодарностью за каждый миг.
Благодарю за поддержку семью и коллег.

Погнал писать код.

#codemonsterslog #безусилий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥6
📛 Code и доверие
Ты доверяешь своему коту?

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

ВсеспутанноиНепрозрачноВязкоПахнетПлохо

Чистый код понятен, прост, предсказуем.

Качественная работа, качественный код - моя страсть. Как так вышло 😟
Ладно пусть так.

Также трепетно я отношусь к поиску людей вокруг себя.

Нанимать сотрудников, заслуживающих доверия, вроде бы очевидный первый шаг, но почему-то многие о нем забывают. Какой человек заслуживает доверия? Честный и достойный. Тот, кто будет соблюдать правила и поддерживать высокий стандарт качества, даже когда его не контролируют.
Тот, кто выполняет свои обязанности и держит слово: делает то, что сказал, и тогда, когда сказал, и делает хорошо.

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

Три кита характера человека с которым комфортно работать:
🍽 Честный, умный, инициативный.


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

Три кита характера кода:
- проектирование на типах (type driven), value object — основа целостного кода. Честный код 😈

- бизнес логика отделена от операций вывода-вывода.
Луковичная архитектура прекрасно иллюстрирует этот пункт.
Умный код 🧙‍♂️

- все методы/функции чистые, возвращают на случай сбоя two track type Result<value, error>
Инициативный код 🛍

Как правило с рефакторингом затягивать обходится дорого.
Работает это правил в случае с кодом и люьми одинаково 🔪

#codemonsterslog #code #безусилий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🤔3💯2👍1
Я классную штуку провернул.
Иммутабельную.
Описал все в ридми.
Но не покажу

У меня аж шею свело


#codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Выбор человека в команду

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

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

#code #цитата #безусилий
💯91
Когда наступает ночь, ты обнаруживаешь, что пишешь веб-бук про эффективное программирование. Ты собираешь свое домашнее облако, как будто это твой личный кибернетический рай, и экспериментируешь с железяками, linux дистрибутивами и devOps инструментами. Надежный удобочитаемый код — это твоя мания, твоя одержимость.

Ты готовишь Gitlab Runner для запуска тест контейнеров на отдельной машине и решаешь взглянуть на неизменность (Immutable) в срезе программирования и администрирования. Immutable Linux и immutable классы в объектно-ориентированном программировании — это твои новые игрушки

Ты пишешь эссенцию, чтобы не забыть и не свихнуться:

- об Immutable Linux, особенно о Fedora CoreOS
- о неизменяемых классах и преимуществах жизни в мире immutable null safety
- пример конфигурационного файла CoreOS для рабочей машины типа Gitlab Runner.

Взглянул, сделал и написал статью в веб-бук

Читать статью

Как тебе?

#codemonsterslog #immutable #linux #code #devops
👍42🔥2🐳2
Код - это не только приложение, это команды которые разрабатывают API. Часто это происходит несогласованно, а API First превращается в инструментальный фанатизм за которым теряется суть инженерной практики - забота о потребителе путем тщательного проектирования API.

У команды тоже есть API. Часто люди этого сходства не замечают.

Отсутствие согласованности, доверия и работы на общий результат катастрофически часто встречающаяся проблема. Люди хотят контролировать, проверять не задумываясь о негативных побочных эффектах этого подхода.
Как команда будет работать в организации, где эту команду на каждом шаге проверяют и не доверяют команде как экспертному звену?
Ответ: Долго, плохо, грустно.

#безусилий #цитата #code
9