Так совпало, что мы у нас в чатике программистов (1500 человек, на минуточку) обсуждали вчера весь день MOEX и их нестабильность.
Меня уговаривают поддерживать коннекторы к MOEX бесплатно. А я их с поддержки СНЯЛ и буду поддерживать, только если они(Биржа) мне будут платить деньги за это ЕЖЕМЕСЯЧНО. Напомню, что у нас терминал для алготрейдеров. Open Source. Один из самых популярных в своём роде. И Plaza или ASTS Bridge нет нет, да нужны кому-то. А ещё есть куча коннекторов, которые можно сделать… Целый зоопарк.
Сейчас я бы хотел поговорить о серьёзной причине проблем на бирже. Их две. Но сначала дисклеймер.
Мне тяжело судить такой большой объект, как ядро биржи MOEX и периферию. У меня очень маленький проект по сравнению с ними. 1/30 наверное. Но у меня есть кое-какие мысли по поводу.
Первая причина
Рис. 1. Программист, сбежавший в Тбилиси.
Падение уровня компетенций в IT компаниях колоссален.
Писал статью на тему недавно: https://smart-lab.ru/blog/937326.php
И даже выиграл ноутбук от SoftLine. Спасибо!
Прежде, чем мне объявили о том, что приз мой, было ещё вот это:
Рис. 2. Да. Я сам плакал. И когда от меня люди убегали, и когда статью писал.
Тема для всех одинакова...
Пост набрал 15 тысяч просмотров. Что скорее характерно для HABRa, чем для СмартЛаба. Задел за живое...
Поэтому первая причина — всё-таки в падении качества сотрудников.
ВСЕМ ЧИТАТЬ ОБЯЗАТЕЛЬНО: https://smart-lab.ru/blog/937326.php
И на Биржу не обижайтесь сильно!!! Это страшный вызов, с которым они борются до сих пор...
Как и я… Как и Softline… Как и все IT компании...
ВТОРАЯ ПРИЧИНА
Она историческая.
Рис. 3. Нестабильность слоёв совместимости и несоблюдение принципов SOLID.
Программистов пошлю читать Мартина и его «Чистая архитектура» www.ozon.ru/category/chistaya-arhitektura-robert-martin/ Тут мне Вам больше пояснить нечего. Очень крутая книжка.
Для «непрограммистов» на примере OsEngine.
Слой совместимости и создания роботов с индикаторами не меняю лет пять уже. Т.к. знаю, что на них завязаны сотни людей. И десятки команд людей. Это мне каким надо быть безответственным негодяем, чтобы ломать слой создания роботов. У всех же всё полетит. Сотни тысяч, а может и миллионов рублей убытков из-за каждой моей правки. Поэтому даже опечатки исправлять греховно.
Впервые я с этим столкнулся в СтокШарп, когда они каждую неделю в течении полу-года меняли СЛОЙ создания роботов. Это было как раз лет 10 назад. Т.е. меняли песочницу самого высокого уровня. По сути АПИ для создания роботов. У меня тогда слетело несколько заказов и решил делать свой стокШарп с блекджеком и всем остальным. Навсегда решив, что даже опечатки, которые будут в слое создания роботов на релизе на гитХаб в этой песочнице, я приму, как постоянную боль, с которой ничего не сделать. Как родимое пятно у ребёнка. Плохо, но не исправимо.
Так вот. Плаза и Астс Бридж коннекторы в OsEngine, выходят из строя стабильно раз в полгода, когда-то чаще. Т.к. им там как будто без разницы на те сотни людей и команд, которые на них завязаны.
Я отказался в этом участвовать около года назад. У меня 2 — 3 программиста в штате. Тогда и вообще кризис был, стало меньше. Просто нет сил в этом участвовать. Поправил коннектор, хренак, через 2 месяца он опять сдох, т.к. кому-то из команды биржи занадобилось сменить название переменной с одного на другое, в ПУБЛИЧНОМ АПИ, к которому подключены сотни клиентов!
Это СТРАШНЫЙ СМЕРТНЫЙ ГРЕХ, НАРУШАЮЩИЙ ВСЕ ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ!
Рис.4. Макаронный монстр вами не доволен.
Если такой беспредел с АПИ публичными. Тоже самое и в слоях взаимодействия модулей различных, которые никто не видит. И от чего-то разрешается менять слои совместимости везде. Сверху донизу. И команды должны бесконечно пробрасывать через N слоёв чью-то прихоть сменить окончание у переменной.
И упала биржа из-за этого с вероятностью очень большой. Из-за нестабильности слоёв совместимости внутри проекта, которые и на внешней инфраструктуре видны невооружённым взглядом.
ТАК КОГДА OsEngine НАЧНЁТ ПОДДЕРЖКУ Plaza 2 и всего остального для MOEX?
Сами… Парни, пока сами… Хватит меня об этом просить.
Участвовать в этом НЕ ХОЧУ. Я устал, я мухожук.
Много лет OsENgine тратил на это ресурсы. А Я НИЩЕБРОД (очень мало ресурсов). Open Source почти без монетизации. Только коммьюнити у нас есть. Тратил последние, восстанавливая работоспособность коннекторов к их API, когда они меняли названия переменных.
НЕ МОГУ БОЛЬШЕ!
Пишите мне, дорогая биржа, пожалуйста, и оплачивайте эту работу. Через OsEngine ежедневно торгуют СОТНИ алготрейдеров. Поддержите наш Open Source постоянной поддержкой, и будем жить в радость. Долгосрочный договор о сотрудничестве. Никак иначе. Моё предложение к ВАМ и брокерам, вот здесь: o-s-a.net/posts/os-engine-partnership-ru.html
В целом — выражаю команде MOEX соболезнования. Вместо премии на праздник, стресс и штрафы. Это не круто. Всех жалко.
Если у вас так работает, то вам прям респект и почет )
я ответил ему, я сказал, капитан,
никогда ты не станешь майором" © Высоцкий
Я по поводу вот этой мысли в посте: Полагаю это неправильно. Лучше признать свои ошибки, покаяться перед своей паствой и совместно устранить косяк, чем тащить этот грех через годы, получая в свой адрес тухлые яйца и гнилые помидоры.
Приведу пример гениального человека с паствой на порядки большей твоей. Это Стив Джобс. Если Стив решал, что в новой версии нужно сделать по-другому, более правильно и отточено, то он плевал на мнения и удобства сотен миллионов, делал как считал правильно и эти сотни миллионов верили Джобсу и брали его новые совершенства, невзирая на удобства, привычки и затраты.
Можно поставить в календарь ежемесячную задачу — проверить первую страницу изменений в доке плазы, если дока обновилась. Обычно полгода-год в релизе находятся поля, которые помечены устаревшими и достаточно времени их поменять на новые. Небольшую досаду вызывают изменения в потоках, но они тоже происходят не внезапно. Справедливости ради — биржа с каждым годом падает все реже.
Неизменность апи — великая и несбыточная мечта ) Меняются технологии, фреймворки. sdk .net framework 4.8, на котором работает Ваш движок — уже отсутствует в дефолтной установке вижуал студио, надо устанавливать отдельно, с этого и начинаются костыли.
Респект и уважуха за продвижение алго! Очень надеюсь, что когда-нибудь до биржи дойдет необходимость сразу предлагать удобные и доступные массово коннекторы.
smart-lab.ru/blog/940774.php