Job Description:
- Drive high performance in the Engineering team, with a relentless focus on agile methodologies and continuous innovation in processes, work practices and tooling.
- Apply best-practices and coding patterns that ensure solutions are maintainable, modular, and of high code-quality.
- Manage the program releases and collaborate with Architects for bringing new practices and making right technical choices for the system.
- Build a strong, progressive engineering culture that values diversity, trust, efficiency, technical ownership, and accountability.
- Able to lead the development cycle and ensure delivery of highly secure solutions that are optimised for performance and built to scale.
Required Skills:
- Solid foundation in design, data structures and algorithms, and strong analytical and debugging skills with customer-facing product experience.
- Deep understanding and prior hands-on experience of back-end technologies like Java based microservices & system design architecture with Spring / Spring boot frameworks, hibernate & SQL OR NoSQL databases. (e.g. MySql, MongoDB, Cassandra).
- Good understanding of Java Memory Management, Garbage Collection, Multithreading, Immutability & concurrency programming.
- Expertise in effective planning and prioritization of projects to create an environment where randomization is either absent or extremely minimized.
- Able to break complex projects into modules and propose effective solutions in view of capabilities of existing platforms and infrastructure.
Desired Skills:
- Ability to think and analyze both breadth-wise (client, server, DB, control flow) and depth-wise (threads, sessions, space-time complexity) while designing and implementing services.
- Experience with high performance & high scale applications.
- Good knowledge of multiple data storage systems