Position: Senior Java Developer
Company: JetSoftPro
Category: Java
Experience required: 3y
English level: upper
Published: 2022-01-01T00:00:00+02:00

Our client creates disruptive gaming experiences that are reshaping the gaming landscape using cutting-edge technologies in Live-Ops, Data Analytics, and Performance Marketing. As a digital entertainment powerhouse, they process 9TB of data daily. All creative teams translate data-driven insights into customized storylines that deliver exciting challenges and surprising thrills, at every twist and every turn. . They don’t just build games, we bring them to life. They create infinite ways to play. Headquartered in Herzliya, Israel, our client has over 3700 employees in offices worldwide including Tel-Aviv, Herzliya, London, Berlin, Vienna, Helsinki, Montreal, Chicago, Los Angeles, Las Vegas, Santa Monica, Sydney, Kyiv, Bucharest, Minsk, Dnepr, and Vinnytsia.

Technology stack: Java Core, Spring stack
Responsibilities:
•	It’s a long-term position that involves the following main flow of everyday tasks:
•	Code new REST services (as additional modules and as separate microservices) that will run on our highly loaded environments in order to carry out vital business tasks;
•	Refactor existing code to make it more scalable and maintainable;
•	Fix if needed the defects in a current code;
Skills/Requirements:
•	Deep Java knowledge (Java Core, multithreading)
•	Strong awareness of Spring stack: (Spring Framework, Spring Boot, Spring Cloud).

It will be a plus:
•	RESTFul Web Services frameworks (e.g. Jersey, Dropwizard)
•	Experience with messaging systems (e.g. Kafka, RabbitMQ) and NoSQL databases (e.g. Redis, Couchbase)
•	A mastery of object-oriented design, design patterns, and software design best practices
•	Desire to write unit and functional tests (JUnit, AssertJ, Mockito) as well as integration tests and Testcontainers Java library
•	Familiarity with application performance management tools (AppDynamics, New Relic)
•	Experience leading the design, development, delivery, and support of technically complex software products.
•	Proficiency at understanding an existing codebase, learning from it, and documenting/explaining when needed.