Нашият гост днес е Димитър Узунов, технически директор на Documaster, бързо разрастващ се стартъп фокусиран върху създаването на софтуер за управление на документи и записи. Седалището на компанията е в Норвегия, но основният технически екип от над 50 души е в София. За шестте години от създаването си Documaster помага на над 200 организации от публичния сектор да подобрят начина, по който съхраняват и използват своите документи.
Димитър споделя наблюденията си върху много различни теми – защо работата в областта на управлението на документи и записи е толкова вълнуваща, какви са предизвикателствата около разработката на продукти за държавната и общинска администрация, и покрай скорошното навлизане на Documaster в частния сектор – какво е различното там.
В разговора засягаме и технологичната стратегия на Documaster, както и изграждането на силни екипи от софтуерни инженери. И, разбира се, как самият Димитър е подходил към изграждането на такъв в Documaster.

Имайки предвид, че работиш по създаването на софтуер за управление на документи вече близо 10 години, какво продължава да прави тази сфера толкова интересна за теб?
Да, работя в областта на управлението на документи и записи от доста години. Не съм сигурен колко хора осъзнават това, но работата на много организации се основава на документи – правни документи, доклади, снимки, дори видеоклипове – и това е свързано с много предизвикателства. Как да се съхраняват електронните документи без много разправия, но по начин, по който е лесно да ги намерите в последствие? Ако е твърде трудно хората да запазят документ в дадена система, те просто няма да го направят и в последствие документът ще бъде изгубен или труден за откриване.
Друг интересен въпрос: Как да се открие окончателната версия на даден документ? Мисля, че доста хора имат нещо подобно на своите офис компютри: „Отчет_версия 1“, „Отчет_версия 2-финална“, „Отчет_версия 3“. Очевидно това не е оптимално и една софтуерна система със сигурност може да помогне. Интересен е и въпросът как да се унищожават документи, от които вече няма нужда, или защото това се изисква от някоя регулация (в много държави има законово изискване даден вид документи да бъдат изтрити след определен период). Също така, как да се запазят най-важните документи на организацията, така че да носят стойност не само сега, но и в бъдеще? Как да се управлява достъпа до документи, съдържащи чувствителни данни? Организациите в публичния сектор си задават и още един важен въпрос – как да се публикуват документите в онлайн пространството и по този начин да се увеличи прозрачността на организацията? Знам, че в България няма фокус върху това, но в Скандинавските страни е доста популярна практика, която е високо ценена от гражданите. Най-вече журналистите.
Всички тези въпроси нямат ясни отговори. Нещото, което наистина ме интригува и до днес е, че продължаваме да търсим решения, продължаваме да изследваме, продължаваме да експериментираме и все още не чувствам, че имаме всички отговори. Мисля, че имаме много работа пред себе си. Със сигурност можем да добавим стойност в областта на управлението на документи и записи не само в Скандинавия или България, но и в глобален мащаб.

Как се изгражда технологичната стратегия на бързо развиващ се стартъп като Documaster? През годините какви бяха някои от непредвидените предизвикателства в разработката на приложения за публичния сектор?
Нека да започна с технологичния стек. Повечето хора в компанията имат много сериозен опит с Linux и технологии с отворен код. Така че не е изненадващо, че нашият технологичен стек е изграден около хората и около това, което те знаят най-добре – и това е софтуер с отворен код. Винаги сме се опитвали да подберем технологии, които може да не са изключително популярни в момента, но които според нашите проучвания са стабилни и готови за използване, и могат да задоволят специфичните ни нужди.
Така и стигнахме до това да изградим собствен облак в Норвегия и Швеция. Това беше направено отчасти поради законовите изисквания към институциите от публичния сектор в Скандинавия данните да се съхраняват в съответната държава, но и защото публичните облаци всъщност не отговарят на всички наши изисквания.
Що се отнася до предизвикателствата – от самото начало искахме да разработим SaaS приложение. Създадохме собствен облак, започнахме да привличаме първите си клиенти, но все още съществуваше донякъде старомодно мислене в Скандинавия. Някои институции, които имат свой ИТ отдел и собствени сървърни помещения, вярват, че се справят изключително добре в това сами да хостват софтуера си. Ние започнахме да привличаме клиенти, ползващи нашия облак, но постепенно се появиха и такива, предпочитащи софтуерът ни да е инсталиран при тях. Отне ни много време, за да ги убедим, че всъщност е най-добре за тях, ако ползват софтуера ни в нашия облак. Имаме добро решение за мониторинг, имаме стратегия и механизми за създаване на бекъпи, можем и да гарантираме определен ъптайм. Предложихме и някои други функции като защитен облак и специализиран хардуер, обслужващ конкретните нужди на клиента.
Всъщност мисля, че бяхме първата компания, която предложи подобна облачна услуга в Норвегия, и която успя да развие бизнеса си в тази насока Много се радвам, че с времето успяхме да убедим повечето ни клиенти с локални инсталации да се преместят в облака – това е голямо постижение за нас.
Друго предизвикателство, което установихме наскоро е свързано с промяната от разработка на настолни приложения за Microsoft Office към разработка на приложения за облачните офис решения на Microsoft. Въпреки че новата технология е добра, виждаме, че Microsoft понякога чупи нещата – например някое API – и приложенията ни спират да работят, което налага да се приспособяваме към ситуацията изключително бързо. Очаквам с нетърпение момента след някой и друг месец, или дори година, когато тази технология ще бъде по-стабилна и ще можем да предложим много повече функционалност на клиентите си, отколкото със старите си десктоп приложения.

Наскоро също започнахте да предлагате решения ориентирани към бизнеса. Различна ли е разработката на продукт за корпоративния сектор от тази за публичните институции и как?
Може да звучи малко изненадващо, но продуктите ни за публичния и частния сектор използват един и същ бек-енд, но потребителският интерфейс е различен. Причината за това е, че крайните потребители варират сериозно между публичния и частния сектор, въпреки че продуктът има приблизително една и съща цел.
Днес развитието на продукта ни за частния сектор е в етапа, в който бяхме с продукта за публичния сектор преди няколко години. Това е предизвикателство за някои от нас, защото трябва да се върнем почти в изходна позиция в създаването на новия продукт.
Хубавото в това е, че всъщност имаме възможност да преразгледаме някои съществуващи концепции и да се опитаме да не повтаряме стари грешки. С новия продукт експериментираме много – добавихме нови технологии, правим по-чести рилийзи отколкото в публичния сектор и адаптираме процеса на разработка в движение.
През последната година разбрахме, че това, което работи за зрял продукт, не задължително работи толкова добре за чисто нов продукт. Всъщност,  любопитно ми е дали, когато продуктът ни в частния сектор се развие, процесите ни по разработка ще бъдат почти еднакви или ще има разлики.

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

По какво се различава твоята роля на CTO в Documaster сега в сравнение с момента, когато започнахте? Как се промениха твоите виждания и отговорности през годините?
Аз съм заклет програмист. Нека да започна с това. Започнах да програмирам, когато бях в училище и бях това, което бихте нарекли „гийк“. Вече не се смятам за такъв, макар много хора все още казват, че съм.
Когато отидох в университета, разбрах, че технологията е безсмислена, освен ако не решава реални проблеми. Още си спомням, когато взех един учебник, един от малкото учебници, които купих, защото бяха наистина скъпи, в който имаше предисловие от Бярне Страуструп, създателят на програмния език C++. В него се казваше: „Не изучавайте компютърните науки просто за да пишете код, изучавайте компютърни науки за да решавате проблеми.“
Осъзнах, че за да решаваш проблеми, трябва да разбираш хората, чиито проблеми решаваш. Програмирането само по себе си не е достатъчно. Трябва да се разбира какъв проблем се решава, трябва да се говори с хората, чийто проблем се решава. Бързо разбрах, че за да можеш да постигнеш това се изисква малко по-различен набор от умения от чисто програмистките и за известно време се съсредоточих върху придобиването на такива.
Що се отнася до Documaster, отговорностите ми се променят всяка година. Не мисля, че съм имал две поредни години, в които да правя едно и също нещо.
Когато стартирахме, програмирах заедно с единствения ми колега по онова време, Фроде. Но също така разговарях с потенциални клиенти, разговарях с инвеститори, участвах в бизнес срещи. Впоследствие, трябваше да помогна за отварянето на офиса ни в България и за набирането на персонал, като тогава все още програмирах.
Вече рядко програмирам, не заради липса на желание, а защото нямам време и чувствам, че мога да съм по-полезен като се съсредоточа върху архитектура, процеси по разработка и всичко друго, което помага за цялостното благосъстояние на компанията.

Кои според теб са основите за изграждане на силен инженерен екип и кои са били нещата, които винаги си имал предвид като лидер на техническата страна на Documaster?
Ще се опитам да опиша какво е силен инженерен екип, това което си представяме в Documaster, и в което винаги съм вярвал. На първо място, трябва да намират смисъл в това, което правят. Трябва да бъдат свободни да споделят мнението си и да участват във вземането на важни технически решения. Трябва всеки да има глас и да може да предложи решение. След това всички можем да се съберем и да изберем какво да направим.
Мисля, че е много важно хората да могат да следват страстта си. Казвайки го съм наясно, че това всъщност може да означава много различни неща за различните хора. Някои искат да бъдат хардкор програмисти, други искат да се фокусират върху архитектура, трети искат да организират работата в екипа. Някои искат да говорят с външни страни, включително с клиенти. Наистина вярвам, че в един силен инженерен екип хората трябва да имат възможността да следват своите интереси.
Колкото и странно да звучи, не всеки може да процъфтява в такъв екип. Затова и в Documaster отделяме време да намерим правилните хора. Не практикуваме „масови наемания“.
Набирането на персонал е част от играта. Ето какво правим, за да намерим правилните хора: за начало, не обръщаме особено внимание на това дали кандидатът за работа се води старши или младши програмист. Не се впечатляваме лесно от автобиографии или дипломи. Имаме техническа задача, която е изработена специално за всяка длъжност. И е много вероятно, ако човекът може да разработи добро решение на задачата, да се справя добре и в работата.
Виждал съм чудесни решения от хора, идващи направо от университета и съм виждал хора с 15-годишен опит да не се справят толкова добре. Трябва да кажа, че правилната нагласа наистина помага.
Освен техническите умения, има три качества, които наистина ценя в хората, с които работя, но и като цяло в живота. Първо, човек трябва да е мотивиран от това, което прави. С правилната мотивация, дори да липсват някои умения, те ще бъдат придобити с времето.
Следващото нещо е уважение към колегите. Може да си най-добрият програмист, но може да има друг, който е по-опитен като човек. Винаги можеш да се учиш от колегите си и винаги трябва да ги уважаваш – тогава и те ще те уважават.
Също е важно винаги да се опитваш да помагаш на колегите си. Това, което често виждам в нашия екип е, че ако те помолят за помощ, дори и да правиш нещо важно – винаги помагаш, дори и това да забави малко текущата ти задача.

Ти си също гостуващ преподавател в Американския университет в България. Какъв съвет би дал на млади софтуерни инженери, тези в самото начало на тяхната кариера?
Да, от известно време преподавам кратки курсове в Американския университет – Java, DevOps.
Причината, поради която реших да го направя е много проста – много исках да споделя със студентите нещата, които никой не сподели с мен, когато бях на тяхната възраст. Още си спомням времето, когато излязох от университета, започнах стажа си и осъзнах колко много не знам. Щеше да е чудесно, ако някой просто ми беше казал: „Добре, имай предвид това и бъди наясно с това и това“.
Първата ми работа беше много полезен опит, научих много, но беше почти болезнено изживяване през първия месец – дори бях започнал да се питам дали наистина искам да бъда програмист.
Ето защо се опитвам да насочвам вниманието към теми, които студентите трябва да знаят, когато излязат от университета.
Нещо, което казвам на всички е, че за да можеш да пишеш страхотен код, трябва да можеш да дебъгваш и да си изчел тонове код на други хора. До голяма степен прилича на писането на статии. Трудно ще напишеш добра ако не си изчел доста книги преди това.
Друго нещо, което подчертавам е, че за да си софтуерен инженер не е достатъчно само да пишеш код. Трябва също, да пишеш добра документация, да комуникираш добре в рамките на екипа и компанията, както и да можеш да опишеш ясно идеите си дори на нетехнически хора.
И, разбира се, винаги говоря със студентите за трите качества, които ценя в колегите си – обяснявам им значението на мотивацията, защо е важно да се уважават другите и защо е важно да се помага на всеки.

Искате ли да допринесете за бъдещото развитие на продуктите на Documaster? Научете повече за компанията и възможностите за кариерно развитие в нея тук.

 

Share This