10 причин опанувати Intelligent Automation

Декілька років тому я був звичайним Web-девелопером, досить успішно розвивався та піднімався кар’єрною драбиною. Та в певний момент зрозумів, що хочу спробувати щось нове, змінити свій профіль чи технічний домен. Саме в той час EPAM відкрив новий напрямок — Intelligent Automation. «Поварившись» 2 роки у сфері розумної автоматизації, вирішив поділитися своїм досвідом та розповісти про причини, чому саме зараз варто звернути увагу на ІA технології.

ІА чи розумна автоматизація — технологія, яка активно розвивається на західному ринку. Це зручний спосіб автоматизації бізнес-процесів, пов’язаних з ручною обробкою та інформацією без реінжинірингу. Особливість підходу в тому, що взаємодія між програмами відбувається не на рівні інтерфейсів прикладного програмування (API), а через існуючий користувальницький інтерфейс, що імітує поведінку людини.

Так от, пошукавши більше інформації про ІА, я вирішив заглибитись у цю тему. За прогнозом Market Research Future, ринок інтелектуальної автоматизації й надалі буде щороку зростати вдвічі. Вже зараз помітний підвищений попит на ІА фахівців. І він буде рости так само, як і ринок автоматизації.

Джерело

На початку хочу зробити уточнення, щоб Intelligent Automation не плутали з іншим напрямком:

1. ІA — новий етап в розвитку програмування

Я починав працювати з Асемблером і Паскалем. Потім настала ера ООП. Зараз наближається час метапрограмування, коли з існуючих сервісів та інструментів ми створюємо продукт. Іншими словами, зараз все відбувається на вищому рівні — можна брати готові блоки, поєднувати їх в один механізм. У такому вигляді вони ідеально працюють. Все йде до вищих рівнів абстракції.

Інтелектуальна автоматизація — це наступний крок розвитку. Вона буде актуальною щонайменше ще 5-10 років (доки не автоматизується більшість процесів у бізнесі). І якщо вам хочеться інвестувати свій час у щось нове, що буде стабільно розвиватися, це хороша перспектива. Щоб почати працювати в цьому напрямку, вистачає аналітичного мислення та досвіду роботи з певною мовою програмування. Ідеально, якщо це Java чи .NET, адже ваші знання будуть корисні при використанні ІА платформ:

Скажу більше, розібратись в IA простіше, аніж вивчити Java чи іншу нову технологію з нуля. І це не залежить від вашої сеньйорності. Більшість платформ автоматизації намагаються зробити інтерфейс user friendly. Тому вхід у цю спеціальність легший. Отож, якщо ви вже розробник та працюєте з певною технологією, яка, наприклад, відмирає, або ви займаєтесь автоматизованим QA, вам буде досить легко зрозуміти процеси в Intelligent Automation.

2. Короткий цикл від ідеї до впровадження

Від моменту, коли ми зібрали вимоги до процесу (що саме треба запрограмувати), до моменту, коли ми розгорнули проект на продакшені і отримали зворотній зв’язок від клієнта та кінцевого користувача, проходить у середньому два-три місяці.

Такий короткий цикл дає можливість побачити кінцевий результат в стислі терміни. Тому ви досить швидко бачите результати своєї роботи та користь, яку ви принесли клієнту.

3. Можливість працювати з різними інструментами, бібліотеками, сервісами

Саме через те, що життєвий цикл імплементації одного бізнес-процесу короткий, ми можемо швидко переключатися на нові інструменти, працювати з різними платформами, бібліотеками, сервісами і т. д. Тому розробник, котрий займається інтелектуальною автоматизацією, має можливість спробувати різні варіанти у своїй роботі. Деколи необхідно реалізувати складні алгоритми, деколи — прості. Частину роботи треба робити окремо під клієнта. У таких випадках доводиться писати кастомну логіку. Бізнес-логіка може описуватись певними алгоритмами чи правилами. Якщо це зробити складно, можуть допомогти алгоритми машинного навчання (Machine Learning). Для цього має бути історична інформація, яка показує, як ця логіка працює. Застосування машинного навчання — це теж певний челендж. Для цього треба проаналізувати/нормалізувати дані й натренувати алгоритми.

Так, на одному з проектів перед нами стояла задача — автоматизувати розпізнавання відсканованих документів, які надійшли на поштову скриньку. В першу чергу треба було проаналізувати, чи є вкладення певного типу файлів (pdf, jpeg, тощо). Якщо так, ми вважали, що це документ, який треба розпізнати та обробити.

При розпізнаванні поставало три задачі. Перша — перевести зображення в текст (OCR). Часто якість документів була поганою. Багато з них були надіслані факсом, тому їх треба було підготувати до розпізнавання.

По-друге, потрібно було розпізнати тип документу. Причому, якщо зображення складаються з однієї сторінки і тут не було проблем, то pdf-файли могли містити 10-20 сторінок, кожна з яких могла бути іншим документом. Наприклад, там могли бути водійські права, резюме, сертифікати и т. д. Загалом більше 120 типів документів. Чимало з них не мали єдиного стандарту, для прикладу резюме чи звіти витраченого часу. Врешті-решт ми досягли 73% розпізнавання. На обробку кожного нового документу йшла хвилина.

Третя задача — розпізнати, хто саме вказаний в документі. На кожному документі ім’я та прізвища були у різних місцях. Допомагало те, що у нас була база імен, які могли зустрічатися в тих документах. Але ми не знали, де саме у документах це шукати — іноді ім’я та прізвище стояли не поруч, інколи було багато шумів після розпізнавання. В цій задачі ми досягли 93% розпізнавання імені і прізвища. Додатковим викликом було те, що текст в якому ми шукали імена — був неточно розпізнаний, і через це траплялися помилки. Як результат, ми були змушені використовувати алгоритми наближеної схожості слів. В цій задачі ми досягли результативності 93%.

Зараз у нас є проект для великої організації, яка використовує близько 25 систем, які треба інтегрувати. Кожна зі своїми нюансами та обмеженнями через вимоги безпеки. Тому є постійна можливість освоювати щось нове.

4. Робота з різними платформами/технологіями

Платформа обирається залежно від бізнес-моделі клієнта та тих рішень, які він вже використовує. Тобто ми, як розробники, насамперед зосереджуємося на проблемі клієнта, яку треба вирішити. Уже потім переключаємося на вибір мови програмування і платформи. З професійної точки зору це цікавіше, адже дозволяє спробувати багато технологій з тих, що є на ринку зараз.

Зараз існує більше 15 платформ для інтелектуальної автоматизації. Ми працюємо з трьома — WorkFusion, UiPath та Karpow. При чому написані вони на різних мовах (наприклад, Java чи .NET). Наші розробники мають можливість переключатися з однієї на другу без особливих ускладнень.

5. Технічні виклики

На проектах нам постійно доводиться вирішувати різного роду виклики. Вони пов’язані з тим, що вже використовує клієнт. Зокрема:

  • Розібратися з труднощами інтеграції з системами і програмними платформами в інфраструктурі замовника. Питання, зокрема, в обмеженнях задля безпеки.
  • Робота із великим набором даних. Інколи виконання запрограмованого процесу займає більше доби.
  • Як взаємодіяти з різного роду складними інтерфейсами, щоб отримати результати.
  • Контроль процесу і виловлювання помилок на різних його етапах, задля швидкого і якісного реагування.
  • Обмеження кожної з платформ: треба вникнути в нюанси її роботи і зрозуміти, як ми можемо змусити її працювати так, як нам потрібно.

Зараз IA не обмежується простими завданнями автоматизації. Ця технологія часто поєднується з штучним інтелектом (АІ) і машинним навчанням (ML). Відповідно стає можливою автоматизація більш складних завдань за допомогою неструктурованих і напівструктурованих даних. Наприклад, обробка заробітної плати, управління ланцюгами постачання та інше.

6. Простота реалізації та масштабування

Система розумної автоматизації проста у використанні та реалізації, оскільки розрахована на використання її кінцевими користувачами. Простий інтерфейс із можливістю контролю процесу дає можливість проаналізувати, наскільки виконання процесу відповідає очікуванням. Припустимо, якщо робочий процес не працює належним чином, можна негайно внести зміни та побачити, наскільки ефективно ці зміни впливають на кінцевий результат.

Як правило, IA розрахована на паралельне виконання, коли один і той самий процес може виконуватися одночасно на декількох машинах. Це робиться з метою швидшої видачі результатів. Саме тому у випадку, коли навантаження по кількості задач збільшується, платформи з легкістю дозволяють наростити кількість машин для одночасного виконання процесів.

7. Заглиблення у бізнес клієнта: розуміння бізнес-логіки, розвиток комунікаційних навичок

Найчастіше український розробник, орієнтований на програмування, забуває про бізнес-проблему, яку він вирішує написанням програми. Часто людина працює над своїм модулем та навіть не знає, як продукт працюватиме в цілому. Заглиблення у ці процеси дозволить обирати ефективніші інструменти для виконання конкретної задачі.

У більшості випадків клієнт не розуміє, що саме йому потрібно. У нього є багато бізнес-процесів, що потребують автоматизації. І не завжди той процес, який він вибере першим на черзі, насправді є найбільшим важливим. Або ж клієнт може в принципі не знати нюансів свого робочого процесу, адже бачить його тільки на вищому рівні.

Тому під час запровадження Intelligent Automation в компанії клієнта важливо разом з ним розібратися у всіх його процесах, пройтись по кожному кроку і задати запитання. Необхідно допомогти йому зрозуміти, автоматизація якого процесу принесе клієнту найбільшу вигоду. Ми заздалегідь можемо порахувати, скільки часу в компанії людина або кілька людей витрачають на певну роботу, скільки часу потребує імплементація платформи та скільки коштує ліцензія. Як результат, можемо розрахувати, за скільки часу окупиться імплементація того чи іншого процесу. Але для цього всього потрібно добре розібратися із загальною бізнес-логікою та прокачати свої комунікаційні навички для продуктивного спілкування із клієнтом.

8. Твої пропозиції та рекомендації мають значення для замовника

Цей пункт логічно виходить з попереднього. Так, можна сказати, що в будь-якій технології можна вносити свої пропозиції та рекомендації. Але саме у впроваджені ІА ми клієнта «ведемо за руку», і кожна наша пропозиція буде мати вплив на бізнес кастомера. Замовник не знає, яку технологію впроваджувати. Він тільки хоче побачити результат — збережені гроші з найменшими затратами та в найкоротші терміни.

9. Жвавий інтерес з боку нових і старих клієнтів

Практика Intelligent Automation у львівському офісі В EPAM за два роки виросла з 0 до 27 спеціалістів. Retail, Travel, Finance, Healthcare — це далеко не повний перелік, де можна застосовувати розумну автоматизацію. Наразі ми співпрацюємо з шістьма замовниками у різних сферах і за цей час ми зекономили їм мільйони доларів. Як нові, так і старі клієнти, які дізнаються про новий напрямок, виявляють зацікавлення спробувати його у себе.

Клієнт отримує такі переваги після впровадження Intelligent Automation:

  • Аудит процесів. Зазвичай клієнт сам не може оцінити повної картини усіх своїх процесів. Під час їх аудиту, який ми проводимо перед запуском роботи, клієнт бачить чимало напрямків, які можна було б оптимізувати, зробити краще, дешевше тощо.
  • Економія коштів. Є компанії, де працівники роблять рутинні задачі, які часто повторюються та займають багато часу, або є базовими і їх легко відтворити. В обох випадках автоматизація зменшить кількість людської праці, що, в свою чергу, зекономить кошти.
  • Платформа вже дає інтерфейс для взаємодії. Не потрібно вигадувати щось нове.
  • Стабільна точність результатів. На відміну від людини, у комп’ютера не буває поганого самопочуття чи настрою, помилок через втому, тощо.
  • Робота не по годинах, а в потрібних обсягах. Наприклад, не доведеться наймати більше персоналу напередодні свят та «високого сезону». Якщо навантаження збільшується, достатньо оплатити більше ресурсів у хмарі, і вони працюватимуть 24/7.
  • Статистика. У клієнта завжди є доступ до точної статистики усіх процесів.
  • Ріст доходів при тих самих витратах. Якщо бізнес зростає, не потрібно наймати нових людей, навчати їх тощо. Витрати не виростуть, максимум знадобиться більше хмарних ресурсів.

10. Те, що ти робиш, змінює бізнес клієнта, і ти це відчуваєш в реальному часі

Ти не просто пишеш абстрактний код, а відчуваєш, як результати твого девелопменту впливають на роботу компаній. Ми бачимо, як цей функціонал полегшує роботу людям і робить їх роботу ефективнішою та змістовнішою. Люди з рутинних задач (прості оператори, адміністратори) можуть переключитися на більш інтелектуальні завдання. Як наслідок, ми генеруємо додатковий прибуток бізнесу. І всі ці речі, які я описав, ми можемо бачити за достатньо короткий термін.

З чого почати

Для тих, хто також вирішить спробувати ІА, рекомендую звернути увагу на такі ресурси, які зібрав для початківців. Спробував сформувати список безкоштовних тренінгів, проте також подав декілька корисних платних варіантів:

Заради справедливості, скажу декілька слів, кому ІА може бути менш цікавим:

  • QA automation спеціалісти, яким цікавий тільки процес тестування як такий і вони не планують переключатися на девелопмент;
  • девелопери, які фокусуються тільки технічній стороні, а розвиток бізнесу їх зовсім не цікавить;
  • девелопери, які хочуть працювати тільки з одним вузьким технічним стеком.

Висновок

На світовому ринку, і в Україні зокрема, не так багато компаній та людей, які зараз працюють з ІА. Попит на таких фахівців набагато більший, ніж може запропонувати ринок. І якщо ви думаєте про зміну напрямку в рамках девелопменту, Intelligent Automation, як на мене, — дуже практичний вибір.

Похожие статьи:
Со 2 ноября 2015 года на сайте официального дистрибьютора MEIZU в России, mymeizu.ru, можно оформить предварительный заказ на музыкальный...
В выпуске: параллельные вычисления на одном ядре, поиск ошибки производительности, анонс ASP.NET Core RC2, 6 примеров неправильного...
Видання NV зібрало і проаналізувало інформацію про донати на оборону України від приватних компаній за рік великої війни....
У новому випуску YouTube-рубрики «X питань», де ми розпитуємо представників різних спеціальностей про те, що турбує...
На передовій загинув Ruby on Rails Developer у Verbit Олександр Гошилик. Про це повідомляється на LinkedIn-сторінці ІТ-компанії....
Яндекс.Метрика