The document outlines the qualifications and skills required for an excellent developer, emphasizing expertise in Java, cloud technologies, and distributed systems design. It highlights the importance of REST frameworks, load balancing, data storage choices, and implementing resilient architectures. Additionally, it mentions the need for knowledge in data streaming, messaging frameworks, and testing methodologies.
Download as TXT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
5 views
New Text Document
The document outlines the qualifications and skills required for an excellent developer, emphasizing expertise in Java, cloud technologies, and distributed systems design. It highlights the importance of REST frameworks, load balancing, data storage choices, and implementing resilient architectures. Additionally, it mentions the need for knowledge in data streaming, messaging frameworks, and testing methodologies.
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1
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 an 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, sharding 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 Java developers with Kafka expertise
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 How to stop cascading failures by implementing fallbacks, graceful degradation, back pressure, circuit breaker, request collapsing/caching, adaptive concurrency limits – Hystrix, Resilience4J 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