Javed Shaikh · Java backend engineer
Reliable payment and cloud systems.
Java and Spring Boot services for payments, integrations, and the cloud.
About me
I build Java and Spring Boot services for distributed fintech workflows, with hands-on experience across enterprise integration, Kubernetes, observability, and practical RAG applications.
At Oracle Financial Services Software, I work on backend services for payment and card workflows, core-banking integrations, and enterprise middleware.
The labs below make my engineering decisions inspectable, with public code, architecture flows, tests, and documented trade-offs.
Selected projects
Portfolio lab
FinBank Microservices Lab
A three-service Java and Spring Boot lab for accounts, payment creation, Kafka events, and transaction history.
I implemented and documented validated payment input and the payment-service boundary.
- Validated request — The controller validates client input and delegates the payment workflow to the service boundary.
- Payment store — The payment service saves a server-owned payment in CREATED state before asking Kafka to publish.
- Kafka send request — KafkaTemplate receives an asynchronous send request; broker acknowledgement is outside the current guarantee.
- Transaction ledger — The transaction service consumes the payment event and records a ledger entry in its own store.
Decisions and evidence
Persist the payment in CREATED state before requesting asynchronous Kafka publication, with HTTP handling kept outside the orchestration boundary.
Persistence and publication are not atomic. Broker acknowledgement, idempotency, duplicate detection, recovery, and an outbox remain open work.
This is a portfolio lab. The repository does not prove production deployment, current CI status, delivery guarantees, scale, uptime, or business impact.
The public repository contains a three-service scaffold, a tested payment-service boundary, API and architecture documentation, CI definitions, and starter container and Kubernetes assets.
View repository · Documentation
Portfolio lab
UPI Payments Simulator Lab
A Java 17 multi-module lab modelling UPI-style payment commands, rule-based fraud decisions, publisher profiles, and ledger entries.
I built and documented the Java 17 multi-module simulator, including the pure Java fraud engine, profile-selected event publishers, opt-in JWT protection, and ledger flow.
- Payment command — The payment API validates a UPI-style command and creates a server-owned payment identifier.
- Fraud rules — A pure Java engine returns APPROVED, REVIEW, or BLOCKED from deterministic rules.
- Publisher profile — The default profile publishes in memory, while the kafka profile sends the same event contract through Kafka.
- Ledger entry — The transaction-ledger service records the payment event and exposes lookup endpoints.
Decisions and evidence
Keep fraud rules in a pure Java module, publish through profile-selected adapters, and make JWT protection opt-in for payment writes.
The default in-memory publisher keeps demos fast but is non-durable. Kafka is required for the automated service-to-ledger path, while persistence and Kafka integration tests remain roadmap work.
No bank, NPCI, or real-money connection is present. This is a simulator, not a production payment system, and the repository does not prove current CI or deployment status.
The public repository contains four modules, configured unit and security tests, OpenAPI and architecture documentation, CI workflows, and starter Docker and Kubernetes assets.
View repository · Documentation
Portfolio lab
PayloadProbe Lab
A Spring Boot lab that modernizes an XML response simulator while preserving legacy endpoint aliases.
Implemented an end-to-end service modernization spanning REST APIs, legacy compatibility, JSON-backed persistence, integration tests, API documentation, CI, and starter container and Kubernetes assets.
- Client or test harness — A consumer requests or manages a named XML response through an HTTP endpoint.
- Modern or legacy API — Canonical CRUD endpoints and compatibility aliases preserve distinct HTTP contracts.
- Shared response store — Both controller surfaces delegate to the same process-local, lock-protected catalog.
- JSON file — The catalog is seeded on first startup and rewritten to a configurable local JSON file.
Decisions and evidence
Route modern CRUD endpoints and legacy aliases through one shared JSON-backed response store.
Process-local locking and whole-file writes keep the lab small and inspectable, but suit a single instance. The starter Kubernetes deployment uses one replica and ephemeral storage unless a volume is mounted.
A missing legacy fetch intentionally returns HTTP 200 with failure XML, so transport success is not business success. Authentication, durable multi-replica storage, and production deployment are not claimed.
The public repository contains modern and legacy API implementations, JSON-backed storage, integration and MVC contract tests, versioned OpenAPI documentation, CI definitions, and starter container and Kubernetes assets.
View repository · Documentation
Engineering focus
Backend and integration
Building service APIs and enterprise integration points.
Java · Spring Boot · Java EE · REST · GraphQL · Oracle/FlexCube integration · SQL
Distributed systems
Working with asynchronous, event-driven service communication.
Kafka · WebLogic JMS · Event-driven systems · Asynchronous processing · Multithreading
Cloud and reliability
Operating and observing services in cloud-native environments.
Docker · Kubernetes · OCI · Jenkins · Maven · Linux · Prometheus · OpenTelemetry · Jaeger
Applied AI
Exploring practical retrieval-assisted developer and operations workflows.
LangChain4j · RAG · Embeddings · Vector search · LLM API integration
Experience
Oracle Financial Services Software
Software Engineer / Backend Engineer (Associate Consultant) · July 2023 - Present
Contributing to Java backend work for payment and card workflows, core-banking integrations, and enterprise middleware.
- Performance and payload optimisation for backend API workflows.
- Cryptographic request verification and payload validation work.
- Apache Velocity API code-generation improvements and monitoring and tracing support.
- A Java-based RAG operations assistant.
How I work
Reliability under real constraints
Design for the practical failure modes of distributed services, integrations, and operational environments.
Evidence before assumptions
Use observable behavior, contracts, and reproducible checks to guide debugging decisions.
Documentation that survives handoff
Record decisions and system context so the next engineer can operate and improve the work with confidence.