- 22, Oct 2024
- #1
В компании, в которой я сейчас работаю, ужасное количество процессов, требующих ручной работы, поэтому они очень ограничены в количестве проектов, которые они могут взять на себя, поскольку их процессы не масштабируются, они достигли точки, когда им приходится отклонять проекты. . Эти процессы во многом зависят от ручной настройки, ручного выполнения и написания документов Excel и Word и тому подобного. Например, один из этих процессов включает в себя заполнение более 800 ячеек в электронной таблице вручную, а другой экспортирует все эти ячейки вручную в другой внутренний файл. инструмент и так далее.
Я был принят на работу в эту компанию около шести месяцев назад на должность технического руководителя с намерением перевести текущий отдел, в котором я работаю, с ручной работы на автоматизированную работу с Python как языком программирования. Мой профиль чисто технический, я разработчик программного обеспечения и архитектор программного обеспечения с десятилетним опытом работы.
В течение этих шести месяцев я выполнял две разные роли: создавал инфраструктуру Python для автоматического выполнения процессов, а также использовал эту же инфраструктуру для достижения результатов в очень важном проекте, который у них есть, все работает нормально, и меня хвалили высокое качество предоставляемых услуг.
Инфраструктура настолько универсальна и гибка, насколько это возможно, и ее можно настроить с помощью Python для удовлетворения различных потребностей проектов. Логика такая же, как, например, у проекта в React или в Django. Все сложное абстрагировано в инфраструктуре и доступно через вызов функции в Python. Все спроектировано так, что пользователю нужно только запрограммировать специфику проекта и объединить блоки вместе с помощью Python.
Проблема в том, что, поскольку другие люди в отделе были заняты другими проектами, а ручные процессы занимают так много времени, никто, кроме меня, не работал в этой инфраструктуре или проектах, основанных на ней, и никто другой в отделе не занимается этим. программист и ничего не знает о Python, то небольшое программирование, которое они сделали, - это VBA.
Я показал своим коллегам, как все работает, и они признают ценность, которую он представляет, и находят его потрясающим, но совершенно не любят Python, реализацию специфики проекта или поддержание инфраструктуры. Они не программисты, и роль, на которую они должны перейти, требует в определенной степени программирования, реализация специфики проекта требует знания простого Python, поэтому я надеялся, что они начнут с этого в каждом проекте и сами станут свидетелями результатов, но я начинают верить, что этого никогда не произойдет, под предлогом того, что они заняты ручной работой в других проектах.
Недавно я узнал, что в прошлом для того же, что и я, нанималась сторонняя компания, но она не продвинулась далеко.
Другая проблема заключается в том, что ни мой менеджер, ни другие руководители ничего не знают о программном обеспечении, на инфраструктуру не выделяется часов, поэтому я вкладываю все часы, которые я потратил на создание инфраструктуры, которая не связана с конкретным проектом, на конкретный проект, поскольку я мне сказали, и теперь они считают, что автоматизированные процессы занимают слишком много времени, потому что этот проект занял больше времени, чем ожидалось, несмотря на то, что я неоднократно объяснял, что большая часть часов связана с инфраструктурой и очень мало - с реальной функциональностью проекта.
Поэтому я ищу совета, поскольку чувствую себя одиноким и не уверен, что нахожусь в тупике. Прямо сейчас я ограничил рост инфраструктуры до того, как она станет слишком сложной для одного человека, и сосредоточился на сборе интересов и получении правильная статистика того, что можно сделать и сколько времени это займет.
РЕДАКТИРОВАТЬ:
Я предоставлю больше контекста на основе предоставленных ответов.
Сам процесс может состоять в измерении физической величины 800 раз и сообщении о результатах между определенными пороговыми значениями или некоторыми критериями в электронной таблице Excel 800 раз, сейчас это делается вручную хорошо оплачиваемым инженером, который нажимает кнопку инструмента 800 сто раз каждые пять секунд или около того (так быстро, как только может), выполняет фильтрацию в голове и вручную записывает данные в электронную таблицу.
Связь с инструментом не может быть осуществлена с помощью VBA по нескольким причинам, включая технические ограничения языка, и это не будет масштабироваться или поддерживаться для всех инструментов, которые измеряют эту величину, поскольку они используют разные протоколы и принадлежат разным производителям.
Обратите внимание, что это всего лишь процесс в огромной структуре процессов и проектов, которые сильно различаются и могут меняться, и обратите внимание, что это также должно происходить в реальном времени, несмотря на то, что это не выполняется в реальном времени из-за существующих технических ограничений. делается вручную, клиенты жаловались, но проблема не была решена. Именно по этой причине они высоко оценили результаты моей работы, поскольку подобные проблемы также были решены.
Итак, мне нужен подходящий язык, и я выбрал Python, потому что я его хорошо знаю, и его проще всего изучить и начать с него. С Python я могу достаточно хорошо справиться со всем этим в реальном времени и абстрагироваться от всех технических деталей инструментов, драйверов и и так далее, и просто я ожидаю от пользователя некоторого кода Python, чтобы установить критерии фильтрации результатов и местонахождение инструмента по его IP. Лично мне это не кажется сложным.
Я мог бы абстрагировать это до графического пользовательского интерфейса, чтобы пользователи не использовали Python, но учтите, что если я сделаю это для каждого процесса, это будет означать, что я буду сам реализовывать всю функциональность в каждом проекте, пока мои коллеги просто нажимают кнопку. И не все процессы хорошо адаптируются к графическому интерфейсу, они требуют реализации некоторой логики через Python, я не смогу справиться с этим объемом работы сам, и это не является намерением, цель состоит в том, чтобы люди начали автоматизировать вещи, как я это делаю. сам. Цель состоит в том, чтобы я сам решал инфраструктуру и сложные проблемы, а они автоматизировали потребности других проектов с этой инфраструктурой с помощью Python.
Прежде чем приступить к работе, я поговорил со всеми участниками и поделился своим видением инфраструктуры, а также прямо упомянул, что Python будет использоваться, если только не будет, а также многочисленные причины для этого, в частности, растущая сложность проектов и тот факт, что текущий способ работы подразумевает, что многое требований клиентов не были учтены. Теперь я понимаю, что, возможно, они сказали «ОК», не особо задумываясь.
Внедрение этого инструмента поощряется тем, что у меня есть время показать другим участникам, как он работает, и были выбраны два человека, которые начнут работать над ним вместе со мной, и я должен научить их как можно большему в течение этого года, но Я не уверен, что они этому рады, а если вам не нравится программирование, жизнь может превратиться в ад.
Говоря об общем и гибком, я не имею в виду, что это сложно или слишком много функций, это означает, что у них есть одна точка входа в функциональность независимо от настройки, а инфраструктура обрабатывает все основные детали связь, протоколы и алгоритмы за кулисами, они могут использовать любой инструмент, доступный в инфраструктуре, и воспроизводить одни и те же результаты. Под универсальными и гибкими я подразумеваю, что это не зависит от конкретных инструментов или оборудования, вы просто вызываете функцию в Python, чтобы Получите ценность от комбинации инструментов, и она обработает все детали и взаимодействие за вас и даст вам ценность.
По моему мнению, для того, что компания собирается делать со своим отделом, необходимо немного изучить Python. Компания явно получает проекты, требующие высокого уровня индивидуальной автоматизации процессов для получения результатов в очень короткие сроки.
ОТНОСИТЕЛЬНО НЕТЕХНИЧЕСКИХ
Предполагается, что я буду техническим руководителем перехода, но должность такая же, как и у всех остальных в отделе, если не считать старшего звена. Под нетехническим я не имел в виду, что работаю с людьми из других областей, я имел в виду, что не считаю ручную работу, которая ведется в отделе, технической, поскольку любой может нажимать кнопки и заполнять таблицы. По стандартам других компаний мы сильно отстаем по процессам и срокам.
#софтверная индустрия #коллеги #рабочая среда #разработка софта #новый менеджер