EXPERIENCE
Essential skills and experience
- Redhat J Boss Decision Manager (version 7)
- Back End development using Java 8 (specifically streams, lambdas, and collections framework) and dependency injection
- Enterprise integration comprising eventually consistent (asynchronous and synchronous) systems, and distributed message-driven (JMS) architectures interfacing with Legacy and third-party systems
- Experienced on enterprise messaging patterns, specifically the pub-sub channel
- Building asynchronous microservices with RESTful APIs using JAX-RS
- Strong Cloud experience (AWS or similar)
- Object-Oriented Analysis and Design, and implementing DDD-based-designs
- Java persistence using an ORM/JPQL
- Understanding of core properties of RDBMS including ACID properties and transaction isolation
- Automated testing with JUnit and Mockito, using a test-driven approach to development, and articulate on benefits of a clean, testable codebase
- Git and pull-request-based code review flows
- Maven and consuming CI Pipelines using and consuming reports from static analysis tooling (eg Checkstyle, PMD, Clover, SonarQube etc.)
- Meeting user needs using agile methodologies
- UNIX command-line familiarity
- Understanding of Spring Batch
Nice-to-have skills and experience
- RAW visualisation tool
- Designing microservice-based, eventually-consistent architectures using domain driven design (DDD)
- CQRS and Event Sourcing patterns
- Successfully delivering performing, scalable and long-transactional digital services in complex and highly regulatory environments
- Working in blended, multi-discipline, multi-vendor team environments
- JAX-RS for REST APIs
- JMS
- Developing and working against cloud hosted environments
- Hibernate and Liquibase
- JIRA/Confluence
- Wiremock and other distributed-systems testing utilities
- Activiti or other JBPMN
- Rules Engine eg Drools