Jio is inviting applications from interested and eligible candidates for the position of Java Software Engineer at their Mumbai, Bangalore and Gurgaon locations.
About Jio
Reliance Jio Infocomm Limited, doing business as Jio, is an Indian telecommunications company and a subsidiary of Jio Platforms, headquartered in Navi Mumbai, Maharashtra, India. It operates a national LTE network with coverage across all 22 telecom circles.
Educational Requirements
BE/BTech/ MTech in Computer Science or relevant experience
Key Skills
- Excellent developer, well versed in Java, J2EE, Spring ecosystem
- Hands on experience on any of the cloud technologies (Azure, AWS, GCP)
- Experience in Kubernetes will be advantage.
- Good knowledge of data structures and algorithms
- Thorough knowledge of REST Framework like Spring Boot (or equivalent), REST Maturity Levels, good and bad practices of REST
- Where to use non-REST frameworks like gRPC over Thrift or Protobuf
- Thorough understanding of designing distributed systems without single point of failures that self-heal and stay responsive during failures
- How to stop cascading failures by implementing fallbacks, graceful degradation, back pressure, circuit breaker, request collapsing/caching, adaptive concurrency limits – Hystrix, Resilience4J
- Choosing the right data store for the given requirements – Relational, Graph, Object, Document, Columnar, Key-Value. Oracle, MySQL, Mongo, Cassandra
- Usage of mid-tier caches – define the right keys, how to partition them, setting TTLs.
- Load Balancing and Adaptive Routing across nodes
- Implementing distributed paradigms like eventual consistency, CQRS, Event sourcing
- Understanding the implications of asynchronous communication and non-blocking IO
- Nuances of using servers – embedded vs standalone, Tomcat, Undertow, Netty, Jetty
- Designing systems for achieving low latency, low error rate and high throughput
- X, Y, Z cubes of scaling – by cloning, sharing and breaking into microservices. Applying the right trade-offs using CAP (Consistency, Availability and tolerance to network Partition)
- Compliance to 12-factor app and solid understanding of different layers in the services stack, Load Balancer, API Gateway, Service Discovery, Central Config Management, Feature toggle.
- Understanding of Data Streaming and Messaging frameworks like Apache Spark, Storm, Flink, Kafka
- Participate in deep architectural discussions and design exercises to create world-class solutions while ensuring solutions are designed for successful deployment.
- Implement BDD, TDD, Unit/Mock/Integration tests during development cycle
Desired Skills
- Have experience building scalable and resilient web services, products or platforms.
- Strong design, architecture, and problem solving skills.
- Understanding of latest cloud native tech (Azure), SaaS or Development platform experience
How to Apply?
Interested applicants can apply for the post through this link.
Location
Mumbai OR Bangalore OR Gurgaon