Position: Senior/Middle Java Developer
Company: Trigger Software
Experience required: 5y

**Project**
We have a product called Trigger API Gateway that helps companies build APIs in 1-3 minutes without code. This project requires attention to detail since the product should be high-load and scalable by design, so we need an experienced developer.

**Requirements**
- 5+ years of commercial experience with Java
- Strong skills in Back-end (Java) development
- Knowledge of algorithms and data structures (hash tables, indexing, joins, aggregation, etc.)
- Experience with developing commercial or/and enterprise scalable software solutions
- Strong knowledge and experience using the best development practices and approaches
- Work experience with RabbitMQ, Mongo, PostgreSQL, Redis, gRCP;
- HTTP clients and best practices (REST API)
- Experience with REST and JSON
- Experience working in Agile/Scrum teams
- Understanding of fundamental design principles behind a scalable application;
- Understanding of fundamental designs of OOP, SOLID;
- Habits in writing unit/integration tests;
- Experience with Docker;
- Experience with AWS;
- Ability to deal with substandard issues.

**Nice to have**
- Experience with Keycloak
- Knowledge of cloud-based software (GCP or AWS)
- High-concurrency applications
- Deep knowledge of multi-threading and concurrency patterns
- Understanding of Performance Monitoring and Testing (Thread Dumps, CPU and Memory Monitoring, Instrumentation)

**Personal Profile**
- Responsible and proactive
- Good team-player
- Ability to self-study
- Excellent communication and problem-solving skills
- Striving to introduce best practices in daily work
- Be ready and be able to communicate in written and verbal form to the client

**Offer**
- 100% Remote work
- Competitive salary
- Flexible work schedule
- Interesting project that will improve your hard- and soft-skills
- Experienced management and friendly environment
- Ability to work with the industry-leading companies in CIS