Responsibilities : -
- Independently own, drive & evolve product systems/sub-systems.
- Architect highly scalable, highly available, reliable, secure and fault tolerant systems with minimal guidance.
- Suggest new architectural elements to improve the existing architecture.
- Design and implement low latency RESTful services; Define API contracts between services; Version APIs and make them backward compatible.
- Translate business requirements into scalable and extensible design.
- Create platforms, reusable libraries and utilities wherever applicable.
- Continuously refactor applications to ensure high quality design.
- Choose the right technology stack for the product systems/sub-systems. Write high quality code that are modular, maintainable, functional and testable; Establish the best coding practices.
- Strong object oriented design skills, strong understanding of data structures, algorithms and design patterns.
- Create/Improve the architecture based on product/platform needs. Experience with full life cycle development in any programming language on a Unix/Linux platform.
- Operationalize releases by partnering with Tech operations on capacity planning and operability of the product
Candidate Requirements : -
- Experience in Java fundamentals, Multithreading, APIs. - Good to have Java 8.
- Candidate should be logically strong, able make an impact on the product, able to deliver the task in the estimated turn around time. - Technology : Java - JEE7, JAX-RS, Jackson, JPA, PostGres/MySQL.
- Experience working in a high volume transaction processing environment.
- Experience in a high risk/fraud sector such as payments, telecom.