Position: Java Developer
Company: TPE, Odessa - The Product Engine
Category: Java
Experience required: 3y

**Project Description**

The project provides a service for direct network interaction with routers. Project  scans the network of routers to update NDS storage, and can also retrieve device information on demand. Discovery takes over the network interaction, while the communication with the routers occurs through the Translation Service from Device integration.

We collect various data (logs, metrics, statistics) from a huge number of network routers and process it in a real-time streaming mode.
Currently our input flow is more that 350 thousands messages per second.
 
**Responsibilities**

- Develop high quality testable and maintainable services including machine learning, big data and highly available components;
- Communicate with teammates in a distributed team;
- Develop features all the way from a concept up to the deployment;
- Design, discuss with teammates and implement new functionality (we don’t support legacy systems, only development of new applications);
 - Perform code reviews and knowledge sharing.
 
**Required skills**

 - Strong knowledge of Java 8+;
 - Knowledge of Spring framework, Spring boot;
 - Experience with AWS services, especially: SNS/SQS, S3, Lambda;
 - Experience with Maven or Gradle build tool;
 - Experience with one of Cassandra;
 - Knowledge of common coding best practices and design patterns;
 - Experience in development of service oriented applications: REST (or SOAP);
 - Technical expertise and troubleshooting;
 - Understanding concepts of scalability, multi-threading, caching, memory 
management;
 - Experience in working with Linux: being a Linux user, basic Linux concepts, permissions, basic SHELL skills;
 - Strong problem solving skills and ability to work as part of cross-functional teams;
 - Excellent communication and organizational skills and with Agile Software Development Life Cycle.
 
**Would be a plus**

 - Experience with MongoDB;
 - Performance improving skills: Ability to identify and resolve bottlenecks;
 - Knowledge of TCP/IP stack and routing protocols;
 - Understanding of network devices (switches and routers);
 - Experience with Jenkins and Puppet.
 
**Employment Conditions**

 - Work in well-organized professional team;
 - Interesting and challenging tasks, opportunities for self-realization and career growths;
 - English language courses during working hours;
 - Business trips and the opportunity for further work in foreign representative office;
 - Flexible working schedule;
 - Corporate events.