This role requires a wide variety of strengths and capabilities, including:
Java – Expert-level implementation skills with core Java. Proficiency in modern Java frameworks (Core Java, Spring Boot and Cloud Technologies). Knowledge of JDK version 8+ API.
Development - Expertise in application, data and infrastructure disciplines. Robust understanding of data structures and algorithms. Advanced knowledge of architecture, design and business processes.
Web Services – Strong experience and understanding of RESTful API architecture for creating web services, including frameworks.
Micro-Services – Strong understanding of the micro-service and service-oriented architecture.
Database – Hands-on experience with ORM frameworks like Hibernate/JPA. Must be highly proficient in SQL preferably across multiple databases.
Software Development Life Cycle – Understanding of CI/CD workflow. Conduct design and code review to ensure the application adheres to the firm standards. Code analysis and problem ownership to resolution. Provides design recommendations, developing and integrating programs per written specifications. Support of the on-going application build out.
Testing – Implements and incorporates unit and integration testing techniques using disciplined software development processes. Support for User Acceptance Testing phases.
Development Tools - Proficient knowledge in developmental toolsets, such as IDEs (Eclipse/Intellij), Build Tools (Maven/Gradle), Version Control Systems (GIT). Proficient knowledge in Atlassian stack collaboration tools (JIRA, Confluences).