<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gaurav Singha Roy – Tech Blog</title><link>https://blog.gauravsingharoy.net/</link><description>Recent posts on Gaurav Singha Roy – Tech Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 23 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.gauravsingharoy.net/tags/code-review/index.xml" rel="self" type="application/rss+xml"/><item><title>Some musings on AI and what some people are talking about it</title><link>https://blog.gauravsingharoy.net/posts/musings-on-ai/</link><pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/musings-on-ai/</guid><description>Opinionated notes from an internal Zalando unconference on agentic engineering. Covers three themes: documentation and knowledge bases in an AI era, why ROI matters once tokens carry real cost, and agentic practices across the SDLC with code review at the centre. Closes on whether these are AI problems at all, or old software engineering problems resurfacing.</description></item><item><title>Etiquettes for AI Assisted Code Generation</title><link>https://blog.gauravsingharoy.net/posts/etiquetes-for-ai-assisted-software-development/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/etiquetes-for-ai-assisted-software-development/</guid><description>Some opinionated etiquettes for AI-assisted code generation, inspired by the Boy Scout Rule. Covers writing human-readable code in hybrid codebases, reviewing AI-generated code and PR descriptions, acknowledging AI in commit messages, maintaining project steering rules, avoiding test manipulation, structuring code review feedback across linters, AI agents, and humans, and evaluating AI-introduced dependencies. Based on hands-on experimentation with agentic engineering workflows, not research data.</description></item><item><title>Spec Driven Development with Kiro</title><link>https://blog.gauravsingharoy.net/posts/spec-driven-development-with-kiro/</link><pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/spec-driven-development-with-kiro/</guid><description>Covers the limitations of vibe coding with Claude Code for production-grade work — context window constraints, ad-hoc design, and prompt-as-context friction — and how spec driven development with Kiro addresses them. Walks through Kiro&amp;rsquo;s three-document workflow (requirements, design, tasks) using a real Cloudflare R2 migration as a worked example. Discusses repository structure, where Kiro excels, and common pitfalls to avoid.</description></item><item><title>Migrating my Tech Blog From Medium to Markdown with Claude Code</title><link>https://blog.gauravsingharoy.net/posts/migrating-blog-from-medium-to-markdown/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/migrating-blog-from-medium-to-markdown/</guid><description>A walkthrough of migrating a personal blog from Medium to a Hugo-based static site hosted on Cloudflare Pages. Covers the reasons for leaving Medium — ads, poor code highlighting, and Markdown friction — and how the full migration was completed in under 90 minutes.</description></item><item><title>The Non-Tech Tasks of a Principal/Staff Engineer</title><link>https://blog.gauravsingharoy.net/posts/non-tech-tasks-of-a-principal-staff-engineer/</link><pubDate>Tue, 05 Dec 2023 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/non-tech-tasks-of-a-principal-staff-engineer/</guid><description>Ten categories of non-technical work that Staff and Principal Engineers frequently take on, drawn from personal experience and peer observations. Covers interviewing and promotion panels, networking patterns, onboarding, budget involvement, knowledge sharing, community building, mental health advocacy, and establishing credibility — aimed at raising awareness rather than prescribing a complete framework.</description></item><item><title>Summer 2021: The Top 6 Work Related Books I Read This Year</title><link>https://blog.gauravsingharoy.net/posts/summer-2021-the-top-6-work-related-books-i-read-this-year/</link><pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/summer-2021-the-top-6-work-related-books-i-read-this-year/</guid><description>Six work-related book recommendations from the first half of 2021, chosen from a Senior Individual Contributor&amp;rsquo;s reading list. Covers product management strategy, Amazon&amp;rsquo;s internal operating principles, team topology frameworks, large-scale mobile engineering, the Staff Engineer archetypes from Will Larson&amp;rsquo;s book, and emotional intelligence as a foundation for career and leadership.</description></item><item><title>Approaching Your First Event-Driven Design Implementation: A Case Study</title><link>https://blog.gauravsingharoy.net/posts/approaching-your-first-event-driven-design-implementation/</link><pubDate>Sun, 18 Jul 2021 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/approaching-your-first-event-driven-design-implementation/</guid><description>A case study on tapping into an existing event-driven architecture using a publish-subscribe model over Kafka. Covers a three-component design — consumer, API, and database — modelled around typed information flow contracts. Includes practical traps to avoid, from parallelism pitfalls to coupling the API and consumer into the same application.</description></item><item><title>How to Prepare for a Developer Job Interview in Germany</title><link>https://blog.gauravsingharoy.net/posts/how-to-prepare-for-a-developer-job-interview-in-germany/</link><pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/how-to-prepare-for-a-developer-job-interview-in-germany/</guid><description>Practical tips on navigating the developer job interview process in Germany, based on nine years of industry observation. Covers where to find roles, how to stand out in the virtual selection round, strategies for both timed and take-home code challenges, and what to expect in onsite interviews.</description></item><item><title>How to Add Defaults for Missing Properties in Play Scala JSON Serialization</title><link>https://blog.gauravsingharoy.net/posts/add-defaults-for-missing-json-properties/</link><pubDate>Thu, 31 May 2018 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/add-defaults-for-missing-json-properties/</guid><description>Three approaches to handling missing JSON properties when unmarshalling into Scala case classes with the Play Framework. Covers Play 2.6&amp;rsquo;s built-in WithDefaultValues, the Reads.pure() fallback pattern, and a reusable JsonDefaultValueFormatter trait that deep-merges incoming JSON with a default object — useful for large, deeply nested case classes where backward compatibility matters.</description></item><item><title>Asynchronous Programming with Go</title><link>https://blog.gauravsingharoy.net/posts/asynchronous-programming-with-go/</link><pubDate>Sun, 22 Apr 2018 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/asynchronous-programming-with-go/</guid><description>Four progressively improved approaches to concurrent programming in Go, demonstrated through a URL health checker. Covers synchronous iteration, goroutines with a naive sleep workaround, WaitGroup-based synchronization from the sync package, and typed channels for structured goroutine communication — illustrating Go&amp;rsquo;s concurrency model from basic to idiomatic.</description></item><item><title>Build Your First API Server with httprouter in Golang</title><link>https://blog.gauravsingharoy.net/posts/build-your-first-api-server-with-httprouter-in-golang/</link><pubDate>Sat, 30 Sep 2017 00:00:00 +0000</pubDate><guid>https://blog.gauravsingharoy.net/posts/build-your-first-api-server-with-httprouter-in-golang/</guid><description>Step-by-step tutorial for building a REST API server in Go using the httprouter multiplexer. Covers creating endpoints, structuring the project across multiple files, writing tests with the httptest package, and adding middleware for logging — finishing with a recommended package layout for larger projects.</description></item></channel></rss>