Position: Java Developer
Company: KaaIoT
Category: Java
Experience required: 2y
English level: intermediate

The main area of the project:
● Fleet management and engine performance monitoring;
● Telematics tracking, geofencing, routing;
● Fuel quality and consumption management;
● Workload management and scheduling;
● Predictive maintenance based on previously detected engine issues.
Problem:
● The company is able to receive data from vessels, rail machinery, nuclear reactors, power plants, and mining equipment, but has issues with any further actions(transforming, processing, transferring) with that data.
● The main thing their solutions were doing - creating simple data reports and data visualization that basically just including the raw data along with building predefined charts for technical analysts.
Solution:
● The platform computes live-streaming data that is incoming from the sensors connected to the assets. When the platform gets the asset data, it’s visualizing and analyzing on the UI.
● Predictive maintenance implemented with help of machine learning, configurable alerts, and thresholds.
● Configurable alerts can be set up with a wide system of rules and alert templates for faster and more efficient data analysis.
● Our team is responsible for the entire engineering cycle, from the initial device’s software design to ground-up implementation, testing automation, analytics, and UI production rollout.
Technology stack: Java, Kotlin, MQTT, WebSocket, STOMP, HTTP Spring (Framework, Boot, Security, Data) Reactor, Postgres, Cassandra, Kafka, Docker, Gradle, Git
Requirements:
● 2+ years of commercial experience
● Strong Java core (java 8+)
● Multi-threading
● Spring Framework, Spring Boot
● SQL and NoSQL based databases
● Message-based systems
● Git
● Linux
● Intermediate or higher level of English
Would be a plus:
● Reactive Programming (Reactor or RxJava)
● Docker
● Experience with scalable distributed systems