За проектите, екипите и технологиите, които използват, научете от Елена Янкова – Full Stack Developer, и Йосиф Петров – Automation QA Lead
Йосиф Петров – Automation QA Lead, и Елена Янкова – Full Stack Developer в Immedis
ИТ секторът в България продължава да се развива динамично и да предлага все повече и все по-интересни възможности за професионална реализация. Технологичните екипи в България работят по проекти на компании и организации от цял свят, разработват собствени софтуерни продукти, които намират приложение в разнообразни области от живота.
Immedis е компания, която предоставя пейрол услуги на мултинационални корпоративни клиенти. Тя разработва и предоставя продуктова платформа, която поддържа всичките дейности по процеса – изготване и проверка на пейрол, изплащания на заплати, начисления към данъчни администрации, комуникация с клиенти и партньори и предоставяне на ключови счетоводни репорти и анализи.
По какви проекти работи Immedis в България, пред Economy.bg разказват Елена Янкова – Full Stack Developer, и Йосиф Петров – Automation QA Lead.
Кой е основният проект/продукт или ключовите проекти/продукти, по които работят екипите на Immedis в България. Бихте ли разказали накратко за всеки от тях?
Елена: Екипите ни разработват и поддържат софтуер, чрез който осигуряваме на нашите клиенти комплексна и консолидирана услуга в сферата на международния пейрол. Системата ни се състои от две части: вътрешен портал, използван от служителите на Immedis, и публичен портал, който се ползва от мениджърите на нашите фирми клиенти и който съдържа и обработва информацията за служителите им. Порталът се използва и от служителите на клиентите ни, които, от своя страна, могат да проверяват своите фишове за заплата. Платформата ни има интеграции с различни HR платформи, които нашите клиенти ползват за събиране на данни за подчинените си, както и с платежни системи, чрез които можем да изплащаме заплатите на въпросните служители.
Йосиф: Идеята ни е да поддъражме пълния ведомствен цикъл, като същевременно предлагаме отчети и анализи в реално време. Отделно от това работим и върху изграждане на мобилно приложение, което да може да се използва от клиентите ни и техните служители.
Елена: Вътрешният ни портал се използва от служителите на Immedis за наблюдение и управление на информацията на нашите клиенти, техните служители и различните услуги, които предоставяме за тях. Мениджърите от клиентските ни фирми имат достъп до публичния ни портал. Там те могат да качват информация, свързана с наемането на нов служител, да обновяват данните на съществуващите такива, както и да преглеждат резултати от интеграциите ни с външните системи, с които те работят, или да проследят процеса по изплащане на заплатите за текущия период. Те ни информират при наемането на нов служител или промяната на данните на съществуващ, за да можем ние да обработим информацията му и да изчислим неговата заплата.
Колко души работят по всеки от проектите и какви специалисти са те?
Йосиф: Общият брой на служителите на Immedis в България е между 150 и 200, като над 50 от тях са в техническия отдел, част от който съм и аз. Колегите, с които работя в този отдел са изключителни специалисти. Не минава и ден, без да съм научил нещо ново от свой колега. Имаме Full Stack, Front End и Back End специалисти, DevOps инженери, Manual/Automation специалисти (какъвто съм и аз), ETL разработчици, дизайнери, бизнес анализатори, мениджъри на проекти, а също и т.нар. скръм мастъри.
Софтуерният екип съвсем естествено е фокусиран върху развитието на споменатата ведомствена платформа. Освен това участва и в интегрирането ѝ с други Human Capital Management (HCM) платформи.
Екипът, свързан с осигуряването на качеството, е разделен на 3 подекипа – manual, automation и integration. Като трите екипа са в пряка връзка през целия цикъл на тестване. Manual екипът проверява по предварително написани acceptance criteria дали дадена функционалност работи, както се очаква. Automation екипът, от своя страна, автоматизира подходящите сценарии от acceptance criteria-та, която вече е минала през manual екипа. Integration екипът се занимава с осигуряване качеството по интеграциите с други HCM платформи.
DevOps екипът e в пряка връзка с процеса по създаването и промяната на всяка една функционалност по системата като интегриране, деплойване, управление на текущата инфраструктура и др.
Екипът от дизайнери дава реален вид на потребителския интерфейс.
Екипът от product manager-и се грижи за правилната приоритизация на ежедневните задачи.
Екипът от бизнес анализатори отговаря за написването на user story-тата.
Какви технологии използвате за отделните проекти?
Елена: Вътрешният ни портал доскоро беше разработван на основата на .NET Framework платформата, но през 2021 мигрирахме към по-новата .NET Core, за да бъдем в крак с най-добре работещите технологии. Базите ни са изработени на Postgresql, а достъпът до тях се осъществява чрез NHibernate, която предоставя много възможности при свързването на обектите от базата с тези от кода и тяхното конфигуриране. Публичният ни портал е написан на Angular.js, а мобилното ни приложение използва React Native. Автоматизираните ни тестове са написани основно на .NET, като имаме такива, които са написани и на JavaScript. Сървърите ни се хостват в Amazon AWS, използваме Bitbucket като хранилище на нашия код и Octopus за нашите CI/CD процеси. Имаме и ETL и Data Analysis екипи, които ползват Alteryx и Tableau за различни дейности около основните ни разработки.
Йосиф: Ползваме широк набор от различни технологии спрямо проектите. Конкретно за ведомствената платформа ползваме .NET (.NET Core, MVC, Web API, WCF, Entity Framework), Angular, NodeJS, HTML5, CSS3. За база данни използваме PostgreSQL, а за cloud услуги разчитаме на Amazon Web Services. За да осигурим адекватна работа и плавно преминаваме през версиите на платформата, използваме BitBucket и Octopus. За тестване сме избрали Selenium с .NET, Postman, JМeter, AWS и BitBucket Pipelines за изпълнение на автоматизирани тестове и анализ на резултатите от тях. За monitoring системи ползваме Grafana, pganalyze, Jaeger.
Как е организиран работният процес и каква е мениджмънт структурата при отделните проекти?
Йосиф: Стандартно работата ни е организирана на Scrum и работим на спринтове, което улеснява работния процес. За съответния период се представя обектът на работа, като планираме процеса в началото на спринта и завършваме с анализ. Имаме ежедневни срещи, на които обсъждаме задачите на фокус, като тук вземат участие споменатите скръм мастъри, които помагат в процеса на приоритизиране.
Бизнес анализатор или product owner представя на отделните екипи идеята за това, което трябва да се свърши. Това се прави под формата на потребителска история (user story), след която се дефинират и приоритетите. Когато това приключи, служителите, които ще разработват и тестват тези потребителски истории се събират и обсъждат проблемите, които биха могли да се появят по време на работата.
Елена: Проектите са разделени между екипите, като всеки екип се специализира в поддръжката на точно определена част. В нашия екип постъпват главно задачи, свързани с интеграциите на платформата с други външни платформи. Пример за това е интегрирането ни с Oracle като HCM (Human Capital Management) партньор през изминалата 2021 година, както и SuccessFactors, с които се интегрирахме през 2020.
Как се промениха проектите през годините?
Елена: Продуктът ни стартира като система, предлагаща ТРЗ услуги на големи компании. През годините открихме, че около тази услуга има още много други, които можем да развием и предлагаме. Така започнахме интеграциите с различни външни платформи, които ни помагат да вземем данните на служителите на нашите клиенти или да изплатим техните заплати.
Йосиф: През последните две години компанията получи инвестиции на обща стойност 75 милиона долара, което ѝ позволи да навлезе във фаза на свръхрастеж, а това, от своя страна, доведе до разрастване на българския екип. Самият проект не е претърпявал коренни промени, а по-скоро се стремим да стоим „на гребена на вълната“ на новите технологии и да правим платформата все по-удобна и функционална. Това всъщност ни спечели много големи клиенти и международно признание като една от най-добрите ведомствени платформи на пазара.
Кои са най-големите предизвикателства при този проект или при всеки от ключовите проекти, по които работите?
Елена: Едно от най-големите ни предизвикателства бе да можем да опростим процесите в публичния ни портал, като същевременно той да продължи да функционира, както и досега. Това е нещо, с което успяхме да се справим през изминалата година. Като допълнително предизвикателство се яви и пандемията, която наложи работа от вкъщи за всички екипи и привикване към новия начин на организация на работния процес. В това число и дистанционното обучаване на нови кадри като мен, с което колегите ми се справиха отлично въпреки необичайните обстоятелства.
Йосиф: През последните почти 2 години едно от предизвикателствата, което засегна всяка част от бизнеса, беше работата от вкъщи. По-интересното е, че в крайна сметка това не ни попречи, а напротив – даже увеличи производителността на служителите, което сега се отразява положително и на качеството на продукта.
Друго предизвикателство касае работата с все повече и повече чувствителни данни на компании, които имат стотици служители по целия свят. От тази гледна точка постоянно гледаме да подобрим сигурността на този вид информация, както и на цялата платформа.
Разбира се, предизвикателство, но и добра възможност е напредъкът на технологиите и тяхното внедряване в продукта. Предизвикателството е, че трябва да се направи добро приоритизиране между работата, която трябва да се свърши и работата по внедряването на нова технология, която да подобри текущата система.
Кои са най-големите постижения, които можете да отбележите за този проект/продукт или при всеки от ключовите проекти/продукти, по които работите?
Елена: Развитието на публичния ни портал, който сега изпълнява всичко, което нашите клиенти имат като процеси от тяхна страна. Също така автоматизирането на процеса за събиране на данни на служителите на нашите клиенти чрез интеграциите, които имаме. По този начин клиентите ни трябва единствено да одобрят данните и да потвърдят, че са правилни.
Йосиф: Изключително горди сме, че с качеството на платформата си успяхме да привлечем компании на световно ниво, сред които Adobe, MicroFocus, Uber, McAfee и други.
Какво предстои при този проект и/или отделните проекти?
Елена: Предстои ни да пуснем мобилно приложение, което служителите на нашите клиенти ще могат да ползват за разглеждане на фишовете си за заплата или промяна на някои от личните данни. Също така планираме да направим още интеграции с външни системи, с които да можем да направим напълно автоматизиран процеса от приемане на данните на служителите до изплащане на техните заплати.