Blog
Notes on engineering, AI agents and hiring.
Why Experienced Professionals Struggle in Interviews
Experienced professionals often get told their answers are 'too general' in interview loops, even when they're sharing a career of hard-won judgment. Here's why that disconnect happens, and how to translate your insight for every audience in the room.
- The Self-Learning Loop: Building a Self-Updating AI Pipeline for Expense Extraction LLM-based expense extraction is good, but not perfect. Here's how we built a feedback loop that captures corrections, distills them into rules, validates them with shadow runs, and promotes them to production - plus the pitfalls and costs we didn't expect.
- The Fine-Tuning Fallacy: When to Prompt, Retrieve, or Train Your Model Fine-tuning looks like the serious engineering choice, but most LLM problems are better solved with prompting or RAG. A decision framework - backed by an eval-first workflow - for knowing when fine-tuning actually earns its keep.
- Where a Cheap Decision Model Fits in an AI Agent Harness Most agent tutorials stop at model + loop + tools, where every step calls a big model, including the ones that don't need generation. Here's where a small, fast decision model slots into that loop and can cut cost without taking control away from your code.
- Can AI Settle the Cube Rule? Testing TypeSafe AI TypeSafe AI promises structured, confidence-scored answers instead of vague text. I tested it on the classic hotdog-is-a-sandwich debate, then pushed it against a much weirder classifier: the cube rule.
- What Does It Actually Mean to "Police" an Agent? Most conversations about AI agent safety jump straight to the model - jailbreaks, guardrails, red-teaming. The duller question that matters more day to day: once an agent is live, who's watching it, and what happens when they see something wrong?
- Measuring Our API Performance: A Journey from Guesswork to Reliable Insights Every engineering team eventually realizes they can't fix what they can't measure. Here's how we built reliable, ongoing observability into our API performance instead of relying on ballpark estimates.
- Meaningful One-on-Ones: A Framework Discover how to transform routine one-on-one meetings into powerful tools for team development, engagement, and retention with this comprehensive framework for managers.
- Naming Matters: Enhancing Code Readability and Maintainability Make your development process more efficient and collaborative through good naming conventions that improve code readability and maintainability.
- Crafting Healthy DTOs: Best Practices for Robust Data Transfer Objects Explore essential rules and strategies for crafting robust Data Transfer Objects (DTOs) in this developer-focused guide. Elevate your coding practices with insights tailored to promote code maintainability, scalability, and overall system health.
- Row Level Security: Strengthening Your App's Data Protection Learn how to implement row-level security to enhance your application's data protection. This guide provides practical insights and tips for developers looking to secure sensitive data efficiently.
- Tenant Isolation Strategies for Multi-Tenant Systems Discover essential techniques for tenant isolation in multi-tenant systems. Explore strategies like database segregation to boost data security and scalability. Optimize your SaaS platform or multi-user application with actionable insights in this concise guide.
- Demystifying Background Tasks in .NET: A Practical Guide Unlock the power of background tasks in .NET with this comprehensive guide. From understanding the essentials to exploring advanced techniques and alternatives, level up your development skills today.
- Result Objects Unleashing the Power of Result Objects: A Journey into Clean Code in C# or any other language!
- Early Exits Learn the power of early exits in functions: a concise guide to improving code readability and reducing complexity.