11 декември, 2019

Зад гърба си Ивелин Андреев има 17-годишен опит в IT сектора и професионалното признание “Microsoft Azure MVP”. Той има интерес към модерните интелигентни технологии и познания на тема био и медицински компютърни науки. Преди години доказва своите компетенции и отлична работа като външен експерт по Информационни и комуникационни технологии в Европейската комисия, а днес допринася със своя Senior ентусиазъм в Интерконсулт България.

Притежавате над 17 години опит в бранша и впечатляващи познания за различни видове технологии. Какъв е Вашият професионален опит, в какви проекти сте участвали през Вашата кариера? 

Нормално е след като веднъж човек е започнал да се занимава с нещо, то ако това му допада, годините опит в сферата да се умножават! По-интересното в случая е не толкова, че годините са 17, а че съм ги инвестирал на едно и също място – Интерконсулт България. Няма как толкова време да не окаже своето влияние върху човек, който има стремеж за развитие (не случайно слагам тази забележка). Технологиите, проектите и предизвикателствата за мен в процеса на израстване от младши програмист до системен архитект са били наистина много.

Сега екзистенциалният въпрос е как се променят целите с времето. Ако като студент съм се интересувал от „нови технологии“, след един период на съзряване видях няколко други неща. Първото е, че технологията сама по себе си не носи стойност за клиента – тя, сама по себе си, не решава неговия проблем, а е само средството, с което технически грамотните лица да решат задачата по-лесно и бързо. Второто е, че ако клиент има даден проблем, в който интелигентните технологии могат да помогнат, то решаването на този проблем, напълно нелогично, струва повече, отколкото преди 10 години. Всеки, който има записи в системи от преди време, може да направи обективно сравнение, като включи и времето за обучение и коригиране на несъответствия.

Какво се случва – например нов фреймуърк за разработка на SPA (Single Page Application) приложения излиза на сигурно всеки 6 месеца, до около година има натиск да се започне работа с него или поне да се оцени за пригодност, а след още година тя се определя като морално остаряла. За всяка такава промяна се плаща един скрит данък на откриването на нейните несъвършенства (learning curve), изчакване на нови версии, на израстването от детски грешки до прилагането на „хакове“ за напреднали. 

Тази борба неизбежна, постоянна и неравна. На мнозина може да се струва интересно, но лично аз отдавна виждам преходността на този тип познания и като ръководител на екип или презентатор опитвам да преместя акцента от новата технология, върху това с какво тя ни помага да решим задачата. Например концепциите за складове за данни (“data warehouse”) – не са толкова много хората, които знаят какво е Data Mart и каква е разликата между подходите на Бил Инмон, Ралф Кимбъл или Дан Линдстед. А това са концепции на повече от 30 години. Дори теорията зад машинното обучение, което е толкова модерно сега, не е въобще нова, като вероятно 95% от задачите могат да се решат успешно без невронни мрежи.

Това, което се променя сега е цената за съхраняване на данни, на изчислителната мощ и средствата, които правят започването по-лесно, но без добрата основа крайната цел си остава все толкова трудна задача.

Често е непонятно за страничен наблюдател как може да останеш на едно място толкова дълго. Но има една приказка, че мъжът се познава по часовника и обувките. Аз бих казал друго – мъжът се познава по жената и децата – ако са щастливи, добър човек ще да е. Така е и на работното място – когато виждаш около себе си хора, които идват с желание на работа, обръщаш се назад и виждаш пътя, който си извървял и виждаш че не си сбъркал да прекарваш времето си с тях. Макар ентусиазмът да идва отвътре, хубаво е средата да подкрепя този процес.

Какви технологии използвате за разработка в своята работа? Кои са предпочитаните от вас? 

Така се случи, че започнах в сферата на Microsoft технологиите и винаги съм бил силно впечатлен от това как тази компания е ориентирана към потребителите, качеството на документацията е без алтернатива, а изграждането на общността и поддръжката се взимат много несериозно. Вече като Microsoft MVP имам достъп до канали, в които продуктовите групи оказват съдействие почти веднага за технически проблем или пък получаваш съдействие от десетки други MVP-та.

Вече си представям скептицизма на някои, но този Microsoft сега е много по-отворен, отколкото преди години. Всички сме слушали или дори разказвали вицове, но Microsoft имат над 800 инициативи за отворен код, към които всеки може да намери къде да допринася, стига да има желание. Само някои от примерите са: VisualStudio Code, VSCode tools for AI, SQL tools on Linux, TypeScript, Cognitive Toolkit, .NET Core, SignalR, ONNX.

В нашия екип напоследък все повече разширяваме познанията си и в други посоки – софтуер с отворен код (например Influx DB, ElasticSearch, Grafana, PostgreSQL), а покрай подготовката на данни за машинно обучение – Python (за който във Visual Studio 2019 има много добра поддръжка).

Как се става Microsoft Azure MVP: Какви са Вашите постижения и какъв беше процесът за включване в MVP програмата? 

Не знам как изглежда отстрани казано така, но MVP никога не ми е било цел само по себе си. С натрупването на повечето опит идват и едни по-различни задължения, при които вече не говорим за планиране и отчитане на собствените проекти и възможността подбираш за себе си по-интересни задачи. Говорим за създаване на предложения за проекти, презентации, за изграждане на екип, за работа по 7-8 проекта едновременно, всеки от които има собствен живот, срещи, пътуване, комуникационни, технически, дори чисто битови проблеми и накрая – стотици и стотици страници документация.

Имам един любим виц, който идеално описва ситуацията:

Майстор и чирак, специалисти по отпушване на канали, отиват на адрес. Влизат в мазето, а там – над метър и половина пълно с отпадни води. Майсторът се съблича, взима гаечен ключ, поема си въздух и се гмурка. След малко изплува и казва на чирака:

– Момче, дай водопроводен ключ!

Чиракът подава, майсторът пак се гмурка. И така няколко пъти. Каналът е отпушен, майсторът излиза и докато се избърсва, казва на чирака:

– Ей момче, учи се на занаят, че иначе цял живот ключове ще подаваш!

 

Привидното израстване в „ръководител“ представлява едно затъване в дейности, и в даден момент балансът изчезва безвъзвратно. Програмистите, обаче, сме едни такива същества, за които заплащането за труда е необходимо, но недостатъчно условие. Една от най-големите ми цели е да имам силен и мотивиран екип, който създава среда, в която мога и аз да се развивам, затова опитвам всеки от екипа да запази интерес, да може да изследва и експериментира. 

Съвсем закономерно и аз искам да се движа напред и ако не мога да го направя докато работя, то започвам да чета и експериментирам в онова, което наричаме „свободно време“. Тук огромна роля изигра един от най-активните членове на общността в България – Михаил Матеев, който преди 7 години ме „бъзна“ да започна да споделям повече от опита и интересите си. По-късно през 2015 г. четири души учредихме асоциация „Българска Софтуерна Общност“ и инвестираме (най-вече Михаил) напълно безвъзмездно време, за да споделяме опит и създаваме условия да се утвърждават локални лидери и общността да расте. Асоциацията организираме може би най-големите регулярни и напълно безплатни за участниците събития като IoT Bulgaria Summit, Azure Bootcamp, SQL Saturday, JS Talks, Beer JS, Global AI Night, като събитията не са ограничени само до София, а и градове като Варна, Пловдив и Велико Търново. Малко по малко този принос не остава незабелязан и MVP идва като следствие, но и вече допълнителен фактор на мотивация.

Какво е новото като възможности в Microsoft Azure и как предвещавате развитието на тази технология? 

Тази тема е по-необхватна, отколкото вероятно предполагате. Нека да кажем, че в Azure има около 250 облачни услуги, всяка от които е в различен период на зрялост, но има стремеж да предоставя завършен продукт, с качества за продукционна употреба. Не ме е страх да кажа, че далеч не познавам всички, а дори онези, които си мисля, че познавам, търпят често обновление. Опитът ми е предимно в областите на IoT, услуги, уеб приложения, бази данни, сигурност, машинно обучение и изкуствен интелект. Логично и се интересувам предимно от новостите в тези сфери – като например нарастващото влияние на Digital Twin концепцията за IoT; Azure Sentinel като средство, което да подпомага SecOps екипите в тяхната дейност; развитие в средствата за миграция като цялостна нова Azure Migrate, която ще бъде с акцент върху миграция на софтуер с отворен код; Azure Lighthouse като услуга за управление на инсталации по различни клиенти.

Малко известен факт все още е, че преди месец Майкрософт първи от голямата тройка пуснаха дата центрове в Близкия Изток

По-специално Абу Даби и Дубай, а не е трудно да се съобрази, че това са изключително консервативни региони, които не биха иначе изнесли данни в Европа или САЩ.

На самата концепция за облачни услуги й предстои още бурно развитие, защото позволява бърза разработка на нови и значително по-сложни продукти, по-ниски оперативни разходи, висока скалируемост и надеждност. Azure е най-младият играч от голямата тройка, но вече е на второ място по пазарен дял, като повече от 50% от Fortune 500 компаниите вече са избрали тази платформа. Затова смятам, че познания и експерти в областта ще се търсят и занапред.

Кои са основните преимущества на Cognitive Services за разработчиците в развитието на IoT решения? 

IoT областта е характерна с това, че се натрупват много данни и с огромна скорост, а в тях се крият зависимости, които далеч не са очевидни. Има десетки примерни архитектури, достъпни примери, хардуерът също е значително по-евтин и позволява все по-сложни обработки близо до сензорния слой, така че проблемът от много време не е как да направим IoT решение, а как да направим полезно такова.

Cognitive Services са група услуги, които дават възможност практически на всеки с базови познания да се възползва от компютърна интелигентност и да ги комбинира в иновативни решения, които до голяма степен са способни да имитират работа на човешки оператор. Лидерите тук безспорно са два – Microsoft и Google, но Microsoft са едни гърди напред. Лесно да се открие доклада на американския правителствен NIST институт, който на 147 страници подробно описва тестовата процедура и показва, че алгоритъма на Microsoft за разпознаване на лица e безспорен лидер (линк). Впечатляващо е как без голяма теоретична подготовка, буквално с „drag-drop“, за минути и CustomVision.ai може да създадете услуга, която да класифицира изображения и да постигнете точност от 80-90%. Ние използваме подобен подход в едни проекти, в комбинация от различни сензори, протоколи, алгоритми, термокамери, машинно обучение и дори дронове за откриване на горски пожари. 

С Cognitive Services може също да разпознавате лице или глас и да използвате това за верификация при едно значително по-комплексно решение. Ако става дума за машинен превод, вероятно мнозина ще се сетят първо за услугата на Google, но една от ключовите услуги в Cognitive Services е именно Translator. Тук вече говорим за трето поколение услуги, подкрепени с изкуствен интелект, при който се вземат предвид много и актуални жаргони, които се намират в мрежата и качеството на превода е значително по-добро от Google Translate, поне за езиците, с които съм имал досег. Не по-малко по важност, бих споменал и luis.ai, който би могъл да помогне да командвате устройства с естествен език и създавате интелигентни агенти. Иначе казано – могат да се намерят много и реални приложения, но признавам, че те по-скоро допринасят цвят към общото решение и подобряват използваемостта, отколкото да са основата.

Вие сте били и външен експерт по ИКТ в Европейската комисия: Какво означава това, какви бяха отговорностите и задълженията Ви? 

Преди време имах ограничен поглед върху процеса на разработка на софтуер и някак погрешно си представях проектите като цикли от изисквания, разработка, тестване и доставка. Това продължи, докато не започнах работа по истински европейски проекти, в международен екип, в който осъзнах, че досега съм виждал около ¼ от цялата картинка.

Оказа се, че за да се създаде успешен проект, е необходимо да се създаде успешен консорциум, в който партньорите имат интереси, да се проучат стандарти, законодателство, да се създаде мрежа за сътрудничество с браншови организации и крайни потребители.

Само по този начин може да се създаде един потенциално успешен продукт.

Още в самото начало на работата трябва да се помисли и как ще се разпространяват резултатите от него, а разбира се – трябва да се проучи конкуренцията, както и да се направи адекватен бизнес план. При толкова заинтересовани страни е истинско предизвикателство работата да върви гладко, а някъде в цялото това море дейности беше онова, което до момента ми беше познато като процес.

От 2015 г. започнах работа като експерт за различни програми – Horizon 2020, Eurostars, Innovation Fund Denmark, като изискванията в работата са различни за всяка от тях. В основни линии процесът е следният: консорциуми от партньори създават проектно предложение, в което описват своите идеи, стъпките за реализация, техните конкуренти и бюджета на проекта. Работата на независимите експерти е да се запознаят в дълбочина с предложенията, като едно такова е средно 80 страници без анексите, които могат да са още толкова, и да дадат детайлна обосновка за силните и слабите страни на предложението. Едно наистина добро предложение си личи още от първите страници и се чете буквално на един дъх. Освен търсенето на разнообразие в ежедневието, именно това беше и моята мотивация – да се запознавам с най-иновативните концепции и да трупам опит как самият аз да пиша стойностни проектни предложения, а това неизбежно има позитивно влияние и върху ежедневната ми работа.

Имате значими познания и в сферата на био и медицинските компютърни науки – бихте ли ни разказали повече за това? Какви са компетенциите Ви и интересите Ви в тази област и какви технологии се прилагат там? 

Опитът ми с био и медицинските компютърни науки всъщност е свързан с магистърската програма във Факултета по Математика и Информатика, която бих нарекъл по-скоро разширяване на кръгозора, отколкото път към някаква реализация.

След като вече бях завършил висше образование, исках нещо качествено различно, а не просто специалност “Софтуерни Технологии”. По същия начин много мои колеги записаха специалност “Електронен Бизнес” и струва ми се, този различен поглед се отрази ползотворно на всеки от нас. Не смея да твърдя, че една магистърска програма е способна да даде нещо повече от поглед, но някои от курсовете още тогава настроиха мисленето ми в посока машинно обучение и компютърна интелигентност. Най-ярки спомени имам от предмети като “Размити множества”, “Обработка на изображения”, “Роботика”, “Математическо моделиране в статистиката”, “Медицинска биофизика” и “Молекулярна биология”.

Бихте ли споделили с нас любопитен технологичен казус, който сте срещнали през годините? 

С този въпрос определено ме хващате малко неподготвен, но като че ли всички технологични казуси, както и да изглеждат в ранен етап, месеци по-късно се оказва, че са били решени след низ от четене и експериментиране…. когато отговорите все едно са били някъде там през цялото време. Сякаш онова от тях, което продължи най-дълго и отне най-много енергия на хората в екипа, беше една задача свързана с машинно обучение.

В случая, който визирам, целта беше привидно проста, както обикновенода предскажем потребление на даден ресурс, с цел да оптимизираме зареждането му, да оптимизираме разходите, свързани с него и да постигнем по-малък брой клиенти, които не получават достъп до услуга. Разбира се, следвахме всички азбучни правила в такива процеси – зададохме си въпроси и решихме на кои искаме да отговорим, написахме си домашното, като изследвахме около 40 статии с подобни решения и маркирахме качествено цели, които да постигнем, синхронизирахме всичко това с крайните потребители и се свързахме и с хора по-опитни от нас, с които да валидираме подхода си. Добър старт, бих казал, но както винаги – проблемите се криеха в детайлите. Имаше много хипотези, които слушахме в началото – как се променя моделът на поведение на хората, как БВП расте и какво можем да очакваме през годините… Никоя от тях обаче не се оказа вярна. Задачата изискваше работа, експериментиране, дори малко изкуство за да измислим нови характеристики, с прогностичен потенциал, изискваше да се задълбочим и потърсим причините за липса на данни в дадени периоди от време.

Това ми напомня за един от първите ми самостоятелни проекти, далеч през 2006 г., когато научих някои уроци за себе си.

Беше проект по програма ФАР за кадастъра в Румъния, където екипът ни беше подизпълнител за софтуерната част на консултантска група с милиарден оборот. Някъде към края на проекта, когато нещата не вървяха гладко, всички се събрахме в Букурещ, в сградата на тяхната агенция. В продължение на 10 часа получавах нагледен пример какво би станало с мен, ако забравя техническата страна.

От сутринта пристигаха мениджъри, кой от кой по голям и следният сценарий се повтори 6 пъти:

  • Влиза мениджър (датчанин), започват разговори за пътуването и времето
  • След 30 минути, явно почувствали необходимост от продуктивност, се повтаряха  СЪЩИТЕ 3 въпроса:
    • Всеки ли има какво да прави? (т.е. всички ли са натоварени)
    • Всички ли правят това, което трябва да правят? (т.е. има ли план)
    • В график ли сме и има ли преразход на ресурси? (т.е. планът следва ли се)
  • След още 30 минути дискусията утихва, минаваме към екзистенциални въпроси (напр. защо екипът по дигитализация пие по 2 кутии кафе на ден) и вече чакаме следващия мениджър.

Изводът за мен беше прост – че никога не искам да бъда такъв ръководител и ако някой от екипа ми има проблем, искам да го изслушам и да разбера какъв е, за да мога да оценя усилията, които полага и идентифицирам момента, когато има нужда от помощ.

Как си представяте ежедневието на един човек в бъдеще? Доколко IoT, ML и AI ще навлязат в нашия живот и докъде си представяте, че ще се разпростира медицинският ни напредък? 

Много сериозен въпрос и тема за размисъл бих казал. Надявам се да се съгласите с мен, че е напълно очевидно, че надбягването с технологиите е загубена битка. Аз за себе си отдавна съм забелязал, че онези интелигентни асистенти, които привидно оптимизират работата ми и ми пестят време, реално сякаш опитват да ангажират все повече от вниманието ми и ми пречат да бъда креативен и ефективен. Много инфлуенсъри в областите на високите технологии, като Джеф Безос например, са отявлени противници на смартфоните, защото постоянните им сигнали, че нещо „важно“ се случва нарушават концентрацията. Подобно за Бил Гейтс се знае, че ограничаваше децата си от достъп до електронни устройства, докато не навлязоха в юношеските си години. Подобни изказвания ще чуете и от Ричард Брансън и Тим Кук. Аз също споделям вярването, че много малко от технологиите в нашето ежедневие са ни реално необходими, а липсата на концентрация е враг на това да оставяме важните неща да бъдат истински важни.

Интелигентни системи от сензори и приложения с аларми сигурно изглеждат като страхотно решение за грижа към нашите близки, докато ние гоним някакви суетни цели в забързаното ежедневие. Или може би видео, което да ми позволи да не пропусна състезанието на някоя от дъщерите ми.

Но не виждам как технологиите ще ми помогнат да изградя взаимоотношенията, оформящи идентичността ми, ако аз постоянно не съм там, където моето внимание е необходимо.

Иска ми се накрая, някак типично в мой стил, да оставя вратата отворена за продуктивен спор по темата, че IoT, ML и AI ще навлязат дотолкова, доколкото самите ние допуснем това, но въпреки това, ще успеят да си проправят път по един или друг начин.

Интервюто проведе Вяра Стефчева.

Тагове: , , , , , , , , , , , , , , ,