Job Description  
  Who are we  
Fulcrum Digital is an agile and next-generation digital accelerating company providing digital transformation and technology services right from ideation to implementation.
These services have applicability across a variety of industries, including banking & financial services, insurance, retail, higher education, food, healthcare, and manufacturing.
The Role Contribute to all stages of software development lifecycle Develop and maintain Java-based applications that can be high-volume and low-latency Analyze user requirements to define business objectives Envisioning system features and functionality Define application objectives and functionality Ensure application designs conform with business goals Develop and test software Identify and resolve any technical issues arising Create detailed design documentation Propose changes to current Java infrastructure Implement technical designs for application development Write well-designed, testable code Conducting software analysis, programming, testing, and debugging Manage Java and Java EE application development Develop documentation to help users Transforming requirements into stipulations Prepare and produce releases of software components Support continuous improvement, investigating alternatives and technologies, and presenting for architectural review Requirements  
 Must Have 
 
Java 8/11 Concepts
 Kafka / Event driven framework Collections – Types, Usage, Sorting
 Multi-threading / Parallelism – Considerations, Thread Pool, CompletableFuture, Executor Service
 Exception Handling – Best practices, resource cleanup
 Design Patterns – Singleton, Builder, Factory, Observer
 Data Structures
 Sorting/ Search Algorithm
 Space and Time Complexity
 Spring Boot, Spring JPA
 SQL or Oracle REST API – API First approach, Methods, Standards, Rest Controller
 Securing REST API- Strong understanding on Spring Security, JWT
 Microservices Patterns
 CRUD operations, Performance tuning
 Unit, Functional & Integration testing
 Problem Solving / Analytical / Pseudo code logic
 Troubleshooting Skills – Elimination method, approaches to pinpoint issue, tools used, Log levels, best practices
 Proactive, Self-starter, Collaborative, Strong communication skills -- both verbal and written
 Proven experience in Agile methodology, SDLC & implementation of Projects, debugging the applications
 Good to have Distributed Systems, Splunk