The project
Our client is an international supplier of communication and information systems for control centres with safety-critical tasks. These ‘Control Centre Solutions’ are developed and distributed by our client in the business segments:
- Air Traffic Management (civil and military air traffic control, aeronautical information management, air defence)
- Public Safety & Transport (police, fire and rescue services, emergency medical services, vessel traffic and railways)
With headquarters in Vienna, the company employs more than 1800 people worldwide, with subsidiaries, regional offices, and representatives in over 50 countries.
Industry: Safety & Transport / Air Traffic Management
Team: Scrum Team of 6 Engineers (Software Developers, System Engineers/Dev-Ops and Scrum Master)
As part of the team, you will actively develop products in an international environment, where experienced people will help you further develop your skills and advance in your career.
Project methodology: SCRUM / SAFe
Product: platform for safety critical domains
MosaiX is the next generation platform for safety critical domains. Driven by the highest quality needs in air traffic management our client reaches out to all use cases where reliability, real time performance and security are major success factors.
Technologies used in the project:
- Java (migrating to Java 17)
- RedHat
- Docker V19
- RabbitMQ
- CQL (Cassandra)
- React
- Jenkins
You will work on a microservices-based framework used across the company to run and integrate multiple products. You will develop reusable services, software packages and libraries to be used by other teams in the company.
The product runs on RedHat, handles the deployment and configuration of the OS and supports the configuration and orchestration of services packaged as Docker images.
Deployment for a safety-critical environment, following industry standards, where high availability and redundancy are a basic requirements.
You will develop loosely coupled, highly available Java services, with lightweight REST and AMQP, (RabbitMQ) interfaces, that use CQL (Cassandra) to store data. If you like to step out of your comfort zone, we also have components written in Go if you want to learn a new language.
Your tasks
- Take part in the daily work of the Scrum Team
- Contribute to the design and architecture of the product
- Coding according to the company processes and standards
- Compose unit and component tests
- Support for the QA in testing and developing the automated system tests
- Writing documentation and requirements
- Clean Code / Code Review
What we expect from you
- 5+ years of software development experience in Java
- Knowledge of object-oriented concepts, design patterns and SOLID principles
- Passionate about clean, unit tested and maintainable code
- Experience with SOA and microservices
- Experience with REST, messaging/AMQP, WebSockets
- Experience with distributed systems and understanding of concepts (CAP theorem, redundancy, high availability, consensus protocols, etc.)
- Know-how on continuous integration and delivery
- Good English skills (both written and spoken)
Nice to have
- Experience with Go is a plus
- Basic knowledge of Linux and Bash
- IP networking know-how
- Domain-Driven Design experience is a plus
- Experience with database systems, NoSQL is a plus
We look forward to receiving your application!