Someswar's Tech blog

I plan to use this platform to share my knowledge, experiences, and technical expertise with the aim of motivating other software engineers. Whether you’re new to coding or an experienced developer looking for new ideas, I welcome you to join me in this journey of discovery and creativity.

Stop Building Uncontrolled AI Agents: Apply Distributed Systems Principles to Agentic AI

Introduction: The Agent That Worked Perfectly in the Demo Imagine building an AI agent that helps customer support teams resolve ride-hailing issues. A user asks: My driver never arrived, but I was charged a cancellation fee. Can you investigate and refund the amount if I’m eligible? The agent needs to perform several steps: A capable … Read more

RAG Is Not a Vector Database Problem: Engineering Retrieval Systems That Actually Work

Introduction: The RAG Demo That Works Until It Meets Reality Retrieval-Augmented Generation (RAG) has become one of the most practical approaches to building applications powered by Large Language Models (LLMs). The idea is straightforward: retrieve relevant information from your own data, provide it to an LLM as context, and generate an answer grounded in that … Read more

Scaling AWS SQS Event Processing with Java Virtual Threads

Scaling AWS SQS Event Processing with Java Virtual Threads

Introduction In today’s event-driven architectures, processing millions of events efficiently while maintaining high throughput and low latency is a challenging task. The traditional threading model struggles to scale when dealing with thousands of AWS SQS queues, each requiring continuous polling and message processing. In this blog, I’ll walk you through how I designed a high-performance, … Read more

Interview Insights: Cracking the LeetCode Problem

During a technical interviewin the past, I was presented with a challenging leetcode problem: the “Product of Array Except Self.” As I analyzed and solved it under time constraints, I not only completed the task but also deepened my understanding of algorithm design and optimization. The problem, though seemingly straightforward, tested my ability to think … Read more

Cloud-Native Challenges: Startups vs. Big Enterprises

The technology landscape is evolving rapidly, with cloud-native computing emerging as a game-changer for businesses of all sizes. This paradigm promises scalability, agility, and speed—critical attributes for thriving in today’s digital world. However, the journey to adopt cloud-native approaches varies significantly for startups and big enterprises. While the benefits are undeniable, the challenges differ depending … Read more

Async or Sync? Choosing the Right DynamoDB Client for High-Concurrency Applications​

Java Async dynamodb

Introduction: A High-Concurrency Problem Picture this: You’re asked to build a high-concurrency application with dynamodb and Java. What dynamodb client will you choose? Async or Sync? No worries, we will analyze here: Let’s think the high concurrency application is webhook-driven system with three core services—Config, Event Processor, and Webhook Dispatcher—all talking to a single, centralized … Read more

Optimize Your Development: Essential Insights into the Top 3 Serverless Patterns

Image courtesy: https://aws.amazon.com/solutions/implementations/serverless-image-handler/

In today’s fast-moving tech world, making development easier is super important. One big thing folks are talking about is serverless computing. It’s like having super flexible and scalable tools for building stuff. This article dives into the top three serverless patterns to help make your development work smoother. Understanding Serverless:  Before we get into the … Read more

Optimize, Retry, Succeed: Enhancing AWS SQS Message Processing with Java

In this blog, I’ll delve into asynchronous retry mechanisms and illustrate the process of implementing retries through the inherent functions of a broker, leveraging AWS SQS. This method will optimize the message processing in success and failure cases. While crafting our integration points with remote APIs, it’s crucial to account for potential error scenarios, categorized … Read more

Legacy Systems 2.0: Mastering Software Rewrites

Let’s take a task of upgrading a legacy software system. So, in today’s blog, I won’t bore you with the nitty-gritty of the old tech stack and how it stacks up against my shiny new system. Instead, let’s chat about the other stuff you gotta think about when you land a gig steering the ship in a … Read more