Position: Java Developer
Company: PerceptionBox
Experience required: 3y
English level: upper

On behalf of our client PerceptionBox is looking for a Java Developer with experience in building high-performing, scalable, enterprise-grade applications.

Responsibilities:
As a Java Software Engineer, you will be in charge of engineering and implementing  the high-loaded enterprise system. It serves tens of thousands of users logging into our product every day. Part of your responsibilities will include translation of the UI/UX design wireframes to actual code that will produce visual elements of the application. You will work with the UI/UX designer and bridge the gap between graphical design and technical implementation, taking an active role on both sides and defining how the application looks as well as how it works.

Requirements:
• English level – B1+
• 4+ years of Java development.
• Strong programming skills with Java (Java Core, Servlets).
• Experience with OOP/OOD.
• Experience with clustered applications, pooling, connection management,
and transactions.
• Familiarity with programming specifics like asynchronous I/O, concurrency,
distributed web systems, and regression.
• A good foundation in algorithms, design patterns, and data structures.
• Integration with 3rd party tools/systems.
• Experience with unit/functional testing.
• Strong experience with most of Spring Framework/Hibernate/JDBC, databases (Oracle, PostgreSQL, MySQL), JSP, HTML, JavaScript.
• Familiarity with Spring Boot and Spring Cloud with Netflix is a plus.
• Experience with MongoDB and Redis is a plus.
• Maven, Gradle.
• Git.
• Strong understanding of RDBMS concepts + SQL.
• Good experience with troubleshooting production problems related to software applications.
• Experience with asynchronous communications and messaging, RESTful services, and SOAP, HTML, JavaScript, CSS.
• Good spoken and written English