Roles & Responsibilities
- You will be building distributed, fault-tolerant, highly scalable distributed systems.
- Rapidly prototype and incubate new features and solutions.
- Develop solutions to scale the real-time processing of massive amounts of data.
- Work closely with other development teams to build and prototype solutions cutting across multiple verticals.
- Maintain and improve code base on continuous basis
- 3+ years of experience creating highly scalable, high performance distributed applications
- Experience working in agile team/ processes.
- Apply best coding practices , code reviews, source control management, build processes and unit testing
- Experience building complex software systems that have been successfully delivered to customers.
- Experience with scalable, API based agent or service oriented software architecture
- Must be able to write high quality, fault-tolerant and optimized code in Java.
- Excellent understanding of Algorithms, wise usage of Data Structures, complexity analysis
- Ability to collaborate; be able to communicate clearly and concisely
- Desire for continuous improvement, always be learning and seeking improvement.
- In-depth understanding of collections, Multithreading, JVM Memory model, Optimizations and fine tuning of JVM
- Excellent problem solving and troubleshooting skills especially in a distributed and microservice based environment.
- Experience in distributed systems components - databases, caches, distributed, debugging and tracing, deployment.