Автоматизация

Автоматизация

Ivan

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


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


Подводные камни


Итак, с какими проблемами вероятнее всего придется столкнуться при попытке начать автоматизировать некоторые процессы в жизни/ на работе:

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

2. Первые результаты появятся далеко не сразу и будут они чаще всего кривыми и ненадежными. Их придется постоянно переделывать, ещё разбираться и так по кругу.


Инструменты


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


1. Веб-сервисы которые связывают другие веб-сервисы между собой.

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

Примеры сценариев использования:

  • Получать уведомления о событиях какого-то определенного типа. Это могут быть новости с определенными ключевыми словами, изменения определенного рода в погоде, курсе валют и подобной информации. Кол-во доступных источников определяется используемым сервисом.
  • Фиксировать информацию определенного рода примерно по такого же типа фильтрам.
  • Автоматизация умного дома. Включение света по расписанию, либо по прибытию домой. Включение обогревателя/котла в момент выхода с работы, ну и так далее. Тут уже упирается не в используемый сервис, а в том насколько навороченное оборудование используется.


Примеры инструментов: 

  • IFTTT - легче всего разобраться, бесплатная версия разрешает использовать одновременно не больше 3-ех сценариев. Платная стоит 4 доллара в месяц. Ну и в целом, это один из немногих вариантов которые ориентированы на любительское использование в личных целях, а не на автоматизацию в рамках предприятия. 
  • Zapier - сложнее разобраться, функционал неплохой, бесплатная версия порезана по функционалу и по кол-ву сценариев. Платная от 25 долларов в месяц. 
  • Microsoft Flow - легко разобраться, функционал хороший, беслпатной версии нету. Платная начинается с 15 долларов в месяц. 
  • Huginn - очень широкий функционал, полностью бесплатное решение с открытым исходным кодом. Но его нужно хостить на своём сервере (есть даже варианты которые позволяют сделать это бесплатно, если нагрузка небольшая). Это означает что помимо работы самого приложения (которое и так более сложное для освоения чем предыдущие), придётся еще хотя бы очень базово учиться работе с Linux-системами и командной строкой.


2. Макросы.

Воспроизводит зараннее записанную/прописанную последовательность действий. Покрывает другой тип задач, нежели первая категория. Подходит, в основном, для задач которые выполняются локально на ПК, с помощью взаимодействия с графическим интерфейсом либо пользовательским вводом. 

   Примеры сценариев использования: 

   Любые рутинные действия, которые можно описать одинаковой последовательностью кликов/вводов. Хорошо подходит для обработки каких-то отчетов одинаковой структуры. Иногда используется при работе с Экселем.


Примеры инструментов: 

  • Key Manager\- в меру простой, в меру функциональный. Неплохой вариант для начала. Стоит 50 долларов единоразово, но достаточно легко найти взломанную версию. 
  • AutoHotkey, AutoIt и прочие вариации \- сложно осваивать, полностью бесплатно, очень широкий функционал.


3. Скриптовые языки программирования.

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

   Примеры сценариев использования: абсолютно любые, на какие хватит фантазии и навыков программирования.


Примеры инструментов: 

Самым оптимальным вариантом сейчас является Python.


В какую сторону еще стоит посмотреть.


Иногда гораздо больший чем автоматизация эффект дают:


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

   Вариант достаточно несложный, может дать результат быстро. Требует некоторой дисциплины и чуточки системного подхода.

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

   Вариант достаточно непростой с точки зрения нагрузки на мозг. Требуется некоторое количество критического отношения к миру и к себе. 

   Почитать на тему можно: 

  • Книга Думай медленно, решай быстро, автор Даниел Каннеман. 
  • Книга Рациональность: от ИИ до зомби, автор Элиезер Юдковски 
  • Материалы с сайта lesswrong.ru

3. Написание регламентов/стандартизация рабочих процессов. Человеческий мозг так устроен, что человеку гораздо легче работать в рамках понятного и зараннее описанного процесса. Если описания нету, приходится каждый раз при наличии выбора принимать решение. А принятие решения, пусть даже и простого, это всё равно дополнительный расход когнитивного ресурса. В итоге, когда когнитивный ресурс заканчивается, человек устает, становится нетрудоспособным, ну и в целом испытывает сильный дискомфорт. Если подобное происходит регулярно, то состояние становится хроническим, ты теряешь радость жизни ну и тд. Страшная штука, в общем)).

К примеру, можно начать с того что определить структуру хранения информации/документов. + физически хранимых предметов. Можно описать выполняемые действия при каких-то часто встречающихся/регулярно происходящих событиях. К примеру, чек-лист выполнения ежемесячного отчета, регламент введения в курс работы новых сотрудников, ну и так далее, тут развернуться есть где.

4. Найм фрилансера. В конце концов, даже в рамках автоматизации, если есть конкретная задача, то можно пойти на какую-то фриланс-биржу и заплатить за решение которое сделает человек который в этом шарит. Если посчитать по кол-ву затраченного времени на обучение, то часто получится в десятки/сотни раз выгоднее.

С чего начинать процесс если уж начинать

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

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

Ну а после схемы на бумаге уже ориентируешься по обстоятельствам.

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

Report Page