- Core Java & JVM: Expert-level proficiency in Java, including the Collections Framework, Lambdas, and the Java Concurrency API.
- Demonstrable experience tuning the JVM and troubleshooting memory/GC issues.
- Apache Spark: Proven, hands-on experience developing, deploying, and tuning complex Spark applications for large-scale data transformation and analysis.
- Spring Ecosystem: Extensive, practical experience with the Spring Framework, particularly Spring Boot, Spring Data, and Spring Batch in a production environment.
- Data Structures & Algorithms: Deep understanding of fundamental data structures and algorithms, with a focus on their application in distributed computing and performance critical systems.
- Containerization & Cloud-Native:
Hands-on experience with Docker for building images and Kubernetes/OpenShift for deploying and managing distributed applications.
- Database Engineering: Solid command of SQL and relational database design, including transaction management and indexing.
Experience with at least one production NoSQL database (MongoDB, Graph DB, etc.).
- Architectural Design: Practical application of OOP, SOLID, and DDD principles to build maintainable and scalable systems. You write tests first (TDD) and believe in robust, automated testing.