Tech Stack
Distributed SystemsJ2EEJavaJUnitKafkaKubernetesMicroservicesSOAPSpringSpring BootSpringBoot
About the role
- Design, build, and deliver scalable distributed systems and Java microservices
- Implement and program large distributed systems with microservices architecture
- Ensure performance, scalability, reliability, availability, and security of services
- Work with technical SMEs to understand requirements and ensure they are met
- Define best practices and standards for microservice implementation
- Lead activities to build accelerators and tools to increase quality of deliverables
- Evaluate industry technologies and recommend appropriate design choices considering cost, portability, compatibility, and usability
- Identify and implement changes to technologies, integrated platforms, and systems to meet customer and operational requirements
- Continuously seek ways to more efficiently manage and utilize technology, platforms, and systems
- Highlight design risks, provide alternative options, and recommend quality solutions
Requirements
- Bachelor’s degree in computer science, engineering or similar domain
- 5+ years of technical experience within architecture development, integration of backend systems and development
- Strong hands–on experience in developing applications using Java/J2EE
- Experience with Spring and Spring Boot framework
- Experience designing and coding scalable Microservices
- Deep knowledge of SOA, Architecture and Design on Microservices
- Experience with REST Services and Soap Services Development
- Core Java fundamentals, Java 8+
- Experience with testing frameworks: JUnit, Cucumber
- Strong hands-on with design patterns and clean code principles
- Experience with middleware/messaging technologies such as MQ, JMS, Kafka
- Exposure to event-driven design patterns
- Experience with MSSQL, data modelling, query development and performance optimization
- Demonstrated knowledge of OAuth token-based authentication protocol
- Demonstrated knowledge of PCI and Security Coding Standards
- Strong problem solving skills and ability to work under pressure
- Good command of English, both written and spoken
- (Good to have) Experience in API Management
- (Good to have) Experience writing deployment pipelines to deploy Java microservices in Kubernetes
- (Good to have) Strong in creating/defining Swagger specs for REST APIs, understand REST principles