Дополнительная нагрузка или шанс?
Мне кажется, умение профессионально имплементировать свои алгоритмы повысило бы твою ценность на рынке труда. Можно будет нанять тебя одну и на выходе будет сразу крутой работающий код алгоритма, а иначе придётся в дополнение к тебе всегда искать кого-то, кто и кодировать умеет, и специфические знания предметной области имеет.
Пользовательским интерфейсом, БД и прочими стандартными штуками пусть другие занимаются, а ты в своей алгоритменной нише.
Мне очень нравится твое мнение. Хорошо бы было так.
Вот нашла еще пример, как мне понятен путь достижения цели с пайтоном и непонятен без него:
Надо было найти недели в календарном году, в течение которых мустер изменения цен (ну там в понедельник в 8 утра поднялись, с обеду упали, в вечеру поднялись, а во вторник то же движение, но послабее, а пятница уже похожа на выходные) похож. То есть надо было найте кластеры "неделя перед пасхой + все недели июня имеют похожие мустеры" итд.. И я прикинула, какие методы можно использовать. Нашла подходящую к методу библиотеку пайтона, где нужные функции уже имплементированы:
Потом разложила числовые ряды с историческими ценами за несколько лет на тренд, сезонную компоненту и на стохастическую компоненту. И из сезоной компоненты рассчитала средние значения для каждого часа каждого дня недели каждой недели и сравнила профили каждой недели друг с другом с помощъю найденной библиотеки. Поэкспериментировала с разными характеристиками дистанции и нашла оптимальный для нас путь рассчета.
И вот как бы я обьяснила эту задачу разработчику - непонятно. На той стадии, когда найдена нужная библиотека и для ее функций оптимизированы параметры, я уже написала ядро пайтон-кода. Значит я не могу отказаться от кодирования на пайтоне.
Ну знаешь ли, такое отставание так не решить. Векторизация + параллельность могут дать выигрыш в 5-10 раз, а тебе надо 100. Тут надо сам алгоритм оптимизировать. А какое железо в распоряжении?
То есть этот код исполняется на типичном сервере клиента, и нельзя даже заюзать что-то вроде CUDA? А если вам предлагать вычисления как услугу, и считать в GPU облаке? Данных надо много передавать?
То есть этот код исполняется на типичном сервере клиента, и нельзя даже заюзать что-то вроде CUDA?
Да
А если вам предлагать вычисления как услугу, и считать в ГПУ облаке
Ну это часть стратегии, но наш модуль обязательно должен работать и у клиента локально.
Так если клиент не хочет быстро - то он сам себе злобный буратино ))
При чем тут клиент? У нас стандартные продукты не для одного конкретного клиента, а для целого сегмента рынка.
Алгоритмы наверняка уже обсуждали. А что выбирать ПО - писать их или нет - , точно нет. Это совсем свежий вопрос.
Алл, ну что ты кипятишься?
Переобзови свои пайтоны из прототипов в proof-of-concept и пиши себе их и дальше, а программеры пусть сами решают: ими пользоваться или самим перекодировать.
Мне вот в проекте запретили изначально определить тул, на котором мы окончательный результат выдаем. Ну, мы просто выкатываем новую удобную технологию на пилоты, а там по фидбэкам ПО уже решим, что им удобнее. Захотят описание процессов таки в каком-нибудь экселе получить, сделаем в экселе.
Расслабься.
Алл, ну что ты кипятишься?
Переобзови свои пайтоны из прототипов в proof-of-concept и пиши себе их и дальше, а программеры пусть сами решают: ими пользоваться или самим перекодировать.
Как ни странно, вроде ситуация повернулась в позотивную сторону.
Почему я кипятлиась - потому что мне не нравится бинарность выбора "или ты менеджер и занимаешься только болтовней, или ты муравей-технарь". А меня к этому вынуждали.
В итоге на нашем разговоре с начальством я сказала, что я за профессиональный код (ну а кто против?). И что я и сама готова учиться производить такой код. Но чтоя в первую очередь конечно Product Owner.
Короче обошла я ихнюу бинарность.И что меня приятно удивило - мой шеф не сказал, что на двух стульях не усидишь, и что если я назвалась ПО, так должна завязывать с питоном.
Тут я еще добавила, что нох-хау-трансфер от меня к разработчикам и сейчас занимает массу времени. Все темы бизнес-логики я им подробнейше описываю, делаю презентации, обьяняю аспекты итд. А это семечки по сравнению с бизнес-логикой, которая заключена в мои алгоритмы, а алгоритмы написаны на пайтоне. И как ни странно, мне эту небинарную аргументацию не запретили.
Все согласились с тем, что в одиночку поставлять профессиональный код я не обязана. И на том спасибо. Но дополнительных ресурсов мне не дадут (ну я и не надеялась). А работу команды так и так я планирую. То есть я и раньше могла посадить кого-нибудь из команды за пайтон. А не сделала я этого, потому что мне ресурсов для бэкенда и так не хватает. Пайтон я кое-как могу, а бэкенд я не могу никак. Потому я и пишу скрипты, что это моя едиснтсвенная возможность поддeржать команду, чтобы мы быстрее разрабатывали.
А что самое прикольное, мой менеджер после этого разговора позвонил мне и показал; как он сам тренируется кодировать на пайтоне. Посоветовал эту страницу с упражнениями:
И даже показал свой сертификат, заработанный на этой странице успешным выполнением заданий. При том, что он крупный менеджер, практически глава отдельной фирмы.
Он и мой пример скрипта за один вечер оптимировал во многих местах.
А один разработчик из нашей команды, которого по умолчанию я вижу на месте пайтон-программиста, но не решаюсь ему это сказать (потому что он и так забит под завязку), сегодня сам предложил вработаться в мои скрипты.
В общем, расурсов не прибавилось (на это надажды и не было), и ситуация по прежнему стабильно тяжелая.
Но я могу развиваться в обоих направлениях - и как продакт оунер, и как разработчик алгоритмов.
По такому случаю я сегодня даже не устраивала фотосессий, а села и посмотрела на мои скрипты критическим взглядом. А разработчик мой любезный уже исправил и упростил два скрипта, где я страдаю хренотой и перевожу все структуры туда-обратно и опять назад.
Мне вот в проекте запретили изначально определить тул, на котором мы окончательный результат выдаем. Ну, мы просто выкатываем новую удобную технологию на пилоты, а там по фидбэкам ПО уже решим, что им удобнее. Захотят описание процессов таки в каком-нибудь экселе получить, сделаем в экселе.
Да окончательный результат это хрен с ним. Важно, чтобы тебе не мешали работать в процессе изготовления этого результата, запрещая тулы, которыми тебе сподручно пользоваться.Или мешая тебе развиваться (если тебе например пришлось бы вместо использования современной и комплексной технологии рисовать картинки и писать формулы в каком-нибудь банальном офис-приложении)
Тут я еще добавила, что нох-хау-трансфер от меня к разработчикам и сейчас занимает массу времени. Все темы бизнес-логики я им подробнейше описываю, делаю презентации, обьяняю аспекты итд. А это семечки по сравнению с бизнес-логикой, которая заключена в мои алгоритмы, а алгоритмы написаны на пайтоне. И как ни странно, мне эту небинарную аргументацию не запретили.
То есть классика жанра: "Фуяк, фуяк и в продакшн". Хотя, по идее и по всем канонам должен быть и архитектор, и спецификация требований вплоть до HLD c DLD, тест-планы и прочая аксиоматическая лабуда.