Position: Engineer, Java
Company: Surprise
Category: Java
Experience required: 3y
English level: intermediate

**What will you be doing?**
Building a unique and innovative product;
Joining a cross-functional team comprising all the expertise necessary to design, build, deploy, operate, and support;
Participating in technical design sessions;
Building a product according to microservice architecture principles;
Working with real feedback from live users worldwide to adjust and improve the product.

**What are we looking for?**
Software development professional with 3+ years in production with Java;
Good knowledge of Java Core;
Ability to produce clean, accurate, high-quality code;
Proficient working with Spring Framework (Core, Boot, Web and others);
Practical understanding of software design patterns and data structures;
Good understanding of Software Development Lifecycle and CI/CD concepts;
Experience with Docker;
Hands-on using relational databases and SQL;
Experience with unit testing;
Intermediate English or higher (B1+).

**What skills will come in handy?**
Experience with Cloud ecosystems (AWS, Kubernetes);
Understanding of microservices architecture;
Knowledge of NoSQL (MongoDB, DynamoDB, Couchbase);
Ability to document the technical design of your solution prior to implementing it;
Experience troubleshooting live issues in a production environment.

**Benefits**
Work on interesting and challenging projects, while building a pioneering software category;
Great atmosphere, with the vibe and energy of a high-growth tech company;
Competitive salaries;
Option of equity;
Close collaboration between UA and US team members;
Ultramodern offices in the heart of Lviv (Magnus) and Kyiv (Gulliver);
Flexible working hours;
Ability to travel to the US;
Corporate activities and parties;
20 working days of paid vacation;
15 days of paid sick leave;
Medical insurance;
And, of course, we use Surprise internally!