I am a Lead / Senior Software Engineer with nearly 15 years of experience designing and building scalable backend, cloud-native, event-driven, and full-stack enterprise applications.
My core expertise includes Java, Spring Boot, Microservices, REST APIs, Kafka, AWS, Docker, Kubernetes, PostgreSQL, Cassandra, Redis, React, React Native, TypeScript, and Distributed Systems.
Currently, I work as a Senior Software Engineer at Airties, focusing on AI-driven platforms for device intelligence, behavioral analytics, telemetry processing, and real-time risk assessment.
I actively contribute to open-source projects across the Java ecosystem, Spring ecosystem, backend engineering, developer tooling, cloud-native systems, test reliability, diagnostics, and code maintainability.
25+ merged PRs across Java/Spring ecosystem projects including Spring Boot, Spring Framework, Mockito, Jenkins, Byte Buddy, Apache Dubbo, Apache Seata, Micrometer, JUnit, Caffeine, Floci, and Testcontainers-related tooling.
Focus areas:
- Java modernization
- Test reliability
- Documentation clarity
- Type-safety improvements
- Framework-level code cleanup
- Diagnostics and developer experience
| Project | Contribution | PR |
|---|---|---|
| testcontainers-floci | Fixed container readiness to wait for Floci startup scripts to complete before container.start() returns. |
PR #156 |
| Spring Cloud Open Service Broker | Simplified service binding last operation response mapping, improving code clarity while preserving behavior. | PR #985 |
| Spring Cloud Task | Fixed JdbcBatchItemWriter datasource documentation to clarify the correct configuration property. |
PR #994 |
| Micrometer | Clarified MultiGauge row registration documentation with improved explanation and examples. |
PR #7548 |
| Spring Cloud OpenFeign | Fixed a self-comparison in SpringMvcContractTests, improving test correctness and readability. |
PR #1380 |
| Spring Boot Admin | Fixed a typo in the RemindingNotifier interval setter and updated related test coverage. |
PR #5397 |
| Mockito | Improved Gradle Java-agent documentation for configuration-cache compatibility using CommandLineArgumentProvider. |
PR #3823 |
| Apache Dubbo | Improved generic type safety in CollectionUtils.sort by removing raw casts and enforcing comparable element types. |
PR #16236 |
| Spring AI Alibaba | Handled a missing authenticated extended card support flag in A2A Nacos agent card conversion. | PR #4632 |
| testcontainers-floci | Added behavior-level Spring Boot @ServiceConnection test coverage for AWS connection details propagation. |
PR #128 |
| JUnit Framework | Replaced ListWriter usage in temporary directory documentation examples with clearer alternatives. |
PR #5677 |
| Spring AI | Fixed latest-version banner wording in the reference documentation. | PR #6063 |
| Spring PetClinic Microservices | Fixed README typos and broken links, improving documentation quality. | PR #520 |
| Uber NullAway | Added a Contract annotation to nullaway-annotations. |
PR #1569 |
| Jenkins | Replaced sleep-based waits in QueueTest with Awaitility-based condition polling, improving test readability and reducing timing assumptions. |
PR #26786 |
| Apache Seata | Removed an external network dependency from HttpClientUtilTest, making tests more reliable and deterministic. |
PR #8099 |
| Spring Boot | Used Java instanceof pattern matching in condition handling, improving readability and removing redundant casts. |
PR #50419 |
| Floci | Refactored digest encoding to use JDK HexFormat, replacing manual byte-to-hex conversion. |
PR #772 |
| Byte Buddy | Improved diagnostics for external agent attachment by enhancing generated debugging output. | PR #1901 |
| Spring Framework | Improved collection usage in HttpHeadersTests, modernizing test readability. |
PR #36760 |
| Apache Empire-db | Fixed an off-by-one issue in StringUtils.lastIndexOfAny and added test coverage. |
PR #20 |
| Caffeine | Simplified cache name snapshot creation while preserving behavior and improving clarity. | PR #1955 |
| Kong/unirest-java | Added support for chained MockClient expectations for ordered repeated responses. |
PR #566 |
| Apache CloudStack | Improved test robustness by skipping QemuImgTest when the native libvirt library cannot be loaded. |
PR #13086 |
| Kong/unirest-java | Fixed GitHub Actions JDK setup label to match the configured Java version. | PR #565 |
- Java ecosystem libraries and frameworks
- Backend and developer tooling
- Test reliability and flaky-test reduction
- Code readability and modernization
- Diagnostics and troubleshooting improvements
- Bug fixes with targeted unit test coverage
- CI/build clarity and contributor experience
- Java 8 / 11 / 17 / 21
- Spring Boot, Spring MVC, Spring WebFlux, Spring Security, Spring Data
- Microservices, REST APIs, API Design, Distributed Systems
- Kafka, RabbitMQ, Redis
- PostgreSQL, Cassandra, MySQL, TimescaleDB
- AWS, Docker, Kubernetes, OpenShift
- GitHub Actions, CI/CD, Docker Compose
- OpenTelemetry, Micrometer, Prometheus, Grafana
- Logging, Metrics, Tracing, Production Debugging
- React, React Native, Angular
- TypeScript, JavaScript, HTML, CSS
- ML pipelines, anomaly detection, feature engineering
- RAG-based operational tooling
- Embeddings, retrieval workflows, intelligent platform tools
- Building scalable Java/Spring Boot microservices and backend platforms
- Designing event-driven systems using Kafka and RabbitMQ
- Developing secure REST APIs and enterprise integrations
- Improving system reliability, observability, and production performance
- Exploring AI/ML-enabled backend platforms and intelligent operational tooling
- Practicing system design, DSA, and real-world engineering problem solving
I have worked across multiple domains, including:
- Financial Services & Open Banking
- Travel Technology & Duty of Care Platforms
- Video Streaming Platforms
- Supply Chain & Warehouse Management
- Mobility / Ride-Hailing Platforms
- Cybersecurity & Trust Attestation
- IoT, Device Intelligence & Network Intelligence
- LeetCode: codingkiddo
- Solved 700+ problems, primarily in Java
- Earned 500 Days Badge and 365 Days Badge
- Strong areas: Dynamic Programming, Arrays, Hash Tables, Strings, Greedy, Math
Java | Spring Boot | Microservices | Kafka | AWS | Docker | Kubernetes
React | TypeScript | PostgreSQL | Cassandra | Redis | Distributed Systems
System Design | Open Source | AI/ML Platform Engineering

