- The rise of the AI SDLC Most teams are using AI to type faster. A few are using it to think better. The difference isn't the tool — it's the context architecture underneath it.
- Challenges in Building PaaS on AWS A deep dive into the non-technical and technical challenges encountered when building a Platform-as-a-Service on AWS — from hiring and team structure to distributed systems problems.
- Modeling Shared Entities Across Bounded Contexts in Domain-Driven Design How to handle shared concepts like Customer across multiple bounded contexts in DDD — with separate models, domain events, and integration patterns.
- A Socio-Technical Maturity Model for Large-Scale Event-Driven Architectural Systems A comprehensive EDA maturity model for enterprise-scale systems covering engineering roles, DDD alignment, team evolution, and hiring strategies — structured as the 4A Model: Awaken, Align, Amplify, Automate.
- Guidance Framework for Internal Developer Portal Work Prioritization and Measuring Success How do technical professionals determine the capabilities of an internal developer portal, prioritize the work and measure success?
- Setup Business Metrics with Amazon CloudWatch and AWS Lambda at Lower Cost A practical guide to creating custom business metrics in Amazon CloudWatch using the Embedded Metric Format (EMF) with AWS Lambda — up to 65% cheaper than the PutMetricData API.
- AWS Architecture Diagrams Guidelines Practical guidelines for drawing meaningful AWS architectural diagrams — covering logical views, physical/deployment views, and common pitfalls to avoid.
- Time Dimension in Distributed Systems Why time is the trickiest problem in distributed systems — from wall clocks and NTP drift to Lamport timestamps and vector clocks.
- Why We Need Distributed Systems This post explains why we need distributed systems and their commonplace
- SonarQube: A Code Quality Platform for Teams A practical guide to installing and configuring SonarQube 5.0.1 for C# projects, including FxCop, StyleCop, and OpenCover integration.
- Tapari Meetings An argument for informal, tea-stall meetings as a more effective alternative to the endless formal meetings that plague modern workplaces.
- Log Shipping vs. Database Mirroring in SQL Server A clear comparison of SQL Server log shipping and database mirroring — their architectures, failover behavior, limitations, and when to use each.
- Book Notes: The Phoenix Project Key takeaways and notes from The Phoenix Project — a novel about IT, DevOps, and helping your business win, by Gene Kim, Kevin Behr, and George Spafford.
- Super Easy SPA with Durandal A step-by-step tutorial on building a Single Page Application (SPA) with Durandal, the JavaScript framework built on jQuery, Knockout, and RequireJS, hosted inside an ASP.NET MVC project.
- Considerations for PCI-DSS Compliant Solution Development — Part 2 Considerations 10 through 17 for PCI-DSS compliant development, covering secure coding, encryption, audit trails, wireless security, and remote access controls.
- Considerations for PCI-DSS Compliant Solution Development — Part 1 The first nine considerations for building software in a PCI-DSS compliant environment, covering patching, access control, cardholder data scope, environment separation, and test data hygiene.
- PCI Compliance Overview An overview of the 12 PCI-DSS requirements organized into six control objectives, plus the 13 scenarios that disqualify an application from PA-DSS validation.
- PCI Compliance Introduction An introduction to PCI-DSS and PA-DSS — what they are, who they apply to, and the key distinction between vendor certification and merchant compliance.
- Introduction to specification pattern The Specification Pattern lets you encode complex business rules as composable, readable objects—eliminating tangled conditionals and making future changes safe.
- Combination therapy for requirements using BDD and UML Combining Behaviour-Driven Development narratives with UML artefacts creates requirements that clients can validate and developers can implement without ambiguity.
- Programmer's bad habits II Six more habits that quietly degrade software quality—from dead code hoarding to conflating compilation with a real build process.
- Programmer's bad habits Four common habits that quietly undermine software quality—from ignoring compiler warnings to believing new features always require new code.
- Hiring developers What to actually look for when hiring software developers—beyond resume keywords and technology checklists.
- Reuse should be a side effect, not the goal Designing software explicitly for reusability often produces the opposite of what you want—rigid systems optimised for assumptions that won't hold.
- Why your agile project cannot be a success A practitioner's catalogue of the organisational and technical dysfunctions that ensure agile transformations fail—and what they reveal about the teams inside them.
- Quality quote Quality is a perception of the receiver—a deceptively simple idea that reshapes how we think about building software.
- Balsamiq Mockups review A hands-on review of Balsamiq Mockups as a wireframing tool for requirements gathering, compared to Visio and Serena Prototype Composer.
- Types of software companies Software companies split along a fundamental axis: those that treat engineers as their most valuable asset and those that treat them as commodities. Which one you're in shapes everything.
- Cost of not upgrading developer's computer Managers see the invoice for new hardware. They don't see the compounding productivity cost of making developers wait. Here's how to make the invisible visible.
- Becoming a star engineer—Part II The nine work strategies that Kelley's research identified as separating star engineers from solid ones. None require exceptional talent. All require consistent practice.
- Becoming a star engineer—Part III A seven-year study across a thousand engineers tested whether the star performance strategies could actually be taught. The results surprised even the researchers.
- Becoming a star engineer—Part I Research from Bell Labs overturned a comfortable myth: star engineers aren't born with exceptional talent. They're made through specific, learnable behaviors.
- Best of A Techie Thought 2008 A look back at the best posts from A Techie Thought in 2008, and what's ahead in 2009.
- Web development series—HTTP basics HTTP is the protocol every web developer uses and most only partially understand. Here's a clear-eyed look at how it actually works.
- Celebration: 50th post Marking 50 posts on A Techie Thought—a moment to reflect on where the blog started and where it's heading.
- Code comments quote A reflection on what code comments reveal about the code—and the coder—behind them.
- Quality is journey Quality is not a state you arrive at—it's the continuous exercise of intention, effort, direction, and execution.
- Good designer Antoine de Saint-Exupéry's principle of perfection through subtraction—and what it means for software design.
- Process commitment and communication Why process adoption fails in most organizations—and why compulsion is never the answer.
- Google SMS channels Google enters India's SMS subscription market—and what it signals for mobile VAS providers when a platform giant steps in.
- Architectural views What separates software architects from skilled coders is not technical mastery—it's the ability to hold multiple perspectives simultaneously.
- Google Chrome download page rendering issue The irony of Google's Chrome download page breaking in Firefox—and what it reveals about QA blind spots even in the best engineering teams.
- Indian IT in different perspective India's IT expertise has transformed global businesses. The harder question is why so little of it flows back into India's own domestic industries.
- Joel on office space Reflections on Joel Spolsky's philosophy that great offices, great programmers, and great products form a virtuous cycle—and why so few companies in India's SMB sector take it seriously.
- Customer comes first, but the customer is not a king Why treating clients as royalty with unlimited demands undermines the quality of the relationship and the work—and what a healthier model of mutual respect looks like.
- Programming is an art On Donald Knuth's insight that programming is a craft demanding the same passion and precision as any fine art—and why treating programmers as commodities misses this entirely.
- My process vision A vision for what good organizational processes look like—drawing on the Mumbai Dabbawalas as a model of elegant simplicity, and arguing that process should enable creativity, not replace it.
- User-driven product development and innovation On why the most durable innovations come from deep user observation rather than feature requests—and what that means for how we build software.
- The architect's standpoint On Charlie Alfred's insight that architects must be systems thinkers, bridge builders, and change agents—and why organizational positioning determines whether that potential is ever realized.
- A short story about expertise The parable of the ship's engineer who fixed a broken engine with a single hammer tap—and what it reveals about the true value of expert knowledge.
- The difference between abstraction and encapsulation Two OOP concepts that consistently trip up developers in interviews and in practice—clearly distinguished, with an explanation of why confusing them causes real design problems.
- Your brand should be bigger than your billboard On what it really means to build a brand—why the most lasting brands live in behavior and reputation, not in advertising, and what that means for how we build products and companies.
- Design distinction creates desire On why design is not decoration—it is the mechanism through which brands form emotional connections with people, and the differentiator that no feature list can replicate.
- New rules to be kept by ICC A satirical proposal for the eight rules the ICC should immediately implement, in the interest of making Australian cricket truly indestructible.
- Moved my blog A brief note on moving from Blogger to WordPress—and what the friction of the old platform was actually costing.
- Code monkey, that's what we are Jonathan Coulton's 'Code Monkey' captures something true about the programmer's lot—the gap between what we build and what we feel while building it.
- Object Test Bench (OTB) Visual Studio's Object Test Bench lets you instantiate classes and invoke methods interactively—without writing a test harness or running the full application.
- Use of GhostDoc—auto commenting tool for C# GhostDoc generates XML documentation comments from method signatures in Visual Studio, making consistent code documentation less of a chore and more of a habit.
- FxCop integration in Visual Studio 2005 Three ways to bring FxCop static analysis into Visual Studio 2005 Professional, including a registry-based approach that unlocks Team Edition-level code analysis.
- Agile life Agile is more than a methodology—it's a stance toward learning and change that sits in uncomfortable tension with organisations that prefer stability over growth.
- Beautiful code Code aesthetics aren't superficial. The qualities that make code readable, maintainable, and elegant are the same qualities that make it correct.
- Motivational poem A poem about endurance—shared by a friend, kept for the image of light returning after darkness.
- Pages to watch/research A 2007 reading list spanning testing tools, enterprise architecture frameworks, and software factory patterns—a snapshot of what felt worth tracking in a particular moment.
- Leverage the C# preprocessor C# preprocessor directives are resolved at the lexical analysis phase, not by a separate preprocessor. Here's how to use them effectively for conditional compilation.
- Difference between layer and tier Layer and tier are not synonyms. One is a logical boundary, the other is a physical deployment boundary. Conflating them produces architecture diagrams that mislead.
- Beautiful quote Marie Curie on the scientist as a child in the laboratory—a framing that changes how you think about what expertise is actually for.
- Completing 1 yr of 7/11 A year after the Mumbai train bombings, the city had already returned to normal—which is either its greatest strength or the most troubling thing about it.
- Special date 07/07/07—a date that numerologists, gamblers, and casual superstitionists all agreed was significant. The rest of us posted about it anyway.
- Quote the quote "If you are not with 0 and 1 then you are in trouble"—a small observation about digital thinking that holds up surprisingly well.
- TellMe acquisition by Microsoft Microsoft's $800M acquisition of Tellme in 2007 signaled that voice interfaces were moving from niche infrastructure to strategic territory—and raised honest questions about what going public actually costs.
- Software factory evangelism Software factories promised to industrialise software development through reusable, configurable toolchains. Getting an organisation to listen is a different challenge entirely.
- Tools for MicroISV organizations Running a small software company doesn't require expensive tooling. A focused set of free tools can cover project management, knowledge sharing, and e-learning without budget pressure.
- BlogCampPune A first BlogCamp in Pune—where the tech community was finding its footing and every new connection felt like the beginning of something.
- Watch out for these projects In mid-2007, Microsoft released a cluster of experimental CTPs covering deployment, application frameworks, infrastructure management, and navigation. They were worth tracking.
- Interesting find on Google PageRank PageRank's elegance lies not in secrecy but in the insight it encodes: a link is a vote, and votes from authoritative sources count more.
- Man against machine Mahalo's human-curated search was a 2007 bet on human judgment over algorithmic ranking—a question that Web 2.0 posed and that we are still arguing about today.
- Ideas for betterment of organization Three structural ideas for software organizations that want to scale knowledge alongside headcount: domain factories, idea management, and centers of excellence.
- It's hard to keep the internet promise Maintaining a consistent online presence is harder than it looks—and the gap between ambition and follow-through reveals something honest about how we prioritize learning.
- Thoughts on process improvements and process defining mechanism Good processes feel invisible. They emerge from the work, adapt as understanding grows, and strengthen the team without imposing friction.
- While documenting, remember Two principles that separate documentation worth reading from documentation that merely exists: clarity serves communication, completeness and precision serve analysis.
- Old bug in Microsoft Word The =rand() Easter egg in Microsoft Word—discovered via a Chetan Bhagat novel—and what it says about the difference between a bug and an undocumented feature.