<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Parikshit Talesara</title>
    <description>The latest articles on DEV Community by Parikshit Talesara (@parikshit_talesara).</description>
    <link>https://dev.to/parikshit_talesara</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4031792%2Fb89b549e-7e2b-4faf-9805-2af6d7874f6b.jpg</url>
      <title>DEV Community: Parikshit Talesara</title>
      <link>https://dev.to/parikshit_talesara</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parikshit_talesara"/>
    <language>en</language>
    <item>
      <title>The Real-Time AI Latency Budget, Allocated</title>
      <dc:creator>Parikshit Talesara</dc:creator>
      <pubDate>Tue, 13 Oct 2026 12:18:25 +0000</pubDate>
      <link>https://dev.to/parikshit_talesara/the-real-time-ai-latency-budget-allocated-1l6e</link>
      <guid>https://dev.to/parikshit_talesara/the-real-time-ai-latency-budget-allocated-1l6e</guid>
      <description>&lt;p&gt;Most latency targets for AI features arrive as one number on a ticket: "under 200 ms." Nobody owns 200 ms. Someone owns the vector search, someone owns the model server, someone owns the network in between, and each of them assumes they get most of it.&lt;/p&gt;

&lt;p&gt;Below is the budget I'd start from for a retrieval-backed AI endpoint. A query comes in, relevant items are retrieved, a model ranks or scores them, and the result goes back while the user waits. Semantic search, recommendations and RAG-style lookups all have roughly this shape. Copy it, adjust it to your stack, and argue about it in the design review, not the incident review.&lt;/p&gt;

&lt;h2&gt;
  
  
  The budget
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bucket&lt;/th&gt;
&lt;th&gt;Line item&lt;/th&gt;
&lt;th&gt;p99 budget&lt;/th&gt;
&lt;th&gt;What usually blows it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;Client to edge, round trip&lt;/td&gt;
&lt;td&gt;25 ms&lt;/td&gt;
&lt;td&gt;Fresh TLS handshakes, distant regions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;Internal hops (gateway, app, model)&lt;/td&gt;
&lt;td&gt;10 ms&lt;/td&gt;
&lt;td&gt;Sidecars and services added over time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;Response payload&lt;/td&gt;
&lt;td&gt;5 ms&lt;/td&gt;
&lt;td&gt;Returning full documents instead of IDs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;td&gt;Vector search (ANN)&lt;/td&gt;
&lt;td&gt;20 ms&lt;/td&gt;
&lt;td&gt;Index outgrows memory, filters applied after search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;td&gt;Metadata and feature fetch&lt;/td&gt;
&lt;td&gt;25 ms&lt;/td&gt;
&lt;td&gt;One call per item instead of one batched call&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;td&gt;Permission and business filters&lt;/td&gt;
&lt;td&gt;15 ms&lt;/td&gt;
&lt;td&gt;Filtering in application code after retrieval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference&lt;/td&gt;
&lt;td&gt;Query embedding&lt;/td&gt;
&lt;td&gt;10 ms&lt;/td&gt;
&lt;td&gt;Cold model, silent CPU fallback&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference&lt;/td&gt;
&lt;td&gt;Queue and batching wait&lt;/td&gt;
&lt;td&gt;10 ms&lt;/td&gt;
&lt;td&gt;Batch window tuned for throughput&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference&lt;/td&gt;
&lt;td&gt;Reranker over top candidates&lt;/td&gt;
&lt;td&gt;45 ms&lt;/td&gt;
&lt;td&gt;Too many candidates, input length creep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference&lt;/td&gt;
&lt;td&gt;Post-processing&lt;/td&gt;
&lt;td&gt;5 ms&lt;/td&gt;
&lt;td&gt;Formatting in slow loops&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reserve&lt;/td&gt;
&lt;td&gt;Headroom&lt;/td&gt;
&lt;td&gt;30 ms&lt;/td&gt;
&lt;td&gt;Spent on day one if nobody guards it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;200 ms&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How to read it
&lt;/h2&gt;

&lt;p&gt;Every number is a p99, not an average. Budgeting each hop at p99 is deliberately conservative, because every hop rarely hits its tail on the same request. The one place it isn't conservative enough is anything that fans out, where the request waits on the slowest of many calls. That's why the metadata line gets more than the vector search itself.&lt;/p&gt;

&lt;p&gt;Inference is the biggest bucket, and the reranker is the biggest single line. A cross-encoder's cost grows with the number of candidates and their length, so cutting the rerank set from 50 to 20 usually buys back more time than any amount of model tuning.&lt;/p&gt;

&lt;p&gt;Network looks generous at 40 ms. With users spread across continents it isn't, so serve from more regions or rebalance the table before launch.&lt;/p&gt;

&lt;p&gt;The headroom is 15% of the total. It covers deploys; garbage collection pauses, noisy neighbors and the hop someone adds next quarter. If you can't find 15% spare on paper, you won't find it in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  When the numbers don't fit
&lt;/h2&gt;

&lt;p&gt;Cut in this order.&lt;/p&gt;

&lt;p&gt;Do less work. Re-rank fewer candidates, return IDs instead of documents, and push filters into the index query so you don't retrieve things you'll throw away.&lt;/p&gt;

&lt;p&gt;Move work off the request path. Cache embeddings for frequent queries, keep metadata in a store the request can hit once, and refresh features when events arrive rather than when users ask.&lt;/p&gt;

&lt;p&gt;Then buy speed. Faster hardware or a smaller, quantized model. It works, but it's the most expensive fix, and the one teams reach for first.&lt;/p&gt;

&lt;p&gt;Once the table balances, put a p99 alert on each line, not just on the total. When the total breaks, you want to know which line broke it.&lt;/p&gt;

&lt;p&gt;First, check that 200 ms is the right number&lt;/p&gt;

&lt;p&gt;The table assumes 200 ms is the right target, and sometimes it isn't. A feature that can answer within a second, or show up after the page loads, deserves a cheaper design. If that decision isn't settled yet, this &lt;a href="https://kansoftware.com/insights/blog/real-time-ai-architecture?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=guest-post&amp;amp;utm_content=responsive-ai-features-pattern" rel="noopener noreferrer"&gt;walkthrough of real-time AI architecture, from latency tiers to the serving layer&lt;/a&gt;, is worth reading before you defend a single line above.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>architecture</category>
      <category>performance</category>
    </item>
    <item>
      <title>The Engineering Challenges Nobody Talks About When Scaling from 10 to 50 Developers</title>
      <dc:creator>Parikshit Talesara</dc:creator>
      <pubDate>Thu, 16 Jul 2026 11:32:11 +0000</pubDate>
      <link>https://dev.to/parikshit_talesara/the-engineering-challenges-nobody-talks-about-when-scaling-from-10-to-50-developers-2mbl</link>
      <guid>https://dev.to/parikshit_talesara/the-engineering-challenges-nobody-talks-about-when-scaling-from-10-to-50-developers-2mbl</guid>
      <description>&lt;p&gt;Growing an engineering team sounds like a problem every company wants to have. &lt;/p&gt;

&lt;p&gt;More customers mean more features. More features require more developers. Hiring accelerates, new squads are formed, and suddenly the engineering organization has doubled in size. &lt;/p&gt;

&lt;p&gt;On paper, this looks like progress. &lt;/p&gt;

&lt;p&gt;Many companies discover that the same engineering practices that worked for a ten-person team begin to break down as the organization grows. &lt;/p&gt;

&lt;p&gt;The codebase becomes more complex. Communication takes longer. Pull requests remain open for days. Releases require coordination across multiple teams, and developers spend more time discussing work than delivering it. &lt;/p&gt;

&lt;p&gt;Scaling software development isn't simply about increasing headcounts. It's about building an engineering organization that continues to move efficiently as complexity grows. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Communication Problem Arrives First
&lt;/h2&gt;

&lt;p&gt;One of the earliest signs of growing pain isn't technical debt—it's communication debt. &lt;/p&gt;

&lt;p&gt;With ten developers, everyone usually understands the product's roadmap, architecture, and release process. &lt;/p&gt;

&lt;p&gt;At fifty developers, that's no longer possible. &lt;/p&gt;

&lt;p&gt;Different teams have different services. Product managers prioritize competing initiatives. Infrastructure changes affect multiple applications, and engineers often don't realize another team is solving a similar problem. &lt;/p&gt;

&lt;p&gt;Without structured communication, duplication becomes inevitable. &lt;/p&gt;

&lt;p&gt;Successful engineering organizations reduce this risk by creating clear ownership boundaries rather than expecting everyone to know everything. &lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Must Scale Alongside the Team
&lt;/h2&gt;

&lt;p&gt;As organizations grow, architecture becomes less about choosing the "best" technology and more about enabling independent delivery. &lt;/p&gt;

&lt;p&gt;Large engineering teams benefit from: &lt;/p&gt;

&lt;p&gt;Clearly defined service boundaries  &lt;/p&gt;

&lt;p&gt;Stable APIs  &lt;/p&gt;

&lt;p&gt;Well-documented contracts  &lt;/p&gt;

&lt;p&gt;Backward compatibility  &lt;/p&gt;

&lt;p&gt;Automated testing between services  &lt;/p&gt;

&lt;p&gt;The objective isn't simply building microservices. &lt;/p&gt;

&lt;p&gt;It's allowing one team to improve a service without accidentally breaking another team's work. &lt;/p&gt;

&lt;p&gt;Architecture should reduce dependencies—not create new ones. &lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation Stops Being Optional
&lt;/h2&gt;

&lt;p&gt;Many startups treat documentation as something they'll write later. &lt;/p&gt;

&lt;p&gt;That works for small teams where everyone remembers why technical decisions were made. &lt;/p&gt;

&lt;p&gt;It doesn't work when thirty new engineers join within a year. &lt;/p&gt;

&lt;p&gt;Architecture Decision Records (ADRs), onboarding guides, API documentation, deployment runbooks, and coding standards become essential engineering assets. &lt;/p&gt;

&lt;p&gt;Good documentation doesn't slow developers down. &lt;/p&gt;

&lt;p&gt;It reduces repeated conversations, accelerates onboarding, and improves consistency across multiple teams. &lt;/p&gt;

&lt;h2&gt;
  
  
  Ownership Matters More Than Individual Productivity
&lt;/h2&gt;

&lt;p&gt;Engineering leaders often measure productivity at an individual level. &lt;/p&gt;

&lt;p&gt;But as organizations grow, team ownership becomes significantly more important. &lt;/p&gt;

&lt;p&gt;Every service should answer simple questions: &lt;/p&gt;

&lt;p&gt;Who owns it?  &lt;/p&gt;

&lt;p&gt;Who reviews architectural changes?  &lt;/p&gt;

&lt;p&gt;Who responds to incidents?  &lt;/p&gt;

&lt;p&gt;Who maintains documentation?  &lt;/p&gt;

&lt;p&gt;Who approves of deployments?  &lt;/p&gt;

&lt;p&gt;Ambiguous ownership creates bottlenecks so that no amount of hiring can be solved. &lt;/p&gt;

&lt;p&gt;Clear ownership allows engineering teams to make decisions confidently without waiting for approval from half the organization. &lt;/p&gt;

&lt;h2&gt;
  
  
  Automation Becomes Your Biggest Multiplier
&lt;/h2&gt;

&lt;p&gt;Hiring twenty additional engineers without improving engineering workflows simply creates larger queues. &lt;/p&gt;

&lt;p&gt;High-performing organizations invest heavily in automation. &lt;/p&gt;

&lt;p&gt;Continuous Integration catches regressions before reviewing. &lt;/p&gt;

&lt;p&gt;Continuous Delivery reduces release of friction. &lt;/p&gt;

&lt;p&gt;Infrastructure as Code keeps environments consistent. &lt;/p&gt;

&lt;p&gt;Automated security scanning identifies vulnerabilities early. &lt;/p&gt;

&lt;p&gt;Instead of adding manual processes to manage growth, successful teams automate repetitive work, so engineers can focus on solving customer problems. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Cost of Losing Product Context
&lt;/h2&gt;

&lt;p&gt;One challenge that rarely appears on hiring dashboards is context loss. &lt;/p&gt;

&lt;p&gt;Every time experienced engineers leave—or project teams rotate out—valuable knowledge disappears with them. &lt;/p&gt;

&lt;p&gt;New developers eventually understand the code, but they don't immediately understand the decisions behind it. &lt;/p&gt;

&lt;p&gt;Why was this service separated? &lt;/p&gt;

&lt;p&gt;Why does this workflow exist? &lt;/p&gt;

&lt;p&gt;Which customers depend on this legacy endpoint? &lt;/p&gt;

&lt;p&gt;That knowledge only develops through long-term involvement with the product. &lt;/p&gt;

&lt;p&gt;Organizations that retain engineering continuity usually make better technical decisions over time because fewer assumptions need to be rediscovered. &lt;/p&gt;

&lt;h2&gt;
  
  
  Scaling Capacity Without Starting Over
&lt;/h2&gt;

&lt;p&gt;Growing companies don't always have the luxury of waiting six months to recruit every engineer internally. &lt;/p&gt;

&lt;p&gt;Hiring remains important, but product roadmaps rarely pause while recruitment catches up. &lt;/p&gt;

&lt;p&gt;Many engineering organizations address this by extending existing teams with embedded engineers who work inside the same sprint cadence, development standards, and delivery processes instead of operating as a separate project vendor. &lt;/p&gt;

&lt;p&gt;This &lt;a href="https://kansoftware.com/services/dedicated-engineering-teams?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=guestpost" rel="noopener noreferrer"&gt;dedicated engineering team model&lt;/a&gt; works particularly well because new engineers contribute within existing workflows rather than creating parallel development streams. The emphasis remains on shared ownership, long-term product knowledge, and continuous delivery—not simply completing a fixed scope of work. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Right Growth Model Depends on the Product
&lt;/h2&gt;

&lt;p&gt;There's no universal blueprint for scaling software teams. &lt;/p&gt;

&lt;p&gt;Some organizations benefit from aggressive in-house hiring. &lt;/p&gt;

&lt;p&gt;Others rely on specialized platform teams. &lt;/p&gt;

&lt;p&gt;Many combine internal leadership with embedded engineering partners to expand delivery capacity while preserving technical continuity. &lt;/p&gt;

&lt;p&gt;What's important is evaluating these options beyond hourly rates or recruitment costs. Factors such as onboarding time, engineering productivity, knowledge retention, and long-term delivery efficiency often have a much greater impact on product success. &lt;/p&gt;

&lt;p&gt;Before deciding how to scale, it's worth understanding the &lt;a href="https://kansoftware.com/insights/blog/dedicated-engineering-teams-cost?utm_source=devto&amp;amp;utm_medium=referral&amp;amp;utm_campaign=guestpost" rel="noopener noreferrer"&gt;cost comparison between dedicated engineering teams and traditional hiring models&lt;/a&gt;, particularly products expected to evolve over several years rather than a single release cycle. &lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Engineering organizations don't become more productive simply because they become larger. &lt;/p&gt;

&lt;p&gt;Sustainable growth comes from improving the systems around software development—clear ownership, scalable architecture, effective documentation, automation, and strong collaboration. &lt;/p&gt;

&lt;p&gt;When those foundations exist, adding engineers increases delivery capacity instead of operational complexity. &lt;/p&gt;

&lt;p&gt;Whether teams are built entirely in-house or expanded through embedded engineering partnerships, the organizations that scale successfully all share one characteristic: they invest as much in how their teams work together as they do in the technology they build.&lt;/p&gt;

</description>
      <category>software</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
