+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

98-47 =
+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

От идея до реализация: Светлозар Стоянов за софтуерните проекти в P3 Bulgaria

Текстът е предоставен от P3 Bulgaria

Светлозар Стоянов е софтуерен инженер с над 30 години опит в разработката на приложения и 20 години в управлението на екипи и проекти. 15 от тях прекарва в P3 Bulgaria, като днес ръководи един от отделите в компанията. 

Екипът работи с един от най-големите партньори и разработва уебплатформа, базирана на .NET технологиите. През април от P3 Bulgaria ще бъдат на DEV.BG .NETworking Conference 2025 в Sofia Tech Park. Включете се и вие, за да научите повече за работата, културата и кариерните възможности в компанията.

Междувременно в интервю за DEV.BG Светлозар споделя опита и впечатленията си от работата с различни технологии и практики при създаването на комплексни софтуерни системи.


Светлозар, разкажи ни повече за работата на твоя екип и технологиите, които използвате.

Отделът се състои от 35 специалисти в няколко направления – разработчици, QA, DevOps и CloudOps специалисти, формирани в 5-6 екипа. Разработваме SaaS платформа за международна продуктова компания в тясно сътрудничество с нейните специалисти. Платформата се използва от производители, чиито продукти е необходимо да отговарят на различни регулации според региона и пазара, на които се предлагат.

За backend разработката използваме предимно C# и .NET, с MS SQL/PostgreSQL и AWS DynamoDB за бази данни. Frontend частта е на Angular, а за cloud използваме услугите на AWS.

Какви са предимствата на C# и .NET и защо се спряхте на тях?

В случая нашите умения съвпаднаха с изискванията на клиента. Сложността на проекта изисква употребата на мощен език като C# и стабилен framework като .NET, с плодотворна и развиваща се екосистема. Това ги прави предпочитани сред компаниите със сложни казуси, които търсят устойчивост и нисък риск.

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

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

Днес те питаме…

Как настоящият ИТ пазар влияе на желанието ти за смяна на работа?
Loading ... Loading …

Какви методи и процеси на работа използвате?

Софтуерните инженери работят във функционални екипи заедно с продуктов мениджър, UX дизайнер и QA специалист. Това позволява на екипите да разработват функционалности самостоятелно, без необходимостта от предаване на работа, което улеснява комуникацията и забързва работния процес.

Част от екипа на P3 Bulgaria, включително и Светлозар (четвъртия от ляво надясно).

За разработката на софтуер работим по добре познатите Agile процеси. Екипите имат свободата да изберат най-удачния и ефективен процес според своите нужди. Доскоро използвахме Scrum с двуседмични спринтове, но повечето екипи преминаха към Kanban. Това позволява по-голяма гъвкавост при разработване и доставка. 

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

В процеса участва така нареченото продуктово трио – продуктов мениджър, дизайнер и технически ръководител на екипа. Те си сътрудничат с архитекти и специалисти от останалите екипи (DevOps, CloudOps, Data и др.), които подсигуряват внедряването на функционалността. Резултатът е технически разумно и актуално решение, съобразено с потребностите на потребителя и удобство при употреба.

На по-високо ниво тези процеси са част от годишни и тримесечни обсъждания и планирания. Те се подобряват непрестанно, така че да отговарят на нуждите и етапа на развитие както на партньора, така и на P3 Bulgaria.

Как гарантирате високо качество на разработка?

Целта ни е да следваме най-ефективните методи за софтуерна разработка в IT индустрията. Имаме документирани стандарти и насоки за ключовите стъпки при разработката на софтуер, които се стремим да спазваме и адаптираме при нужда. Освен стилови стандарти за различните програмни езици, те включват и правила за контрол на версиите и промените в кода.

Разбира се, това само по себе си не би могло да елиминира грешките. За допълнително намаляване на риска програмистите залагат функционални флагове в кода. Те контролират кога конкретен потребител има достъп до дадена функционалност в процеса на разработка. 

Фазите на достъпност са три – пилотна фаза за малък брой потребители; ранна фаза за по-широка аудитория; и публична, която осигурява достъп на всички. С първите две фази подсигуряваме навременна обратна връзка и плавно внедряване на новия модул.

Както P3 Bulgaria, така и партньорът ни сме сертифицирани по международните стандарти ISO 9001 за качество и ISO 27001 за сигурност.

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

Каква архитектура използвате?

Най-новите функционалности в платформата използват дистрибутирана архитектура с domain-driven microservices. Тя подсигурява хоризонтална мащабируемост не само на софтуера, но и на паралелната разработка на отделните екипи.

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

Светлозар (вторият от ляво надясно) с част от екипа на P3 Bulgaria.

Микросървисите са базирани върху .NET 8 с Docker контейнер и собствена база от данни. Комуникират помежду си чрез MassTransit с AMQP съобщения. За управлението и скалирането им се грижи Amazon ECS, а за провизирането им използваме GitHub Actions, Terraform и AWS Cloud Formation. 

Сървисите, разработени преди 3-4 години, работят с по-стари версии на .NET и обща база данни. Тях модернизираме постепенно до типа микросървиси, споменати по-горе, чрез архитектурния шаблон Strangler Fig.

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

Explore more

Виж
GraphQL обявите
Събрани на едно място
Right Arrow
Виж
Selenium обявите
Събрани на едно място
Right Arrow
Виж
Kubeflow обявите
Събрани на едно място
Right Arrow
Виж
Symfony обявите
Събрани на едно място
Right Arrow

Прилагате ли AI в работата си и как това допринася за по-добри резултати?

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

Както повечето колеги, и ние се допитваме до AI, било то при проучване, проектиране или писане на код и тестване. Обикновено използваме ChatGPT или Copilot. За момента сякаш ChatGPT се справя по-добре при съвети за проектиране или разрешаване на по-голям брой казуси. От друга страна, Copilot е по-добре интегриран с Visual Studio. Следим и подобрението на останалите големи езикови модели (LLM).

Важно е да не забравяме, че изкуственият интелект не е панацея. Нужно е внимателно използване, разбиране и адаптиране на предложенията, които прави. В противен случай лесно може да създаде код, който да намали общата производителност на екипа.

Разказахте за начина на работа в компанията, но какви възможности за обучение и развитие предлага P3 Bulgaria?

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

Отделяме време в проекта за проучване на технологии и инструменти чрез така наречените spike задачи. Това позволява колегите да обогатяват знанията си и да проверяват какво ново бихме могли да приложим в проекта.

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

Какъв съвет бихте дали на IT специалистите у нас?

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

Съветът ми към колегите е да бъдат постоянни и да търсят развитие, без да се ограничават с проекта, по който работят.