+
Вход

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

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

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

97+22 =
+
Забравена парола

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

Coherent Solutions: Проектите и добрите практики в Java департамента на компания с 20+ години на пазара

Be The Match е най-големият в света регистър за донори на костен мозък с над 22 милиона регистрирани донори, който се оперира от базираната в Минесота нон-профит организация National Marrow Donor Program (NMDP). Идеята на тази система е да помага на трансплантационни центрове да намират най-подходящите донори за пациенти, диагностицирани с различни типове рак на кръвта. Coherent Solutions е основен технологичен партньор на организацията от повече от 10 години и е разработила ключови за ускоряването и оптимизирането на процеса по намиране и свързване на пациенти и донори решения.

От година и половина по този проект се включва и българският екип на компанията. Фокусът на софийския офис е “фасадата” за координаторите на трансплантационните центрове – входната точка към цялата екосистема от решения.

“Като екип, отговорен за разработването на фасадата на платформата, най-голямото ни предизвикателство са всички интеграции с останалите 15 решения в екосистемата.

Александър Лазаров,
Ръководител Java департамент

Това изисква много технически познания, но и добри меки и комуникационни умения. Ние разработваме нови функционалности, които добавят бизнес стойност и постоянно актуализираме наборът от технологии (виж карето) на платформата,” разказва ни Александър Лазаров, ръководител на Java департамента в Coherent Solutions.

В момента младата местна Java практика се състои от 14 души и през следващите месеци плавно ще нараства, като идеята е да достигне около 20 души – програмисти и лидери на екипи до края на 2021 (виж актуалните позиции). “Хубави екипи и практика се изграждат около хора с опит и желание за създаване на локално мини общество. Част от тези хора сме намерили, останалите все още ги търсим,” казва Боян Антонов, генерален мениджър на компанията в България. Не на последно място – освен, че си търсят хора с опит, в Coherent Solutions и си създават такива в специалната си Java Трейнинг Програма.

Технологичен stack
> Core: Java 11
> Framework: Spring 5.3.X, Spring Boot 2.4.X+,Spring Cloud, Spring Data, Spring Security, Spock, Groovy
> Security: Okta,OAuth 2
> Docker, K8s, Oracle DB, MS SQL Server
> Messaging: ActiveMQ, IBM MQ
> Build: Maven
> VCS: git
> CICD: GitLab, Bamboo;
> NoSQL: Elasticsearch

Разнообразни казуси за решаване

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

“Много важна част от работата ни е техническото консултиране на клиентите ни – и преди, и след подписване на договора. Виждаме ролята си в това да им помагаме да дефинират решенията, от които се нуждаят и след това ги разработваме.

В случаите, когато не сме част от даден проект от самото му начало, винаги започваме с дефиниране и постепенно разработване на нови функционалности. Екипите ни предимно работят по R&D и в редки ситуации по съпорт проекти,” обяснява Александър. До момента той е имал възможност да се включи като технически консултант, за кратко, в началната фаза на имплементация, в два нови проекта по които работят и специалисти от българския офис.

Основните вертикали, в които специализира компанията са здравеопазване, производство, технологии, електронна търговия, услуги. Конкретно Java developers екипът в България в момента работи по четири проекта – два за корпоративни клиенти, и два за стартъпи. Един от тях е този за NMDP, който е и сред топ 5 на най-големите клиенти на Coherent Solutions.

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

Николай Данеков,
Софтуерен инженер

“Проектът е дългосрочен и работим по него от август 2020. Стартиран е и се разработва изцяло в България. Постоянно се сблъскваме с различен тип интересни предизвикателства.

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

Екипът е малък и сплотен и работи по Scrum методологията, имаме свобода за проектиране на архитектурни решения,” разказва Николай Данеков от екипа, който преди да започне работа в този проект, преминава през Java трейнинг в компанията.

Решение за автоматизиране на работата в кол центрове, което работи с големи количества данни в реално време, разработва друг от клиентите, с които работи българският екип на Coherent Solutions. Проектът е дългогодишно партньорство с американска компания и отначало е писан на .NET, но в момента преминава към Java и екипите на Coherent Solutions са ангажирани както с актуализацията на технологиите, така и с развитието на нови функционалности.

Живко Митрев,
Софтуерен инженер

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

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

обобщава работата си по проекта Живко Митрев. По думите му процесът е организиран перфектно на база на три седмични scrum спринта, което не допуска претоварване на екипите.

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

Международни екипи и вътрешна мобилност
Днес те питаме…

Стартирахме нов канал @DEV.BG в TikTok. Какво е мнението ти?
Loading ... Loading …

“Важно е да отбележим, че по всеки от проектите работят екипи от различните ни локации,” пояснява Александър. Работи се в международни екипи и това позволява по-голяма свобода на колегите в България да работят от офиса, от вкъщи, комбинирано или изцяло дистанционно за територията на България. Към момента, в Java екипа има трима колеги, работещи съответно от Пловдив, Варна и Гоце Делчев.

В общия случай Coherent Solutions отваря позиции за конкретни проекти (разгледай актуалните позиции тук). Има и възможност, ако специалистът и компанията се харесат, той да започне работа в Coherent Solutions и допълнително да се уточни конкретен проект, за който да работи, тъй като екипът активно се разраства. “Търсим таланти на ниво компания, с които заедно да градим и развиваме текущи и бъдещи екипи дългосрочно и устойчиво” споделя Ивелина Петрова, HR специалист в компанията. Има възможност и за вътрешна мобилност между проектите.

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

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

някои от които специфични на определена локация,” обяснява Александър.

Добрите практики на компания с традиции

За повече от 20 години на пазара, Coherent Solutions има добре изграден набор от добри практики – както за писането на код, така и за цялостната организация на работата.

Java екипът на Coherent Solutions Bulgaria

Обичайно се работи в кросфункционални екипи, включващи различни роли – front-end и back-end програмисти, технически лийдове и проджект мениджъри, софтуерни бизнес анализатори, dev-ops. Държи се на agile методологиите, като в повечето от случаите става дума за Scrum, и в по-редки случаи се работи по Kanban, когато клиентът го изисква.

Що се отнася до самата разработка на код, в Coherent Solutions се планира и тества много внимателно.

“Правим така наречените quality gates, валидираме архитектурните решения, които взимаме със съответните специалисти (solution архитекти) още на ниво дизайн, правим така наречения static code analysis, пишем различни видове тестове – unit tests, integration tests, performance tests, smoke tests, acceptance tests.

Разбира се, правим проверка на кода и се стремим да интегрираме continuous delivery във всеки проект,” обобщава Александър Лазаров. В трейнинг центъра пък се залага изключително много на това новите кадри да се научат да развият собствен стил, но и да пишат чист код по-висок стандарт.

Собствена академия за Java програмисти

В Coherent Solutions има много натрупани опит и добри практики, и за компанията е важно да мултиплицира това знание. Затова освен, че търсят опитни специалисти, пасващи на средата и културата, от Coherent Solutions се стремят и да отглеждат талант в собствения си тренировъчен център, базиран в Минск. Центърът предлага обучения за младши специалисти и такива за надграждане експертизата на опитните специалисти в екипа. Към момента в българския офис на Coherent Solutions се обучават 8 младши специалисти в домейните Java, .NET, Front-end (React) и Manual QA. Обикновено обучението продължава около три месеца, а обучаващите се са наети на трудов договор.

“Преди да започна в Coherent Solutions се занимавах с операционни системи и предимно пишех скриптове с Python и Bash. Впоследствие реших, че ще ми е по-интересно да работя с Java и започнах да се готвя самостоятелно. Това, което ме спечели в Coherent Solutions при търсенето ми на работа, е точно обучението,”

разказва Николай Данеков.

Средната продължителност на този тип обучения е 3 месеца, като целта е да подготви специалистите за работа в контекста на текущите екипи и проекти на компанията. Конкретно обучението за Java e разделено на три модула – Java Core, Databases, Java Web, като всеки от тях се води от специалист в областта.

Следващият етап за преминалите успешно трейнинг център специалисти е да работят както по вътрешни, така и по клиентски проекти, супервизирани от ментор. “Мисля, че най-полезното от този трейнинг беше времето и съветите на опитните треньори. Даваха ми много препоръки за стил на писане, проектиране и реална обстановка в проект. Не ми казваха само ‘направи го така’, а имаше реално обяснение защо и как това ще допринесе в работата,” споделя младшият Java програмист, който започва работа по споменатия вече fintech проект няколко дни след завършването на трейнинга.

Ирена Стоева,
Софтуерен инженер

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

“Да си трейнър те държи във форма и не ти позволява да забравиш основни принципи и понятия, през които обикновено преминаваш в началото на своя професионален път.

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

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

Опознай Coherent Solutions като разгледаш актуалния профил на компанията и отворените позиции в job board-a на DEV.BG или прочетеш и други статии в нашия блог.