Position: DevOps Engineer for iDgital
Company: Zazmic
Category: DevOps
Experience: 3y
English level: upper

https://blog.ithillel.ua/interviews/it-otrasl-v-ukraine-zhdet-uspeh-kompaniya-zazmic-inc


Продукт розроблений з нуля, і ми вже на стадії випуску, тому готова частина - це те, що використовується клієнтами з різних країн. Ми збільшимо кількість клієнтів у кілька разів, зараз ми підтримуємо близько 100 закладів, незабаром ця сума перевищить 500.

Окрім підтримки продукту, ми працюємо над новими спеціальними та технічними характеристиками, покращуючи продуктивність платформи та декількома новими основними етапами, наприклад попередня версія для поточної програми saas, вдосконалення мобільного додатка (IOS, Android), інтеграція декількох додаткових способів отримання інформації з лікарень. 
Крім того, у нас є кілька підпроектів, заснованих на архітектурі iDGital.
Цифровий асистент виконує різноманітні конкретні завдання від імені лікаря, що робить прийнятним для лікаря зосередитися виключно на поточних умовах свого пацієнта. 

Разом із платформою Digital Assistant ML, що пропонує наскрізну обробку зображень та даних, рентгенолог отримує швидкий доступ до більш повного та точного походження інформації.
IDgital пропонує комплексне радіологічне рішення, яке значущим чином вносить потужність сучасних обчислювальних технологій у область радіології, пам’ятаючи, що наша мета - завжди допомагати рентгенологу, а не замінювати їх.


**Team**
30 people:
4 QA
2 AQA
16 Developers
4 DevOps
1 PM
1 BA
1 Designer
1 HR

**Team processes**:
- As basic we are using standard git-flow but we added some minor changes to It. This change depends on our environments and our release process. The lifecycle of the developer's tasks based on scrum (3 weeks sprints), ops team is working by kanban style.
- We have a code review process by 6 BE and 2 FE experienced developers and a knowledge-sharing process for all team members weekly.
- We have a bunch of various processes, some of them are main and some of them are added to make the life of the team and project better. Here is the list of basic ones:
Sprint Planning process;
1 Daily stand up meeting per team (1 for Ukraine team [19 members], 
1 for AQA [2 members], 
1 for OPS [4 members], 
1 for Eng teams from different countries [5 members]);
Sync meetings for QA team once per sprint;
Sync meetings for FE and BE teams once per sprint;
Tech retrospective process;
Retrospective process;
Demo process;
BA process for BA team;
Hotfixes process for maintaining production.

**Technical details**
- For version control are used gitlab and CI/CD builds. Almost all deploys are automated.
- Different kinds of testing: manual testing by the best QA team, UI testing by AQA (cypress), unit tests, API integration tests, functional tests, load tests using k6, microservice unit and integration tests.
Now are improving coverage for all types of testing.
- Google cloud and many google services (storage, pub/sub, healthcare, PostgreSQL, Kubernetes, firestore, logging, etc ) for infrastructure. Elastic as additional database.
- Above 40 microservices.
- Additional technologies details are:
Vision Machine Learning using TensorFlow;
Loose coupling through PubSub Messaging;
Auto-scaling microservices through Kubernetes;
REST API and GRPC integrations;
Cloud DataFlow for ETL;
BigQuery for DW and analytics;
Looker for reporting;
Speech recognition development including model development;
Google DialogFlow for IVR development;
Distributed Cloud SQL Database.

**Technology stack**
Google cloud platform, Node JS, Koa JS, Angular 7, PostgreSQL, Big Query, Dialog Flow, TensorFlow