Mandatory Requirements
Experience & Education
- 6+ years of professional software development experience building backend systems in Java.
- Bachelor's degree in Computer Science or a closely related field.
Core Backend Development (Java Ecosystem)
- Strong proficiency in Java SE/EE with hands-on experience in:
- Spring Boot (service development, configuration, dependency injection, actuator).
- Spring MVC (controllers, interceptors, validation, exception handling).
- Hibernate (ORM mappings, JPQL/HQL, transactions, performance tuning).
- Struts (legacy maintenance and migration awareness).
- Proven ability to design and implement RESTful microservices, including:
- API design, versioning, error handling, and request/response validation.
- Inter-service communication patterns and resilience (timeouts, retries).
- Secure service endpoints and token-based authentication/authorization.
Architecture & Design
- Practical application of Domain-Driven Design (DDD) for complex domains:
- Entity/value-object modeling, aggregates, repositories, services.
- Bounded contexts and anti-corruption layers.
- Ability to conduct and contribute to low-level and high-level design artefacts.
- Experience with hardware sizing/performance considerations to meet concurrency and throughput requirements (e.g., supporting 100k concurrent requests without server-side throttling).
Data & Storage
- Production experience with MS SQL and Oracle SQL:
- Schema design, indexing, stored procedures/functions, query optimization.
- Transaction management and data integrity in high-throughput systems.
- Hands-on implementation with ElasticSearch:
- Index design, mappings, analyzers, search queries/aggregations.
- Performance considerations and scaling.
- Operational experience with Logstash pipelines for ingest/transform and reliable logging/observability.
Security & Identity
- Implementation experience with OpenID authentication flows:
- Integrating third-party OpenID providers for user authentication.
- Token validation and secure session management.
- Strict adherence to secure coding practices:
- Input validation, output encoding, secrets management, least privilege.
Build & Runtime Tooling
- Proficiency with Maven (multi-module builds, dependency management, packaging).
- Proficiency with Git and SVN for version control:
- Branching strategies, code reviews, and release management.
- Experience deploying and operating Java services on Apache Tomcat:
- JVM tuning, thread pool configuration, connection pools, and diagnostics.
Observability, Reliability & Performance
- Ability to implement effective logging, monitoring, and tracing:
- Structured logs via Logstash, correlation IDs, and actionable dashboards.
- Demonstrated performance tuning:
- Profiling, memory/CPU benchmarking, connection pool tuning, caching strategies.
- Incident handling and root-cause analysis within production environments:
- Creating runbooks, participating in on-call, and delivering corrective actions.
Web Fundamentals (Integration Support)
- Working knowledge of HTML, CSS, Bootstrap, jQuery, and JavaScript sufficient to:
- Collaborate with frontend teams and validate backendUI integration.
- Support and troubleshoot UI-driven backend services.
Product Development & Collaboration
- End-to-end feature ownership from requirements to deployment.
- Experience performing code reviews, maintaining code quality, and mentoring peers.
- Cross-functional collaboration with Product and Support teams to align deliverables, triage issues, and ship on schedule.
Quality & Delivery
- Commitment to writing maintainable, testable code:
- Unit/integration tests, mocking/stubbing, test data management.
- Ability to define and meet SLAs/SLOs for backend services and APIs.
- Strong documentation habits for designs, APIs, and operational procedures.