Required Qualifications:
- Experience: 8+ years of professional experience in application development or systems analysis, with a heavy emphasis on Java-based backend architectures.
- Core Java Mastery: Deep, expert-level understanding of Core Java (Java 11/17/21), including advanced multithreading, concurrency models, Java memory model (JVM garbage collection, heap analysis), and Collections API.
- Data Processing & Streaming: Extensive hands-on experience building distributed data processing systems, ETL pipelines, and real-time streaming architectures using tools like Apache Kafka, Apache Spark, Flink, or Hadoop.
- Framework Expertise: Strong experience with the Spring Ecosystem (Spring Boot, Spring Cloud, Spring Data, Spring Security) and ORM frameworks (Hibernate/JPA).
- Database Management: Proficiency in designing schemas and writing optimized queries for both relational databases (e.g., PostgreSQL, MySQL, Oracle) and NoSQL stores (e.g., Cassandra, MongoDB, Redis).
- Distributed Systems: Comprehensive understanding of distributed system design patterns, consensus protocols, caching strategies, and API design (RESTful APIs, gRPC).
- CI/CD & DevOps: Practical experience with containerization (Docker, Kubernetes), continuous integration/continuous deployment tools (Jenkins, GitLab CI, or GitHub Actions), and infrastructure-as-code principles.
- Testing: Strong advocate for testing frameworks such as JUnit, Mockito, and integration testing tools.
Preferred Qualifications:
- Experience with cloud platforms (AWS, Azure, or GCP), specifically managed database and container services.
- Experience in financial services, banking technology, or large-scale enterprise transaction systems.
- Familiarity with Unix/Linux environments, shell scripting, and network configurations.