The required skills are:
– Very strong analytical and problem solving abilities
– 7-15 years of experience in Java backend development
– Very strong knowledge of software design principles: MVC, data structures, graph data, algorithms, design patterns, multithreading, caching, recursion
– Strong knowledge of core Java: class loading, garbage collection, Java collections API, Reflections API, Java 8 Streams and Functional Programming
– Strong knowledge of Object Relation Mapping technologies: JPA/Hibernate
– Strong knowledge of common Java frameworks (Spring, JSR-303, Logback, Junit, Apache Commons)
– Strong knowledge of GIT source code management
– Knowledge of Gradle, Jenkins automated build processes
– Strong knowledge of Representation state transfer (RESTful Web services)
– Strong knowledge of enterprise Java: JAX-RS, JTA, Jetty/Tomcat
– Strong knowledge of BDD (behavior-driven development) with JBehave/Cucumber
– Strong Knowledge of Relational Databases and SQL (DB 2)
– Good Knowledge of Non-Relational Databases and No-SQL (Mongo DB)
Nice to have:
– Experience with TDD (test driven development)
– Good Knowledge of BPM and BPMN tooling
– Knowledge of Snowflake DB
– Knowledge of HTTP, XML, JSON
– Knowledge of react js
– Knowledge of Unix/Linux
– Knowledge of Liquibase database schema management
Bachelor's Degree