Position: Node.js developer for  IDgital
Company: Zazmic Inc
Category: Node.js
Experience required: 2y
English level: intermediate

You will be a developer for the following areas: backend and microservices repositories, have experience with GCP tasks.

Required skills:
2+ years in web app development
Experience developing a node.js
Good understanding of Node.js and frameworks available for it (such as Express.js, Koa)
Understanding of modular system of Node.js and knowledge of the most popular modules (like WS, Sequelize, Swagger)
Knowledge of CI approaches including unit and end-to-end testing
Proficient understanding of code versioning tools, such as Gitlab
English (Intermediate or higher)
Strong knowledge of RDBMS like Postgres and MySQL
Docker
Code quality tools (ESLint, prettier, husky, etc.)
Development of REST API

Will be a plus:
Experience with Angular 2+
Google Cloud Services (e.g GKE, FireBase, BigQuery, PubSub, CloudSQL)
Understanding of Agile (Sprint) development process
Microservices architecture
Healthcare domain experience
Experienced with TypeScript
Experienced with WebSockets

We offer:
Work in a friendly high-efficient team of professionals;
Interesting projects;
Dynamic and challenging tasks;
The ability to work remotely;
Flexible working hours;
Possibility of professional growth;
Get a chance to work with the latest GCP services and technologies;
Opportunity to join the Zazmic community of 200+ developers worldwide;
Opportunity to make a contribution to the medical area and help people around the world.

Responsibilities:
Development of new functionality;
Support of an existing functionality;
Participation in daily/planning/demo/retrospective/developers synchronization sessions with the team;
Be positive and motivated for making A++ product;

About the project:
iDgital is a cloud-based SaaS application that manages orders for Radiologists and can resolve clients’ issues. Clients are hospitals and groups of hospitals that are situated in different countries around the world.

This product team develops a Node.js/Angular web application in the healthcare field. All deployments are containerized in a large distributed architecture. We have co-developed a Healthcare API with Google that is central to our solution. The product has been developed from scratch and we are already in the release phase, so the ready part is that something used by clients from different countries. We will increase in multiple times in terms of clients soon, now we support around 100 facilities, soon this amount will be over 500.

Besides maintaining the product, we are working on new custom and technical features, improving the performance of the platform, and a few new major milestones in progress, e.g. on-prem version for the current SaaS application, improving the mobile app (IOS, Android), integrating a few additional ways of receiving information from the hospitals. Also, we have a few subprojects based on iDgital architecture.

The Digital Assistant performs a variety of specific tasks on behalf of the physician, making it acceptable for the physician to focus solely on the current conditions of their patient. Along with the Digital Assistant ML platform offering end-to-end image and data processing, the radiologist gains quick access to the complete and accurate origin of the information.

IDgital offers an end-to-end Radiology Solution that brings the power of modern computing technology to the field of Radiology in a meaningful way, while remembering that our goal is to always assist the radiologist, never to replace them.

Google Cloud Next ’19 | April 9-11 | San Francisco (presentation) — www.youtube.com/watch?v=Y-yvlt5mVXk

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