Position: Java Developer
Company: KaaIoT Technologies, LLC
Category: Java
Experience required: 2y
English level: intermediate
Published: 2021-11-01T00:00:00+02:00

Skills & Requirements:

BS/MS degree in Computer Science or equivalent
Strong Java skills - at least 2-3 years
Strong expertise with Spring (Security, DI, JDBC), Apache CXF, Servlets, REST technologies
Experience in RDBMS administration and data architecture, data modeling, implementation
Experience with test frameworks and libraries such as JUnit, Mockito, AssertJ, TestNG
Linux systems setup and maintenance on hardware as well as in virtual and cloud infrastructure
Strong written and verbal communication skills in English

Would be a plus:

Experience with front-end technologies like React.JS
Experience with messaging (RabbitMQ)
AWS, Terraform, Docker, MicroServices

About the project:

Unified web-based solution to provide its subscribers an opportunity of configuring services, searching for phone numbers, ordering, porting in/out, and provision of phone numbers on their telephony network, and also provide the ability to terminate services. This system was implemented with a set of dependent complex projects.

Only a few directions, sub-projects are briefly described below:

frontend system that gives the possibility operates in different ways with phone numbers. Also was created API to meet strict performance requirements and integrate it to Dashboard Web Portal. Telephone number inventory is completely integrated with Telecom Provider services and partner vendors, which automates the process of porting telephone numbers. All business processes related to purchasing numbers are integrated with a billing system. Reliable storing of information was implemented with the MariaDB database. The communication between modules uses RabbitMQ as a highly available and durable messaging system.
unified web-based solution to provide its subscribers an opportunity of configuring clusters based on system and network metrics. The goal was to create a stable, uniformly loaded system that based on metrics results, that received from the system and after analysis log collectors, gives the possibility for configuration of the cluster.