Микросервисы — отчуждение от результатов труда

habr.com — взгляд на микросервисы с марксистской точки зрения. Вся статья очень большая, с огромным вступлением, поэтому в коммент скопирую только фрагмент "по делу". Полная статья по ссылке.
Новости, Политика | Soloqub 12:13 18.01.2023
58 комментариев | 104 за, 4 против |
#1 | 12:13 18.01.2023 | Кому: Всем
В общем, у меня долго не получалось найти рациональное объяснение происходящему, но однажды мне его буквально на пальцах растолковал... один из технических топ-менеджеров Яндекс.Такси, где я когда-то работал. История эта уже древняя, потому, думаю, вполне можно рассказать, никого не задев.

С точки зрения IT Яндекс.Такси — это такая компания, где и десять лет назад уже трудился значительный коллектив разработчиков. В то время, когда я там работал, она занималась довольно широким спектром технических задач: автоматизацией собственно такси, разработкой сервисов о еде и прочим...

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

На то, чтобы организовать найм водителей, компания в те годы ежемесячно тратила приблизительно миллиард рублей. В целом всё было хорошо: миллиард уходит на найм, а (условно) десять — зарабатывается. "Бабки крутятся, прибыль мутится" — все (в том числе собственники) довольны...

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

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

Но вот беда — просадки не случилось! Месяц закончился, и вообще ни одна бизнес-метрика не пострадала: наняли ровно столько же, сколько в предыдущем.

Видя это, бизнес, разумеется, задался вопросом: "А стоит ли вообще каждый раз впихивать в этот найм по миллиарду? Может быть, и двухсот миллионов достаточно?"

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

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

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

Просто же всё? И вот пришёл я с этим "просто" к тому самому топу.

— Здесь достаточно одного программиста, — начал я, — он за день (ну, хорошо, округлим до недели) сделает функцию, записывающую событие в БД. Большого количества полей в записях не требуется: тип, время, связь с нанимаемым водителем и связь с исполнителем. В общем, работа очень простая, могу даже сам запилить: тут строк пятьдесят кода. Затем, — продолжил я, — мы обойдём все формы и бакенд, добавляя http-запросы, генерирующие это событие, — и вуаля! В конце следующего месяца отчёт готов!
— Не пойдёт.
— Почему?
— Вы не сможете получить разрешение на размещение такого проекта на площадке Яндекса.
— А что тут не так?
— У нас регламент. Например, база данных должна работать в трёх датацентрах.
— Хорошо, запрос к эксплуатации будем делать на постгрис с синхронной репликацией. Что ещё?
— Вы не пройдёте техаудит.
— Что же тут аудировать? Пятьдесят строк кода! Пройдём!
— Нет, — снова повторил он, — то, что ты предлагаешь — ни разу не микросервис. А по регламенту должен быть именно он.
— Хгм... — озадачился я. — А ведь и инфраструктура, которую мы хотим обложить метриками, — не микросервисная.
— Ну и что? Получать ресурсы (БД, деплой) ты будешь для нового проекта, так? Значит, он обязан быть микросервисом, иначе ничего тебе не выдадут.
— Слушай! — попытался я воззвать к его сознательности, — посмотри на бизнес, там ведь все бегают как ужаленные и кипятком во все стороны писают! Речь идёт о судьбе, ни много ни мало, а миллиарда в месяц! Какая разница, микросервис или не микросервис? Давай максимально быстро дадим ответы на поставленные вопросы, а потом будем хоть до пенсии переписывать в спокойном режиме, приводя в соответствие к требованиям регламента?
— Нет, мы не станем так делать! — обломал меня он.
— А как?
— Мы реорганизуем (расширим) отдел. В него войдёт десять-двенадцать разработчиков, они напишут нужные микросервисы. Здесь я вижу что-то около десяти микросервисов.

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

— Но бизнес же ежемесячно, возможно, теряет до миллиарда!
— Нас не волнуют проблемы бизнеса. Соблюдение регламентов гораздо важнее!
— А в чём ценность этих регламентов, если за них приходится столько платить?
— Разве много? — удивился он.
— Один человеко-месяц (ограничение сверху) размениваем на двадцать четыре человеко-года (ограничение снизу) плюс, эээ..., двадцать миллиардов потерь за время разработки...
— Ну и что? — задал он вопрос, поставивший меня в тупик.

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

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

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

Технически (именно технически) микросервисы — совершенно бессмысленная вещь.
Микросервисы, например, — не способ масштабировать нагрузку: stateless программы легко масштабируются простым добавлением копий, а масштабирование statefull всегда происходит там, где хранятся данные.

Можно даже сформулировать правило:
С технической точки зрения (производительность, количество кода и т.п.), микросервис всегда может быть замещён обычным кодом, и это действие приведёт к тому, что накладные расходы упадут, а эффективность вырастет.
Однако зачем их используют, для чего вводят такие регламенты?
— Видишь этих людей? — ответил он мне, показывая страничку одного из подчинённых ему отделов на staff, — здесь, например, их сейчас сто пятьдесят. Все они работают в одной парадигме — пишут микросервисы — причём значительную часть работы вообще делает кодогенератор.
Знаешь, в чём ценность подобного подхода?
— В чём? — переспросил я.
— Во-первых, я могу уволить половину или даже вообще всех, заместив их совершенно новыми людьми с улицы. От этого не случится никакого ущерба.

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

Осмысление

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

Это даже не разделение труда, которое предавал анафеме Жан-Жак Руссо, — это самое натуральное отчуждение от результатов труда по Карлу Марксу!
Ни больше ни меньше!

Отчуждение рабочего в его продукте имеет не только то значение, что его труд становится предметом, приобретает внешнее существование, но ещё и то значение, что его труд существует вне его, независимо от него, как нечто чужое для него, и что этот труд становится противостоящей ему самостоятельной силой; что жизнь, сообщённая им предмету, выступает против него как враждебная и чуждая.
© Карл Маркс

Итак, рассмотрим среднестатистического разработчика Яндекс.Такси. Нанимаясь, он прошёл десяток-другой собеседований и попал, наконец, на вожделенную должность. А что дальше? А дальше над ним висит регламент: "только микросервис". И даже больше — "на 80% кодогенерируемый микросервис".

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

Поскольку человек — существо разумное, ему присуща потребность самовыражения. И раз она настолько серьёзно ограничена внешними рамками, то неудивительно, что он:
Перманентно пребывает в демотивированном состоянии (отсюда столь низкая производительность: 24 человеко-года, против одного человеко-месяца).
Пытается искать ей иное приложение, пытаясь, например, оптимизировать или улучшить то, что не нужно.
Фрагментарно мыслит (ведь оперирует он именно фрагментами).

В Яндексе есть прекрасный внутренний ресурс (ЯЧан), где можно писать анонимно. Так вот, там эти самые "винтики большой машины" говорят о себе: "Я работаю перекладывателем JSON'ов!"

Шутка? Да, но в каждой шутке всего лишь доля шутки...

А дальше?

Сравнительно длительное время именно в IT мире наблюдалась уникальнейшая (по сравнению с другими отраслями) ситуация: наёмные рабочие имели доступ к средствам производства и в любой момент могли, используя их, прокатиться вверх на социальном лифте.

А что? Всё, что тебе нужно, — компьютер и немножко терпения. Идея же сгодится практически любая, просто сделай качественно!
Однако постепенно такие возможности закрываются и далее будут закрываться ещё агрессивнее. По мере роста отчуждения труд разработчиков будет всё сильнее дешеветь, пока из нынешних хипстеров не получатся настоящие пролетарии.
Уже сейчас бизнес нацелен на радикальное снижение уровня квалификации среднестатистического разработчика, на работника с максимально фрагментированным мышлением (чтобы не пытался, поднимаясь по социальным лифтам, составлять конкуренцию).

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

В итоге весь этот деструктив доводит до того, что некоторые уже добровольно устанавливают на свой IDE не только линтеры, контролирующие количество пустых строк, но и форматеры кода!

А затем, эти люди с поломанной психикой начинают доказывать, что вручную прописывать код обработки исключений в каждой функции — благо, что чем строже клетка, в которой их содержат, тем лучше!
Ещё бы! Они уже не помнят, что мир был (или может быть) иным!

Что делать?

Научно-технический прогресс понемногу приводит нас к тому, что именно мы — IT'шники — станем тем рабочим классом, которому придётся ломать систему эксплуатации человека человеком. И делать это придётся, преодолевая уныние и внутреннее лакейское нежелание что-либо менять.

Путь борьбы требует значительных психологических ресурсов, и самое трудное — преодоление собственного нежелания плыть против течения. Хоть это давно описано многими классиками11, но отклик находит лишь у немногих.
...Но иногда некоторые из них говорили что-то неслыханное в слободке. С ними не спорили, но слушали их странные речи недоверчиво. Эти речи у одних возбуждали слепое раздражение, у других смутную тревогу, третьих беспокоила легкая тень надежды на что-то неясное, и они начинали больше пить, чтобы изгнать ненужную, мешающую тревогу.
© Максим Горький.

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

—- Тогда, и вы, и мы, и весь рабочий класс будем раздавлены железной пятой деспотизма, не ведающего удержу и жалости, —- деспотизма, какого не знала доселе ни одна, даже самая тёмная эпоха в жизни человечества. Вот имя для него —- Железная пята!
© Джек Лондон

Начал главу "Что делать?", а о том, что делать, так пока ничего и не сказал. Исправляюсь.
Итак, бороться! А борьба наша начинается прежде всего с воплощения Ленинского завета: "Учиться, учиться и ещё раз учиться"13.
...среди рабочих выделяются настоящие герои, которые —- несмотря на безобразную обстановку своей жизни, несмотря на отупляющую каторжную работу на фабрике, —- находят в себе столько характера и силы воли, чтобы учиться, учиться и учиться, и вырабатывать из себя сознательных социал-демократов...
© В.И. Ленин

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

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

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

Хороший кандидат, для реализации творческих потребностей — OpenSource. Отчаянно необходимо, например, написать препроцессоры для Go и Rust, реализующие синтаксис исключений!

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

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

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

Дорогу осилит идущий. Капля точит камень. Если каждый из нас — хоть где-то хоть какой-то гадости в IT — скажет твёрдое "нет!", мир станет лучше, чище и на шажок ближе к идеалу.

Оковы тяжкие падут,
Темницы рухнут — и свобода
Вас примет радостно у входа,
И братья меч вам отдадут.
© А.С. Пушкин

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

Пролетарии всех стран, соединяйтесь!
#2 | 12:23 18.01.2023 | Кому: Всем
Боротьба нанайского мальчика в одно лицо? Ну или я нихрена не понял из написанного.
#3 | 12:27 18.01.2023 | Кому: Пальтоконь
> Заставьте творца, который живёт внутри, выйти на первый план!

самое сложное для человека - смириться с тем, что ты посредственность
#4 | 12:30 18.01.2023 | Кому: daurkin
> самое сложное для человека - смириться с тем, что ты посредственность

Быть объективным вообще не в природе человековых.
#5 | 12:32 18.01.2023 | Кому: Пальтоконь
> Боротьба нанайского мальчика в одно лицо? Ну или я нихрена не понял из написанного.

Тут скорее вариант номер два.
#6 | 12:32 18.01.2023 | Кому: Пальтоконь
> Боротьба нанайского мальчика в одно лицо? Ну или я нихрена не понял из написанного.

Это тот же вопрос, зачем военным брить бороду, если главное это выполнить задачу - но в рамках программистов
#7 | 12:36 18.01.2023 | Кому: Всем
Это если есть уже кем то написанная ранее сложная, отлаженная, масштабируемая во все поля система, регламентированная и настроенная на все случаи. Эдакая система в вакууме.

А если нет - никаких таких куштюков с разрабами не будет.

Плюс систему все равно надо кому то поддерживать в целом, а не частями.
Ебнется тындекс из за некого архитектурного трабла - кто то должен будет это чинить, а не писать код микросервисов.
photoscar
учится оформлению »
#8 | 12:37 18.01.2023 | Кому: Всем
статью пока не читал, но почему "марксисткой", марксизм это производная от применения метода познания - диалектического материализма. Вот его и надо применять к исследованию микросервисов, да и вообще ко всему
#9 | 12:37 18.01.2023 | Кому: Пальтоконь
> Ну или я нихрена не понял из написанного.

Автор столкнулся со специализацией. Ему показали, что программирование это вовсе не творчество (как многие наивно полагают), а поденное ремесло.
#10 | 12:38 18.01.2023 | Кому: daurkin
> самое сложное для человека - смириться с тем, что ты посредственность

Ну т.е. политика заменяемости и дробления персонала - это оттого, что посредственности?
#11 | 12:39 18.01.2023 | Кому: Всем
Очень хорошая статья. Притащившему её сюда - спасибо, что притащил.
#12 | 12:40 18.01.2023 | Кому: Goman
> программирование это вовсе не творчество (как многие наивно полагают), а поденное ремесло.

А где там программирование?

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

Это даже не кодинг в чистом виде, я бы сказал.
#13 | 12:41 18.01.2023 | Кому: Goman
> Автор столкнулся со специализацией. Ему показали, что программирование это вовсе не творчество (как многие наивно полагают), а поденное ремесло.

Вот теперь стало понятно. Когда-то программирование было творчеством, а сейчас художества себе могут позволить не только лишь все, мало кто может это себе позволить.
#14 | 12:42 18.01.2023 | Кому: Всем
Столкнулся с похожим подходом к разработке ПО в организации с большой ИТ дирекцией. Не важно, что глобально неоптимальную ерунду делаешь по требованию ведущего (это минус), зато масштабируемо и легко подключить/отключить от всего проекта (а это плюс).
#15 | 12:43 18.01.2023 | Кому: Longint
> Это если есть уже кем то написанная ранее сложная, отлаженная, масштабируемая во все поля система, регламентированная и настроенная на все случаи. Эдакая система в вакууме.
Сильные мира сего считают, что есть. Имя этой системы - капитализм, которому альтернативы нету. Есть только лимит на революции, который исчерпан.
#16 | 12:47 18.01.2023 | Кому: Пальтоконь
> сейчас художества себе могут позволить не только лишь все, мало кто может это себе позволить.

Любой может позволить. Но платить за художества никто не будет. Стране нужны морлоки. Винтики, не задающие вопросов.
#17 | 12:49 18.01.2023 | Кому: Longint
> где там программирование?
>
> Там просто описывается контроль за генерируемыми скриптами по сути.
>
> Это даже не кодинг в чистом виде, я бы сказал.

Программирование там в названии должности. Суть в том, что для усиления своей значимости в компании, руководителю департамента нужны подчиненные. Больше - лучше.
#18 | 12:50 18.01.2023 | Кому: Goman
> Автор столкнулся со специализацией. Ему показали, что программирование это вовсе не творчество (как многие наивно полагают), а поденное ремесло.

Тут не про творчество. Автор столкнулся с необъяснимым, бизнес готов нести огромные издержки (800 тысяч в месяц на 4 года это 38+ миллиардов чистого убытка) ради того чтобы соответствовать регламентам. На первый взгляд дурость в чистом виде. На второй оказалось что есть вещи, которые ценятся дороже.

Ну и про "средний класс" тоже хорошо разъясняется. Весь IT сейчас — это средний класс. По сути это пролетарии, однако огромные доходы и вполне достойный образ жизни заставляет их не чувствовать себя таковыми, не чувствовать себя угнетёнными. Автор делает вывод что это временно и активно идёт работа чтобы эту ситуацию исправить.
#19 | 12:50 18.01.2023 | Кому: Всем
Кстати, микросервисы это не источник проблемы автора.

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

По сути автор работает на позиции не разраба, а подстановщика параметров в некие шаблоны скриптов.

Естественно, что предложение масштабировать систему путем введения неких интеграционных компонентов, не вписывающихся в парадигму шаблонизации - это риски для компании.
Вот если б он рассчитал сумму рисков и показал, что данные риски гораздо меньше чем возможные потери от шаблонизации, к которой все равно предлагаемое решение планирует стремиться - ответ, возможно, был бы иным.
#20 | 12:54 18.01.2023 | Кому: Goman
> Программирование там в названии должности. Суть в том, что для усиления своей значимости в компании, руководителю департамента нужны подчиненные. Больше - лучше.

Так там описыватся модельная ситуация, когда можно было в теории и подчиненных штат увеличить и результат получить, а пока подчиненные пилят микросервисы - провести анализ на том, что есть и в итоге выйти и с готовой аналитикой и с обосновой ценности штата и себя лично.
a.v.v
дурачок »
#21 | 12:57 18.01.2023 | Кому: Всем
какой то бред, да еше и марксизм приплел, такое ощущение что писал статью во времена застоя
a.v.v
дурачок »
#22 | 13:00 18.01.2023 | Кому: Пальтоконь
> Вот теперь стало понятно. Когда-то программирование было творчеством, а сейчас художества себе могут позволить не только лишь все, мало кто может это себе позволить.

у больщинства просто мозгов на художества нету
#23 | 13:01 18.01.2023 | Кому: Всем
В статье увидел, что оператор GOTO и Exceptions это хорошо, но не увидел, что null point это тоже классно. или нет?
photoscar
учится оформлению »
#24 | 13:01 18.01.2023 | Кому: a.v.v
> какой то бред, да еше и марксизм приплел, такое ощущение что писал статью во времена застоя

ну для тех кто не в курсе покажется все логичным), притянуто все за одно место конечно)
#25 | 13:02 18.01.2023 | Кому: Soloqub
> Автор делает вывод что это временно и активно идёт работа чтобы эту ситуацию исправить.

Создать вместо "артелей" "айтифабрики"-конвееры - вот в чем идея.

Автор айти-луддит как бы.
#26 | 13:04 18.01.2023 | Кому: a.v.v
> у больщинства просто мозгов на художества нету

Твоя логика неоспорима.
[censored]
#27 | 13:13 18.01.2023 | Кому: Soloqub
> По сути это пролетарии, однако огромные доходы и вполне достойный образ жизни заставляет их не чувствовать себя таковыми, не чувствовать себя угнетёнными.
Даже самый самый генеральный директор является точно таким же наёмным работником как оператор метлы, которому в любой момент могут дать пня под зад лишив работы.
#28 | 13:15 18.01.2023 | Кому: Всем
Интересно, поборники свободы слова и капитализма с человеческим лицом на хабре еще автора не распяли на кресте?
#29 | 13:25 18.01.2023 | Кому: light331
> Даже самый самый генеральный директор является точно таким же наёмным работником как оператор метлы, которому в любой момент могут дать пня под зад лишив работы.

Нет, не так. Не любого наёмного работника можно просто вышвырнуть, без большого и очень большого ущерба для бизнеса. И топ-менеджер явно не равен работнику метлы, если только это не зицпредседатель Фунт .
#30 | 13:33 18.01.2023 | Кому: Пальтоконь
Похоже, что понял.
Автор предлагает борьбу индивидов посредством отказа от жирных вакансий. Вместо объединения этих индивидов в группы. Не понимая, что максимум чего можно достичь такой борьбой, так это исключительно ослабления этих индивидов.
Такой способ борьбы ничем не отличается от всяких БЛМ, борьбы за права пидарасов и прочих меньшинств. Надстройка есть, а базиса нету. Даже если взлетит, то посадят эту борьбу на иной базис и послужит эта борьба исключительно в интересах правящего буржуазного класса.
#31 | 13:40 18.01.2023 | Кому: Всем
Я сам не настоящий ракетчик. Но если правильно понимаю, логика делать универсальный код, переделать который может любой индус, или делать что-то уникальное, что переделать потом в случае чего это лютый геморрой или ты становишься зависимым от специалиста, который это сделал. Правильно?
#32 | 13:46 18.01.2023 | Кому: Пальтоконь
> Боротьба нанайского мальчика в одно лицо? Ну или я нихрена не понял из написанного.

Не знаю, как там Яндексе, но в любой компании за возможность сэкономить миллиард (тем более в статье написано, что есть и подтверждение о снижении затрат до 200 миллионов - и ничего не поменялось) станут поклоняться Сатане, а руководителя, который дрочит на регламент, принесут в жертву, предварительно оскопив. Тут просто суммы несравнимы - величина этот директора по регламентам и миллиарда.
#33 | 13:55 18.01.2023 | Кому: Всем
После прочтения мнения автора об операторе goto и вреде статической типизации - последующее читал скептически.
Но в целом с наблюдениями автора скорее согласен. Да, бизнес идёт на издержки, ради стандартизации процессов и понижения минимально допустимого уровня сотрудников. Если посмотреть на развитие военного искусства, то оно тоже шло по пути снижения требований к солдатам, упрощения подготовки и увеличения численности.
#34 | 14:05 18.01.2023 | Кому: totoshka
> После прочтения мнения автора об операторе goto и вреде статической типизации - последующее читал скептически.

Да, у него много загонов. Про линтеры тоже дичь.
С таким же успехом можно захейтить редакторов и корректоров литературных текстов, по сути они исполняют ту же функцию, что и линтеры.
#35 | 14:17 18.01.2023 | Кому: Всем
У такси просто есть своя платформа для запуска микропенисов, с UI даже. Там новый микропенис запустить не сильно сложно, буквально в пару кликов. Естественно они на нее всех загнали, так проще, потому что в микропенис сразу интегрировано все что нужно уже на стадии платформы, от выделения ресурсов до сбора метрик.
#36 | 14:18 18.01.2023 | Кому: totoshka
> После прочтения мнения автора об операторе goto

goto мощный инструмент, если хоть раз писали конечный автомат. Вопрос в правильном его использование, то что в книжках пишут не использовать это - т.к. потому что для 99,99% он никогда не пригодится,

насчет литеров и статитеческой типизации - я с ним не согласен, помоему это немного бредово
#37 | 14:24 18.01.2023 | Кому: Всем
> Можно даже сформулировать правило:
> С технической точки зрения (производительность, количество кода и т.п.), микросервис всегда может быть замещён обычным кодом, и это действие приведёт к тому, что накладные расходы упадут, а эффективность вырастет.
> Однако зачем их используют, для чего вводят такие регламенты?
> — Видишь этих людей? — ответил он мне, показывая страничку одного из подчинённых ему отделов на staff, — здесь, например, их сейчас сто пятьдесят. Все они работают в одной парадигме — пишут микросервисы — причём значительную часть работы вообще делает кодогенератор.
> Знаешь, в чём ценность подобного подхода?
> — В чём? — переспросил я.
> — Во-первых, я могу уволить половину или даже вообще всех, заместив их совершенно новыми людьми с улицы. От этого не случится никакого ущерба.
>
> Во-вторых, никто из них, уйдя отсюда, не сможет сделать систему, аналогичную той, что мы имеем: большинство не то что не знает даже о половине бизнес-нюансов — не имеет представления, чем занимается сосед!

Я программист не настоящий, клавиатуру в офисе нашёл, но... В статье пишется, что сам по себе проект, разбитый на микросервисы, достаточно простой:
> В общем, хоть задача действительно была на пятьдесят строк кода (вместе с тестами), я не смог его переубедить..

Что ж её тогда никто не реализовал то кроме пары контор?

Ну а в целом, снижение з/п погромистов - вполне нормальная цель для капиталистов. Им прибыль нужна, а не творцы.
#38 | 14:27 18.01.2023 | Кому: Longint
> Ну т.е. политика заменяемости и дробления персонала - это оттого, что посредственности?

это не политика, а организация производства. процесс разработки стремятся сделать более предсказуемым (управляемым и планируемым). всем, в целом, плевать на творческую глубину автора. если, конечно, на предприятии не используются какие-то методики по повышению мотивации.
a.v.v
дурачок »
#39 | 14:37 18.01.2023 | Кому: Imitator
> Ну а в целом, снижение з/п погромистов - вполне нормальная цель для капиталистов. Им прибыль нужна, а не творцы.

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

но в целом, пока ничего критичного
#40 | 14:37 18.01.2023 | Кому: Soloqub
> Удалите из своего IDE форматирующие код расширения, уничтожьте линтеры, верифицирующие стиль, оставьте только те, что дают информацию о возможных ошибках. Заставьте творца, который живёт внутри, выйти на первый план!

Фига се.
Он бы еще предложил ярко и необычно одеваться, чтобы "творец, живущий внутри, вышел на первый план".
Творчество должно быть в том, что человек делает, а не в том, как он это оформляет.
#41 | 14:38 18.01.2023 | Кому: daurkin
> организация производства. процесс разработки стремятся сделать более предсказуемым (управляемым и планируемым). всем, в целом, плевать на творческую глубину автора. если, конечно, на предприятии не используются какие-то методики по повышению мотивации.

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

Суть в том, - просто в силу организации производства плевать на глубину авторов или глубины у авторов в целом просто нет, как по твоему?
#42 | 14:49 18.01.2023 | Кому: Derby
> если правильно понимаю, логика делать универсальный код, переделать который может любой индус

Не совсем, как я понял.

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

Как на конвеере.

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

Идея рабочая, однако только если есть мегаплатформа, она отлажена десятилетиями и не нуждается сама по себе в архитектурной доработке в долгосрочной перспективе.
#43 | 15:00 18.01.2023 | Кому: Longint
> Идея рабочая, однако только если есть мегаплатформа, она отлажена десятилетиями и не нуждается сама по себе в архитектурной доработке в долгосрочной перспективе.

это идея работает, что хорошо видно в кризисе который идет прямо сейчас, что мидлы нахер никому не нужны. Либы джунов для манки работы, либо синьоры-архитекторы.
#44 | 15:04 18.01.2023 | Кому: Всем
> Чтобы прийти к успеху в деле свержения тирании капитала, необходимо удерживать при себе знания о всех доступных технологиях.

Почему-то думал, что для свержения тирании капитала немного другие знания нужны, не из области строительства микро- и макро сервисов, а из области строительства ну хотя бы профсоюза, для начала. Но ок, как скажете.
#45 | 15:04 18.01.2023 | Кому: Longint
микросервисы - гуд. это, по-сути, unix-way. то, что это превратили в методику и маркетинг - сути не меняет. по-большому, счету все инновации так появляются. они стимулируют финансирование в переделывание старого и отчасти новое.




Красиво — небольшое.
Пусть каждая программа делает что-то одно, но хорошо.
Стройте прототип программы как можно раньше.
Предпочитайте переносимость эффективности.
Храните данные в простых текстовых файлах.
Извлекайте пользу из уже существующих программных решений.
Используйте скриптовые языки для уменьшения трудозатрат и улучшения переносимости.
Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой.
Делайте каждую программу «фильтром».
#46 | 15:04 18.01.2023 | Кому: nikopol
> это идея работает, что хорошо видно в кризисе который идет прямо сейчас, что мидлы нахер никому не нужны. Либы джунов для манки работы, либо синьоры-архитекторы.

По моим наблюдениям не нужны как раз джуны, а мидлы уходят на раз-два.
#47 | 15:23 18.01.2023 | Кому: Soloqub
> По моим наблюдениям не нужны как раз джуны, а мидлы уходят на раз-два.

если мидлы по цене джуна - то да. Но я работаю в аутсорсе там скорее выгоднее нанять джуна и продать его как мидла заказчику )
#48 | 15:55 18.01.2023 | Кому: Всем
Я "программист-разработчик" уже больше 20 лет. Автор производит впечатление малолетнего долбоёба не понимающего ни в разработке ПО, ни в жизни.
Профессия программиста мало по сути чем отличается от любой другой технической специальности, разве что возможностью удалённой работы, да и то не всегда и не везде. Проявление творческого подхода, как и везде, пожалуй, в большей степени зависит от личных качеств и инициативы. Кто хочет, тот сможет.
И нет ничего удивительного в том, что с расширением и ростом отрасли растёт специализация, автоматизация и падает средний уровень профессионализма.

> мы обойдём все формы и бакенд, добавляя http-запросы, генерирующие это событие, — и вуаля!

Ну да, ну да. И разъебём всю систему. Пошёл нахрен, мальчик, бог подаст (ц)
> Что такое микросервис, значительная часть которого кодогенерируется? Это способ изолировать разработчика от целого
Генерируется только "рыба", да и то не вся и не в готовом виде. Может оно и занимает до 80%, только за код не считается. А смысл тут действительно, в отделении некоей логики, напрямую не связанной с остальными частями для достижения многох целей, в том числе ускорения проверки изменений, выкладки и вцелом повышения надёжности конечного продукта.
>Удалите из своего IDE форматирующие код расширения, уничтожьте линтеры, верифицирующие стиль, оставьте только те, что дают информацию о возможных ошибках. Заставьте творца, который живёт внутри, выйти на первый план!
Ага, пишите в блокноте, щи лаптем хлебайте, так победим! Ппц. Зовите санитаров.
> удерживать при себе знания о всех доступных технологиях
Прямо всех? Это из какого года высер? Если просто ознакомляться с тем, что придумали за недавнее время, надо по полдня каждый день тратить или больше.
Ясен пень, что надо учиться и саморазвиваться, но автор, мягко говоря, не в теме. Только энтузиазм малолетний через край брыжжет.
#49 | 16:24 18.01.2023 | Кому: nikopol
> мидлы нахер никому не нужны. Либы джунов для манки работы, либо синьоры-архитекторы.

Это если сидишь на мегаплатформе.

А если нет - и хочется, чтоб так, и колется.
#50 | 16:44 18.01.2023 | Кому: daurkin
> микросервисы - гуд. это, по-сути, unix-way

В теории - возможно. Но на практике, насколько я знакомился с подобными проектами, получается каша, хуже любого монолита. Тот хотя бы скомпилировать и запустить можно, а сотни микросервисов оказываются намертво прикручены к инфраструктуре. Документация (если она есть) - в вордовских документах, а то и в гугловых по личными учётками. Понятно, это не следствия микросервисной архитектуры, это следствие идиотов в руководстве и низкого среднего уровня исполнителей.

А в качестве unix-way гораздо лучше выглядит java opensource. Есть общедоступные репозитории, есть версионность, многие компоненты развиваются годами и десятилетиями, вычищены от багов и документированы.
Войдите или зарегистрируйтесь чтобы писать комментарии.