#текучка #воронка_продаж
Буду делать расписание самолётов для АК Россия. Подписал контракт. Всë как я люблю - задача сложная, сроки горят.
Буду делать расписание самолётов для АК Россия. Подписал контракт. Всë как я люблю - задача сложная, сроки горят.
🔥18👍13
Решил сменить аватарку. Логотипчик клевый, но общение получалось слишком анонимное.
👍15🗿1
#кейс #алгоритмы #бизнес_аналатика #касдев #дата_инженерия Работа с любым клиентом начинается с загрузки данных. Казалось бы один раз помучался и загрузил. Но мы в наших проектах постоянно упирались в кучу проблем с этим связанными.
1. Ошибки во входных данных. Люди их видят и могут справляться. А вот программа сходу так не может. Здравый смысл алгоритму прикрутить можно, но это большие дополнительные усилия.
2. Неявные ручные бизнес процессы. Люди принимают решения и что-то помечают в таблицах, а что-то остается в голове. Есть правила заполнения, но они не всегда выполняются. В результате, во входных данных иногда невозможно определить что мусор, а что важно.
3. Заведомо некорректные входные данные. Один наш потенциальный клиент очень вольно трактовал 139 приказ (лётные правила). Если не придираться, то они все выполняли. А если посмотреть, как пилот приземляясь в Петербурге оказывался через 12 часов в Москве, то возникали вопросы как он успел выспаться дома и уехать в Москву. В результате во входных данных всегда были телепорты пилотов и нам с этим приходилось работать.
Другая компания ставила прилет самолета из Турцию в Москву в 23.00 На самом деле он всегда прилетал в час ночи. Турист приезжал в аэропорт и ему объявлялось, что самолет задерживается.
На бумаге одно, а в уме другое.
4. Никогда такого не было и вот опять (с).
Вообще забавно, что у заказчиков всегда разрыв в голове между тем, как должно быть, и как оно на самом деле. Ни один заказчик не расскажет, какая фигня случается. Пока не не погрузитесь на половину в проект. Да и тогда он не то что расскажет, а когда вы носом ткнете помнется и признается, что да иногда такая ерунда случается.
На самом деле, чтобы алгоритм был реально полезен, его надо разрабатывать для реальных случаев, а не воздушных замков. И разрыв между этими штуками бывает очень большой.
В одной компании, тщательно следили за выполнением 139 приказа и были уверены, что его нарушений нет в принципе. А мы нашли там грубейшие вещи, главный диспетчер, говорят, когда увидел "поседел во второй раз".
В общем, чтобы почистить данные для алгоритма иногда приходится оцифровать компанию, изменить их существующие процессы и поменять принципы управления. 🤣
Я это рассказываю всем крупным заказчикам, чтобы готовить их. Потому что есть большой фронт работ, который не запланирован в ТЗ, но который все равно придется делать. И если сроки из-за этого сползут, надо чтобы было точно понятно, что я делал все что мог, чтобы этого не случилось.
1. Ошибки во входных данных. Люди их видят и могут справляться. А вот программа сходу так не может. Здравый смысл алгоритму прикрутить можно, но это большие дополнительные усилия.
2. Неявные ручные бизнес процессы. Люди принимают решения и что-то помечают в таблицах, а что-то остается в голове. Есть правила заполнения, но они не всегда выполняются. В результате, во входных данных иногда невозможно определить что мусор, а что важно.
3. Заведомо некорректные входные данные. Один наш потенциальный клиент очень вольно трактовал 139 приказ (лётные правила). Если не придираться, то они все выполняли. А если посмотреть, как пилот приземляясь в Петербурге оказывался через 12 часов в Москве, то возникали вопросы как он успел выспаться дома и уехать в Москву. В результате во входных данных всегда были телепорты пилотов и нам с этим приходилось работать.
Другая компания ставила прилет самолета из Турцию в Москву в 23.00 На самом деле он всегда прилетал в час ночи. Турист приезжал в аэропорт и ему объявлялось, что самолет задерживается.
На бумаге одно, а в уме другое.
4. Никогда такого не было и вот опять (с).
Вообще забавно, что у заказчиков всегда разрыв в голове между тем, как должно быть, и как оно на самом деле. Ни один заказчик не расскажет, какая фигня случается. Пока не не погрузитесь на половину в проект. Да и тогда он не то что расскажет, а когда вы носом ткнете помнется и признается, что да иногда такая ерунда случается.
На самом деле, чтобы алгоритм был реально полезен, его надо разрабатывать для реальных случаев, а не воздушных замков. И разрыв между этими штуками бывает очень большой.
В одной компании, тщательно следили за выполнением 139 приказа и были уверены, что его нарушений нет в принципе. А мы нашли там грубейшие вещи, главный диспетчер, говорят, когда увидел "поседел во второй раз".
В общем, чтобы почистить данные для алгоритма иногда приходится оцифровать компанию, изменить их существующие процессы и поменять принципы управления. 🤣
Я это рассказываю всем крупным заказчикам, чтобы готовить их. Потому что есть большой фронт работ, который не запланирован в ТЗ, но который все равно придется делать. И если сроки из-за этого сползут, надо чтобы было точно понятно, что я делал все что мог, чтобы этого не случилось.
🔥16💯10👍5❤1
План работы на сегодня:
#текучка #воронка_продаж
9:15 планерка
10:00 созвон с лидом
12:30 созвон с клиентом 1
13:30 день рождения сына
15:00 созвон с клиентом 2
16:00 созвон с клиентом 3.
Еще в перерывах успевать надо писать документы, покодить и текучку разгрести.
#текучка #воронка_продаж
9:15 планерка
10:00 созвон с лидом
12:30 созвон с клиентом 1
13:30 день рождения сына
15:00 созвон с клиентом 2
16:00 созвон с клиентом 3.
Еще в перерывах успевать надо писать документы, покодить и текучку разгрести.
👍9
#текучка
Уехал на воллейбольный кемп на круизном лайнере. Сейчас в Стамбуле. Отпуск это значит работать буду часов 20 в неделю 😂
Уехал на воллейбольный кемп на круизном лайнере. Сейчас в Стамбуле. Отпуск это значит работать буду часов 20 в неделю 😂
😎12🔥10😁5👍1
Гуляли по Стамбулу, видели много довольных котиков.
#текучка #ai
Вспомнилась связь с AI. Многие боятся искусственного интеллекта, дескать он вытеснит людей. Ну да он вытеснит. Но ИИ создан и продолжает создаваться, чтобы заботиться о людях. Ну он и будет заботиться дальше. А люди станут котиками ИИшечек.
#текучка #ai
Вспомнилась связь с AI. Многие боятся искусственного интеллекта, дескать он вытеснит людей. Ну да он вытеснит. Но ИИ создан и продолжает создаваться, чтобы заботиться о людях. Ну он и будет заботиться дальше. А люди станут котиками ИИшечек.
🤔2
Математика как золото, мало найти, надо еще добыть и обогатить.
#текучка #математика #воронка_продаж
Вернулся из отпуска. Сил там писать не было. Столкнулся с интересной ситуацией. Один воллейболист работает на золоторудном ГОК и решает там математические задачки. Решает их на коленке и не стабильно. Но в целом нормально. Пообщавшись с ним с одной стороны увидел, что задачи у них есть. В том смысле, что они теряют деньги из-за того, что делают что-то не оптимально и на коленке. Но эти задачи будет очень тяжело решать и внедрять, потому что люди хотят получить не просто ответ. А интерпретируемый ответ. Почему именно он лучший и как по шагам его получить. Грубо говоря нужно по формулами в экселе разложить. Но очень понятно считать ли это просто сильно холодным клиентом (шихтой с низким содержанием математики :) и не заморачиваться или придумать какой-то метод по обогащению и извлечению.
Еще одна ситуация. Мой друг детства устроился на работу к другому другу детства. :) И первый увидел и рассказал второму что я могу порешать ему кучу его задач. Я собственно сам второму рассказывал, но видимо не отложилось, что я могу не только решать математику но и запрограммировать.
Даже друзья которые, знают меня и мои способности, у которых есть проблема не осознают, что у меня есть серебряная пуля для этой проблемы.
Надо будет сформулировать критерий, как внутри какой-то компании понять, что пора звать математика.
#текучка #математика #воронка_продаж
Вернулся из отпуска. Сил там писать не было. Столкнулся с интересной ситуацией. Один воллейболист работает на золоторудном ГОК и решает там математические задачки. Решает их на коленке и не стабильно. Но в целом нормально. Пообщавшись с ним с одной стороны увидел, что задачи у них есть. В том смысле, что они теряют деньги из-за того, что делают что-то не оптимально и на коленке. Но эти задачи будет очень тяжело решать и внедрять, потому что люди хотят получить не просто ответ. А интерпретируемый ответ. Почему именно он лучший и как по шагам его получить. Грубо говоря нужно по формулами в экселе разложить. Но очень понятно считать ли это просто сильно холодным клиентом (шихтой с низким содержанием математики :) и не заморачиваться или придумать какой-то метод по обогащению и извлечению.
Еще одна ситуация. Мой друг детства устроился на работу к другому другу детства. :) И первый увидел и рассказал второму что я могу порешать ему кучу его задач. Я собственно сам второму рассказывал, но видимо не отложилось, что я могу не только решать математику но и запрограммировать.
Даже друзья которые, знают меня и мои способности, у которых есть проблема не осознают, что у меня есть серебряная пуля для этой проблемы.
Надо будет сформулировать критерий, как внутри какой-то компании понять, что пора звать математика.
👍14🤔3
Задач становится всё больше, задачи все интересней. Снова ищу разработчиков.
#вакансия
### Ищем Middle/Senior Python Backend-разработчика с опытом в оптимизации и анализе данных
Разрабатываем сложные оптимизационные модели.
Математические модели у нас есть — нужен разработчик, который сможет эффективно встраивать и дорабатывать прототипы.
Что предстоит делать:
- Решать задачи дискретной оптимизации (Pyomo) с учетом множества ограничений.
- Интегрироваться с внешними API (httpx) и обрабатывать данные (Pandas).
- Строить графовые алгоритмы и анализировать временные ряды.
- Писать чистый, тестируемый код (Pytest, Pydantic).
Что мы ждем от вас:
- Опыт работы с Python.
- Умение работать с Pandas и внешними API.
- Понимание принципов анализа данных и построения алгоритмов.
- Готовность разбираться в сложных задачах и искать нетривиальные решения.
Будет плюсом:
- Опыт работы с оптимизационными моделями и решателями (Pyomo, CPLEX, Scip, Gurobi, etc.)
- Опыт взаимодействия с ИИ-агентами (ChatGPT, Claude, Gemini и др.) для:
- Автоматизации рутинных задач разработки
- Генерации и рефакторинга кода
- Поиска оптимальных решений сложных алгоритмических задач
- Документирования и анализа кодовой базы
Что предлагаем:
- Удаленную работу с гибким графиком.
- Достойную оплату и быстрый профессиональный рост.
- Интересные проекты на стыке математики и разработки.
Если вам близки задачи, где код решает реальные оптимизационные проблемы, а ИИ помогает в разработке — будем рады познакомиться! 🚀
#вакансия
### Ищем Middle/Senior Python Backend-разработчика с опытом в оптимизации и анализе данных
Разрабатываем сложные оптимизационные модели.
Математические модели у нас есть — нужен разработчик, который сможет эффективно встраивать и дорабатывать прототипы.
Что предстоит делать:
- Решать задачи дискретной оптимизации (Pyomo) с учетом множества ограничений.
- Интегрироваться с внешними API (httpx) и обрабатывать данные (Pandas).
- Строить графовые алгоритмы и анализировать временные ряды.
- Писать чистый, тестируемый код (Pytest, Pydantic).
Что мы ждем от вас:
- Опыт работы с Python.
- Умение работать с Pandas и внешними API.
- Понимание принципов анализа данных и построения алгоритмов.
- Готовность разбираться в сложных задачах и искать нетривиальные решения.
Будет плюсом:
- Опыт работы с оптимизационными моделями и решателями (Pyomo, CPLEX, Scip, Gurobi, etc.)
- Опыт взаимодействия с ИИ-агентами (ChatGPT, Claude, Gemini и др.) для:
- Автоматизации рутинных задач разработки
- Генерации и рефакторинга кода
- Поиска оптимальных решений сложных алгоритмических задач
- Документирования и анализа кодовой базы
Что предлагаем:
- Удаленную работу с гибким графиком.
- Достойную оплату и быстрый профессиональный рост.
- Интересные проекты на стыке математики и разработки.
Если вам близки задачи, где код решает реальные оптимизационные проблемы, а ИИ помогает в разработке — будем рады познакомиться! 🚀
🔥14👍6❤3
#текучка #ai #постановка
В работе математика главное уметь абстрагироваться от не нужных для конкретной задачи условий. Привязка к миру мешает. В результате математики все немного странные, как герои Алисы в стране чудес (это вообще самая математическая книга из того, что я знаю). Это фича, а не баг.
И это на самом деле сложно.
Сотруднице заказчик сказал придумать схему с AI, не экономя деньги на запросы. Я сказал то же самое. И все равно она пишет вот нашла такую схему, но тут цена вырастает в 20 раз до доллара за запрос.
Чересчур отвязываться тоже вредно. Вот в этой задачке, ловят людей на том, что они забывают название задачи и переходят к числам забывая про кубики.
В работе математика главное уметь абстрагироваться от не нужных для конкретной задачи условий. Привязка к миру мешает. В результате математики все немного странные, как герои Алисы в стране чудес (это вообще самая математическая книга из того, что я знаю). Это фича, а не баг.
И это на самом деле сложно.
Сотруднице заказчик сказал придумать схему с AI, не экономя деньги на запросы. Я сказал то же самое. И все равно она пишет вот нашла такую схему, но тут цена вырастает в 20 раз до доллара за запрос.
Чересчур отвязываться тоже вредно. Вот в этой задачке, ловят людей на том, что они забывают название задачи и переходят к числам забывая про кубики.
👍3
Интересно кто в каком редакторе кодит. Я вот все не могу выйти из VIM. Даже в VS Code не перешел. А вот в курсор пора видимо уже.
Anonymous Poll
10%
Простой типа notepad++
55%
Навороченное IDE Visual Studio/PyCharm
20%
Ноутбуки типа Jupyter
9%
Олдскульные vim/emacs
21%
ИИшный Cursor
9%
Другое
Планирую выступать на конференциях с потенциальными заказчиками. Помогите определить темы. Вот я такой для себя список тем набросал.
Anonymous Poll
24%
Как выбирать программные продукты в условиях появления ИИ
22%
Цифровизация компаний, боевой опыт.
71%
Как понять, что вам в компании нужна математика.
23%
Рост бизнеса в условиях неопределенности и появления ИИ
5%
В чем бы вы хотели разобраться связанным с математикой, разработкой ПО и ИИ? Напишите в комментариях
MM.DD.YYYY
#алгоритмы #баг #даты
Словили забавный баг. План работ ломался до 12 апреля, а с 13 починился. Заподозрил, что путаются день и месяц. Проверил и правда! 11 апреля улетало в 4 ноября, а 12 апреля в 4 декабря. Баг был мелкий и виртуальный (в тестовой системе) быстро поправили. Но все равно американцу, который решил писать дату в формате MM.DD.YYYY надо руки оторвать.
#алгоритмы #баг #даты
Словили забавный баг. План работ ломался до 12 апреля, а с 13 починился. Заподозрил, что путаются день и месяц. Проверил и правда! 11 апреля улетало в 4 ноября, а 12 апреля в 4 декабря. Баг был мелкий и виртуальный (в тестовой системе) быстро поправили. Но все равно американцу, который решил писать дату в формате MM.DD.YYYY надо руки оторвать.
😁23🙏3👍2
#резюме
А никто не пилит ИИ стартап с прицелом на международный рынок ?
У меня есть сильная знакомая, которая ищет позицию growth product в подобных компаниях.
UPD. Устроил человека. Если что обращайтесь :)
А никто не пилит ИИ стартап с прицелом на международный рынок ?
У меня есть сильная знакомая, которая ищет позицию growth product в подобных компаниях.
UPD. Устроил человека. Если что обращайтесь :)
🔥4❤1
#история #бизнес
Я в реальной жизни попадал в такую ситуацию. Обошлось все для меня хорошо. А подрядчик убытки вроде зафиксировал, в итоге. Вариантов, я так понял, не было, "место проклятое".
Работать субподрядчиком имеет свои плюсы. Математическая часть это волшебство, ключевая часть проекта и без неё не взлетит.
Но по объему работ она всегда сильно меньше, чем разработка самого софта вокруг расчетного ядра.
В результате, если сроки сползают, то всегда по вине подрядчика, а я всегда успеваю свои дела сделать.
Правда я все равно хочу и разработкой софта заняться. Потому что математическая часть вкусная и приятная, но мелкая. Условно говоря, если есть проект за 100 миллионов, с прибылью в 30, то моя часть оттуда 10 с прибылью в 5.
– У нас новый сотрудник – Алексей! Введите его в курс дел нашей фирмы.
– Лёха, беги!
Я в реальной жизни попадал в такую ситуацию. Обошлось все для меня хорошо. А подрядчик убытки вроде зафиксировал, в итоге. Вариантов, я так понял, не было, "место проклятое".
Работать субподрядчиком имеет свои плюсы. Математическая часть это волшебство, ключевая часть проекта и без неё не взлетит.
Но по объему работ она всегда сильно меньше, чем разработка самого софта вокруг расчетного ядра.
В результате, если сроки сползают, то всегда по вине подрядчика, а я всегда успеваю свои дела сделать.
Правда я все равно хочу и разработкой софта заняться. Потому что математическая часть вкусная и приятная, но мелкая. Условно говоря, если есть проект за 100 миллионов, с прибылью в 30, то моя часть оттуда 10 с прибылью в 5.
🔥9👍5❤4👌3
#текучка
Сдали с боями в прошлую пятницу этап для АК Россия. Первый этап самый сложный - сделать надо больше всего, при этом не т согласованности между людьми. Было больно но пробились. Дальше будет проще.
Еще из интересного - в апреле было два лида из-за границы, все из "записной книжки". Юр лицо делать там не хочется, буду думать что с этим делать.
Сдали с боями в прошлую пятницу этап для АК Россия. Первый этап самый сложный - сделать надо больше всего, при этом не т согласованности между людьми. Было больно но пробились. Дальше будет проще.
Еще из интересного - в апреле было два лида из-за границы, все из "записной книжки". Юр лицо делать там не хочется, буду думать что с этим делать.
🔥7👍3🏆3👀1
#выступления #вопрос
Предлагают поучаствовать в конфернции TechWeek. Говорят крутая конференция, но я что то не слышал. Действительно крутая? Кто-то туда идет?
UPD. Все ясно )
Предлагают поучаствовать в конфернции TechWeek. Говорят крутая конференция, но я что то не слышал. Действительно крутая? Кто-то туда идет?
UPD. Все ясно )
СТОЛП (Стандартные Технологии Организации Линейного Программирования) или
Быстрый поиск ошибки в задаче ЦЛП.
#алгоритмы #mip #opensource
При разработке ЦЛП есть такая проблема, что их очень неудобно отлаживать. Нельзя дебаггером пройтись и понять, в каком уравнении сделал ошибку.
При написании модели они часто оказываются несовместными (infeasible), и надо искать, где именно произошла ошибка. У коммерческих солверов для этого есть механизм поиска минимального набора несовместных ограничений. Но это очень неудобная штука. Они там просто в каждое ограничение добавляют слак переменную, и дальше минимизируют их набор. Задача оказывается почти всегда сильно более сложной, и я почти никогда не дожидался, когда она доработает.
А я придумал другой подход. Я просто беру lp файл и ищу какое-нибудь несовместное ограничение бинарным поиском. То есть удаляю половину ограничений и смотрю есть ли решение или нет. Если нет, удаляю половину оставшихся ограничений и т.д.
Этот метод оказывается на практике очень быстрым и полезным. Задачки обычно считаются моментально и можно быстро найти ограничение, на котором падает и это часто наводит на мысли.
Я пошел дальше и сделал функцию, которая это делает за меня автоматически. Увидеть как программа сама находит некорректное ограничение, это просто кайф❤️🔥 .
А потом я пошел еще немного дальше и сделал свободную библиотеку СТОЛП, куда положил эту функцию.
https://gitlab.com/tarasov.alexey/stolp/
Если кто так же настрадался копаясь в инфизиблах, милости прошу использовать. Буду очень рад, если эта штука еще кому-то пригодится.
P.S. У меня есть еще разные ноухау, которыми я планирую делиться и выкладывать их в этот проект. По мере свободного времени буду это делать.
Быстрый поиск ошибки в задаче ЦЛП.
#алгоритмы #mip #opensource
При разработке ЦЛП есть такая проблема, что их очень неудобно отлаживать. Нельзя дебаггером пройтись и понять, в каком уравнении сделал ошибку.
При написании модели они часто оказываются несовместными (infeasible), и надо искать, где именно произошла ошибка. У коммерческих солверов для этого есть механизм поиска минимального набора несовместных ограничений. Но это очень неудобная штука. Они там просто в каждое ограничение добавляют слак переменную, и дальше минимизируют их набор. Задача оказывается почти всегда сильно более сложной, и я почти никогда не дожидался, когда она доработает.
А я придумал другой подход. Я просто беру lp файл и ищу какое-нибудь несовместное ограничение бинарным поиском. То есть удаляю половину ограничений и смотрю есть ли решение или нет. Если нет, удаляю половину оставшихся ограничений и т.д.
Этот метод оказывается на практике очень быстрым и полезным. Задачки обычно считаются моментально и можно быстро найти ограничение, на котором падает и это часто наводит на мысли.
Я пошел дальше и сделал функцию, которая это делает за меня автоматически. Увидеть как программа сама находит некорректное ограничение, это просто кайф
А потом я пошел еще немного дальше и сделал свободную библиотеку СТОЛП, куда положил эту функцию.
https://gitlab.com/tarasov.alexey/stolp/
Если кто так же настрадался копаясь в инфизиблах, милости прошу использовать. Буду очень рад, если эта штука еще кому-то пригодится.
P.S. У меня есть еще разные ноухау, которыми я планирую делиться и выкладывать их в этот проект. По мере свободного времени буду это делать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍7👏3