Position: Java Developer
Company: geeksforless.com
Experience required: 3y
English level: upper

**Description**
We are looking for a Java developer responsible for building Java applications for Casino apps. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.

**Responsibilities**
Translate application storyboards and use cases into functional applications
Design, build, and maintain efficient, reusable, and reliable Java code
Ensure the best possible performance, quality, and responsiveness of the applications
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automatization

**Skills**
Proficient in Java, with a good knowledge of its ecosystems
Solid understanding of object-oriented programming
Familiar with various design and architectural patterns
Skill for writing reusable Java libraries
Knowledge of concurrency patterns in Java
Familiarity with concepts of MVC, JDBC, and RESTful
Knack for writing clean, readable Java code
Experience with both external and embedded databases
Understanding fundamental design principles behind a scalable application
Basic understanding of the class loading mechanism in Java
Creating database schemas that represent and support business processes
Basic understanding of JVM, its limitations, weaknesses, and workarounds
Implementing automated testing platforms and unit tests
Proficient understanding of code versioning tools, such as Git
Familiarity with build tools such as Ant, Maven, and Gradle
Familiarity with continuous integration
Java 8 , hibernate , spring boot , spring batch , postgresql , spring mvc .