Position: Middle Strong/Senior Java Developer ONLY Wroclaw
Company: Vakoms
Experience required: 3y
English level: intermediate

About the project:

Software Engineering is maintaining various applications and tools for both internal and customer usage.
The tools are mostly standalone applications to create and/or analyze vehicle data.
Moreover, some of the applications are running on the train itself, providing features like for instance the distribution of configuration files to the train network participants.

The work will be diversified between existing tools.
Additionally, there are some new applications planned, which have to be developed from scratch.
Here, it is a big plus to have fundamental knowledge about architectural contains.
The project involves the development of a web-based system for tracking and analyzing real-time events in the field of transport.

It is a web system that constantly collects a very large amount of data (~80 TB per month) from trains via MQTT/Kafka infrastructure. There is so much data that a person cannot analyze it. Therefore, part of this system is a large number of tools that analyze this data and draw conclusions that are already possible for human comprehension. That is, the project has elements of Big Data.

Requirements:

• 5+ years of Java development experience
• Strong knowledge of Java SE 8, Java SE 17, Java EE
• Deep understanding of computer science fundamentals: OOP, OOD, design patterns
• Strong knowledge of Spring framework (Core, MVC, Security)
• Experience with RESTful API
• Experience writing tests (JUnit 5, Spring Boot test, Mockito)
• Experience with PostgreSQL, SQL or similar database
• Understanding of SOLID principles (as well as DRY, KISS)
• Strong communication skills
• Open to constructive feedback
• Strong analytical and problem-solving skills
• Upper-Intermediate English

Will be a plus:

• Experience with frontend technologies like Swing, JavaFX
• DevOps experience (Docker, deployment, GitLab CI/CD)
• Experience with Migration from old Java Versions to new JAVA SE 17
• Understanding of Domain-driven design
• Understanding of UML

Responsibilities:

• Help in building the architecture and work on requirements
• Take part in discussing technical decisions
• Develop the most important parts of the projects
• Work in small team together with Product Owner