Dynamo Software е сред компаниите, които ще се включат в предстоящата .NETworking Conference на DEV.BG.
Събитието ще се проведе на 9 април в Sofia Tech Park, а дотогава за работата си в Dynamo Software и плановете за бъдещето споделят Димитър Драгостинов – Chief Software Architect, и Моника Симеонова, която е Senior Manager, Human Resources.
Димитър, ти си част от компанията през последните 14 години. Като неин Chief Software Architect можеш ли да кажеш през какви фази преминахте технологично? Нека започнем с началото – как изглеждаше първата версия на вашия продукт?
Първата значима версия на нашия продукт – Dynamo 1.0 (2008-2016) – стартира като Single Page Application (SPA), базиран на ExtJS 3 за front-end и WCF сервиз за back-end. По онова време JavaScript все още имаше доста ограничения, което ни принуди да използваме ASP.NET Pages за определени интеграции, които не можеха да се изпълнят изцяло на клиентската страна.
Използвахме SQL Server (2008-2016) и разработихме собствен custom ORM, тъй като продуктът ни беше напълно динамичен откъм структура на данните, а тогава липсваха готови ORM решения, които да отговорят на нуждите ни.
Как се справяхте с автоматизираното тестване в този период?
Автоматизираното тестване беше новост, но въпреки това започнахме да интегрираме Selenium. В началото използвахме Selenium IDE, което беше специален Firefox plugin, позволяващ автоматизация на UI тестове. Това ни помогна да осигурим надеждност на интерфейса и да автоматизираме важни процеси.
2011 г. бележи нов важен етап за Dynamo. Тогава се появява клиентският портал – Investor Portal 1.0. Какви бяха технологичните решения зад него?

Да, Investor Portal 1.0 (2011 – 2019) беше създаден в отговор на нарастващото търсене на клиентски портали. Front-end-ът беше изграден с HTML5, CSS и jQuery, а back-end-ът остана на .NET Framework 4.5 и WCF service.
За да подобрим структурирането на кода и тестовата му поддръжка, преминахме към ASP.NET MVC, което осигури по-добра separation of concerns и по-добра тестваемост в сравнение с предишните ASPX страници.
В областта на тестването също направихме подобрение – вместо Selenium IDE започнахме да използваме WebDriver, което осигури по-голяма стабилност на тестовете.

Какви бяха следващите стъпки в технологичната еволюция на вашия продукт?
През 2016 г. започнахме работа по Dynamo 2.0 (2016-2023). Все още използвахме ExtJS за front-end-a, но преминахме към версия 6, което ни позволи по-добра организация на кода чрез разделяне на View и ViewController. Освен това преминахме на SASS за стилизация, което направи поддръжката по-лесна.
В back-end-a направихме плавен преход от .NET Framework към .NET 5 в целия ни stack, което значително подобри производителността и модернизира кода. През 2018 г. пуснахме нашето RESTful API, което използваме и до днес – то осигурява стабилен интерфейс за клиентски интеграции.
А как подходихте към автоматизираното тестване в тази версия?
Тестването беше значително подобрено. Използвахме MSTest, Jasmine и WebDriver. Една от най-интересните иновации беше въвеждането на driver класове, които следват Page Object Model.
Това ни позволи да симулираме потребителски действия, което улесни поддръжката на тестовете – можехме да променяме DOM структурата, без да се налага да пренаписваме тестове.
През 2019 г. пускате и Investor Portal 2.0. Какви подобрения въведохте тогава?
Investor Portal 2.0 (2019-2022) беше базиран на ExtJS 6, за да запазим консистентност с основния ни продукт. Въпреки стабилността започнахме да инвестираме в по-модерни DevOps практики.
Автоматизирахме deployment-ите и upgrade-ите чрез Octopus Deploy и интегрирахме Highcharts, което позволи на клиентите ни да създават интерактивни графики за по-добър анализ на инвестиционните данни.

По-късно, през 2022 г., следва голям технологичен скок с Investor Portal 3.0. Какво ви мотивира да преминете към нов stack?
Време беше да изоставим ExtJS и да преминем към по-модерен и мощен stack. С Investor Portal 3.0 преминахме на React и TypeScript, което подобри стабилността, предвидимостта и производителността на кода.
Включихме AG Grid за работа с таблици, а за автоматизирано тестване преминахме на Playwright, което значително ускори разработката и тестовите процеси. Въведохме и Styled Components, за да елиминираме проблеми със стиловите конфликти и да подобрим мащабируемостта на кода.
И накрая – какво донесе най-новата ви версия Dynamo 3.0?
Dynamo 3.0, който разработваме от 2023 г. насам, е кулминацията на нашата технологична еволюция. Вече напълно преминахме на React, използвайки Flowbite за UI компоненти и запазихме AG Grid за сложни таблици.
В back-end-a преминахме на .NET 9 и ASP.NET Core, което ни позволи контейнеризация на целия stack и миграция към Linux сървъри. Това доведе до по-ефективно управление на ресурсите, по-добра сигурност и по-ниски инфраструктурни разходи.
Освен това добавяме поддръжка за PostgreSQL, което ще ни даде повече гъвкавост и ще подобри съвместимостта с различни среди.
Explore more
Изглежда, че компанията е преминала през огромни технологични трансформации. Какъв е изводът от този дълъг път?
Еволюцията на технологиите в Dynamo Software винаги е била водена от стремежа ни към иновации, ефективност и по-добро потребителско изживяване. От ранните дни с ExtJS и WCF до React, TypeScript и .NET 9 всяка стъпка е била насочена към оптимизация на процесите и подобрение на нашите продукти.
С въвеждането на Dynamo 3.0 и Investor Portal 3.0 продължаваме да се адаптираме към най-новите стабилни технологични тенденции и да изграждаме по-добри софтуерни решения за нашите клиенти.
Моника, ти на свой редръководиш HR функцията на Dynamo в България. Какви хора търсите за екипа и кои качества оценявате като ключови?
Винаги сме търсили хора с устрем, които са отворени към новите технологии и се вълнуват от създаването на иновативни софтуерни решения. Екипната работа, добрата комуникация и умението да споделяш знанията си, да менторираш, са ключови.

Ценим аналитичните и проактивни хора, защото работата ни е свързана с доста сложни технологични и бизнес казуси, които решаваме ежедневно чрез приноса на всеки от нас.
Смея да твърдя, че работата тук е истинско удоволствие. Компанията предлага гъвкаво работно време, хибриден режим и подкрепяща среда, което улеснява баланса между професионалния и личния живот.
Имаме множество клубове по интереси и различни възможности хора от различни екипи да разпускат заедно, или пък да научат нещо ново. Dynamo е сред онези компании, които имат equity plan за служители, пряко доказателство за ангажираността на екипа с глобалната мисия на компанията.
Допълнителният ни здравен пакет е изцяло финансиран от Dynamo за всички членове на семейството на служителите ни, а различните предпочитания за допълнителни придобивки, сме решили чрез въвеждане на flex-benefits платформа.
Неочаквани или неудобни във времево отношение задачи, като смяна на гума, посещение на автомивка или получаване на важен колет, поема нашият офис асистент – може би най-уникалната „придобивка“ в служителския пакет.
Вместо заключение
Dynamo Software е създадена през далечната 1998 г. с мисията да предоставя иновативни софтуерни решения за институционални инвеститори. Специализираният им SaaS CRM автоматизира сложни процеси по събиране и анализ на данни, което улеснява управлението на инвестициите и взаимоотношенията с клиентите.
С течение на времето компанията се е утвърдила като водеща в областта на облачните CRM системи за управление на инвестиционни портфейли.
Клиентите на Dynamo са разнообразни и включват големи компании за недвижими имоти, фондове за управление на рисков капитал и институционални инвеститори. Те разчитат на платформата, за да оптимизират своите операции и да управляват ефективно всички инвестиции от портфолиото си.
През годините Dynamo Software привлича значителни инвестиции, които подпомагат нейния глобален растеж. През 2017 г. фондът Francisco Partners придобива мажоритарен дял в компанията, а по-късно, през 2021 г., и Blackstone Growth прави стратегическа инвестиция с нови планове за растеж.
И днес най-ценният стратегически ресурс на Dynamo са хората, които стоят зад добрите истории на успеха, адаптират се към иновациите и управляват промяната. В екип.