<?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: Ricardo Vano</title>
    <description>The latest articles on DEV Community by Ricardo Vano (@ricardo_vano_25ad2fa57d1f).</description>
    <link>https://dev.to/ricardo_vano_25ad2fa57d1f</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%2F2561763%2Ff3d102dc-a82d-4eaf-9943-fa1bb203d990.png</url>
      <title>DEV Community: Ricardo Vano</title>
      <link>https://dev.to/ricardo_vano_25ad2fa57d1f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ricardo_vano_25ad2fa57d1f"/>
    <language>en</language>
    <item>
      <title>Managing Technical Debt Without Halting Product Velocity</title>
      <dc:creator>Ricardo Vano</dc:creator>
      <pubDate>Thu, 12 Nov 2026 21:42:50 +0000</pubDate>
      <link>https://dev.to/ricardo_vano_25ad2fa57d1f/managing-technical-debt-without-halting-product-velocity-4jh2</link>
      <guid>https://dev.to/ricardo_vano_25ad2fa57d1f/managing-technical-debt-without-halting-product-velocity-4jh2</guid>
      <description>&lt;p&gt;Every growing codebase carries debt. The question is not whether you have it, but whether it is priced, prioritized, and paid down deliberately. Teams that treat debt as a moral failure tend to oscillate between denial and expensive rescue projects. Teams that treat it as a portfolio make calmer, faster decisions.&lt;/p&gt;

&lt;h2&gt;Price the debt before you rank it&lt;/h2&gt;

&lt;p&gt;Most debt backlogs fail because every item is described in engineering language: "upgrade the ORM," "split the monolith," "remove the circular dependency." Executives cannot compare those items to a revenue feature. Translate each item into one of three currencies: &lt;strong&gt;delivery drag&lt;/strong&gt; (weeks lost per quarter), &lt;strong&gt;risk exposure&lt;/strong&gt; (incident likelihood and blast radius), or &lt;strong&gt;cost of operation&lt;/strong&gt; (infrastructure and support hours).&lt;/p&gt;

&lt;p&gt;Once debt is priced, it belongs in the same portfolio review as product work. You are no longer asking for "engineering time." You are choosing between two investments with different return profiles.&lt;/p&gt;

&lt;h2&gt;The 20% capacity contract&lt;/h2&gt;

&lt;p&gt;Reserve a standing slice of every sprint for engineering health, and protect it like a customer commitment. The exact number matters less than the contract. Twenty percent is enough to make progress without starving the roadmap; ten percent is enough to stop the bleeding; zero percent is a decision to borrow at a higher interest rate later.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;70% product:&lt;/strong&gt; committed roadmap work with a named customer outcome.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20% engineering health:&lt;/strong&gt; debt reduction, reliability, and developer experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10% discovery:&lt;/strong&gt; spikes and prototypes with an explicit expiry date.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The split is a planning heuristic, not a law. During a launch window you may temporarily shift the mix — but write down when it returns to normal. Unwritten exceptions become the new baseline.&lt;/p&gt;

&lt;h2&gt;Make the cost of delay visible&lt;/h2&gt;

&lt;p&gt;Use cycle-time data to show what debt actually costs. If the checkout team's lead time has grown from four days to eleven over two quarters, that is a business metric, not a code-quality complaint. Pair it with incident data and support volume. Leaders do not need to understand your architecture to understand a trend line that is moving in the wrong direction.&lt;/p&gt;

&lt;blockquote&gt;Debt is not the enemy. Unpriced debt is. Once the cost is visible, the conversation shifts from principle to prioritization.&lt;/blockquote&gt;

&lt;h2&gt;A quarterly review that actually works&lt;/h2&gt;

&lt;p&gt;Run a 45-minute debt review every quarter with engineering and product leadership in the room. Keep it ruthlessly short:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Review the three largest debt items and their business impact.&lt;/li&gt;
&lt;li&gt;Confirm what was retired since the last review — celebrate the deletions.&lt;/li&gt;
&lt;li&gt;Approve the next quarter's funded debt work, with an owner and a deadline.&lt;/li&gt;
&lt;li&gt;Record any accepted risk explicitly, including who owns it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The output is a one-page decision record, not a 40-slide deck. The goal is a shared memory of what you chose to carry and why. That memory is what keeps the same debate from reopening every sprint.&lt;/p&gt;

&lt;h2&gt;What good looks like&lt;/h2&gt;

&lt;p&gt;Healthy teams can name their top three debt risks, show the delivery drag each one creates, and point to funded work in progress. They delete more than they add. And when they choose to carry debt for a strategic reason, they do it with their eyes open — not by accident.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>platform</category>
      <category>engineering</category>
    </item>
    <item>
      <title>The Tech Lead's Role in Building Autonomous Squads</title>
      <dc:creator>Ricardo Vano</dc:creator>
      <pubDate>Thu, 12 Nov 2026 20:56:19 +0000</pubDate>
      <link>https://dev.to/ricardo_vano_25ad2fa57d1f/the-tech-leads-role-in-building-autonomous-squads-3jfm</link>
      <guid>https://dev.to/ricardo_vano_25ad2fa57d1f/the-tech-leads-role-in-building-autonomous-squads-3jfm</guid>
      <description>&lt;p&gt;The hardest transition in engineering is not from junior to senior. It is from senior engineer to technical lead. The skills that earned the promotion — deep focus, fast execution, individual ownership — are not the skills that make a squad autonomous.&lt;/p&gt;

&lt;p&gt;Autonomy does not mean absence of leadership. It means the team has enough context, constraints, and confidence to make decisions without waiting for permission. Your job is to design those conditions.&lt;/p&gt;

&lt;h2&gt;Stop being the routing table&lt;/h2&gt;

&lt;p&gt;If every question ends up in your inbox, you have become a human load balancer. The team is not autonomous; it is blocked less visibly. Start by naming the decisions that genuinely require you: irreversible architectural choices, cross-team commitments, and anything that changes the team's public contract. Everything else should have a default owner.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who decides how a feature is implemented? The engineer closest to it.&lt;/li&gt;
&lt;li&gt;Who decides whether to ship on Friday? The team, against a written release standard.&lt;/li&gt;
&lt;li&gt;Who decides to add a new service? A lightweight architecture review with explicit criteria.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Four boundaries that create freedom&lt;/h2&gt;

&lt;p&gt;Autonomy grows inside constraints. Write them down:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Technical boundaries.&lt;/strong&gt; Approved languages, data contracts, and deployment paths. Clear edges prevent accidental platform sprawl.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality boundaries.&lt;/strong&gt; What "done" means, including testing, observability, and rollback expectations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decision boundaries.&lt;/strong&gt; Which decisions need review, and what a good decision record contains.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalation boundaries.&lt;/strong&gt; What counts as an emergency, and who can declare one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When these are explicit, you can stop reviewing every pull request without losing control of the system.&lt;/p&gt;

&lt;h2&gt;Coach the thinking, not the answer&lt;/h2&gt;

&lt;p&gt;When someone brings you a problem, resist the urge to solve it in the room. Ask three questions: What have you ruled out? What would you do if I were on vacation? What is the smallest reversible step? You are not withholding help — you are transferring the decision-making muscle.&lt;/p&gt;

&lt;blockquote&gt;The measure of a technical lead is not how much the team needs you. It is how well the team performs when you are not in the room.&lt;/blockquote&gt;

&lt;h2&gt;Make the invisible visible&lt;/h2&gt;

&lt;p&gt;Autonomous teams still need a shared picture of reality. Publish a weekly note with three lines: what shipped, what is at risk, and where the team needs a decision. This prevents the silent drift that turns autonomy into misalignment. It also gives you a lightweight early-warning system.&lt;/p&gt;

&lt;p&gt;Your final product as a tech lead is a team that can make good decisions without you — and knows when to bring you in anyway. That is not a loss of influence. It is the point.&lt;/p&gt;

</description>
      <category>leadership</category>
      <category>culture</category>
      <category>career</category>
    </item>
    <item>
      <title>How to Start Platform Architecture When You Do Not Have a Platform Team</title>
      <dc:creator>Ricardo Vano</dc:creator>
      <pubDate>Thu, 12 Nov 2026 20:32:00 +0000</pubDate>
      <link>https://dev.to/ricardo_vano_25ad2fa57d1f/how-to-start-platform-architecture-when-you-do-not-have-a-platform-team-2445</link>
      <guid>https://dev.to/ricardo_vano_25ad2fa57d1f/how-to-start-platform-architecture-when-you-do-not-have-a-platform-team-2445</guid>
      <description>&lt;p&gt;Most companies do not start their platform journey with a platform team. They start with a collection of product squads, a growing cloud bill, inconsistent deployment paths, duplicated tooling, and engineers quietly solving the same infrastructure problems in different ways.&lt;/p&gt;

&lt;p&gt;The first instinct is often to create a new team, choose a technology stack, and announce an internal developer platform. That is usually too early.&lt;/p&gt;

&lt;p&gt;Platform Architecture is not primarily a tooling initiative. It is a way to reduce cognitive load so product teams can focus on domain logic and strategic features. The first challenge is therefore not to build a large platform. It is to identify the most expensive sources of friction, create one reliable paved road, and prove that the organization can recover time and reduce risk.&lt;br&gt;
Start with the problem, not the platform team&lt;/p&gt;

&lt;p&gt;A platform is an internal product. Its customers are the engineers, tech leads, and product teams who use it. Before deciding what to build, talk to those customers.&lt;/p&gt;

&lt;p&gt;Interview engineers from several squads and map the path from “I have an idea” to “this capability is running safely in production.” Look for repeated pain in areas such as:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;creating a new service or environment;
setting up CI/CD and deployment permissions;
managing secrets and access controls;
adding observability and alerting;
responding to incidents;
upgrading common libraries and runtimes;
understanding ownership and operational expectations.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Do not ask only, “What tools do you want?” Ask, “Where does work stop moving?” and “Which steps require an expert every time?” The answers expose the platform backlog more accurately than a technology wish list.&lt;/p&gt;

&lt;p&gt;A useful first output is a friction map. For each problem, record the affected teams, how often it occurs, the time it consumes, the risk it creates, and the current workaround. This converts vague frustration into a prioritization conversation.&lt;br&gt;
Choose a narrow first wedge&lt;/p&gt;

&lt;p&gt;The first platform product should solve one painful, repeated problem for a small number of teams. It should not attempt to standardize the entire engineering organization.&lt;/p&gt;

&lt;p&gt;Good first wedges often include a supported service template, a reliable deployment path, a standard observability package, or a self-service environment workflow. The best choice depends on the organization, but the selection criteria are consistent:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Several squads experience the problem.
The current workaround creates measurable delay or risk.
The solution can be delivered in weeks, not quarters.
Adoption can be observed without forcing a company-wide migration.
The paved road can support common cases while leaving room for explicit exceptions.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;A useful platform promise might be: “A new service can reach a production-ready environment in one day, with deployment, logging, metrics, secrets, and ownership included.” That is more meaningful than “we are adopting a new internal developer platform.”&lt;br&gt;
Use the squads to build the seed platform&lt;/p&gt;

&lt;p&gt;If there is no platform team, do not wait for a perfect hiring plan. Start with the expertise already distributed across the organization.&lt;/p&gt;

&lt;p&gt;Create a temporary or founding platform group with engineers from the squads that feel the problem most sharply. Depending on the size of the company, this may be two to five people with explicitly allocated capacity. They can work as a small cross-squad team for an initial period, or form a platform capability while remaining connected to their home teams.&lt;/p&gt;

&lt;p&gt;The important word is allocated. Do not ask people to build the platform “on the side.” Unfunded platform work becomes invisible overtime, and the organization learns the wrong lesson: that internal leverage is free.&lt;/p&gt;

&lt;p&gt;Give the group three clear responsibilities:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;discover the highest-value friction;
build and operate the first paved road;
transfer knowledge and improve adoption with the pilot squads.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The founding team should include people who understand delivery, reliability, security, and developer experience. It does not need to own every infrastructure domain on day one. It needs enough credibility to make the first path useful and safe.&lt;/p&gt;

&lt;p&gt;A strong pattern is to pair one platform engineer with one engineer from a pilot product squad. They build the capability together, use it in a real service, and document the decisions while the context is fresh. This prevents the platform from becoming an ivory tower disconnected from product reality.&lt;br&gt;
Build with a lighthouse squad&lt;/p&gt;

&lt;p&gt;Choose one or two lighthouse squads that are willing to collaborate. Avoid selecting only the most sophisticated team. Choose teams with a real delivery problem, a motivated technical lead, and a product milestone that can demonstrate improvement.&lt;/p&gt;

&lt;p&gt;Define a before-and-after baseline. For example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;time to create a production-ready service;
lead time from merge to production;
number of manual steps in a deployment;
percentage of services with standard metrics and alerts;
time spent waiting for platform or infrastructure support;
change-failure rate and time to restore.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The pilot is not a showcase. It is a product discovery cycle. Watch where users hesitate, where the paved road breaks, and which defaults are too restrictive. A platform is successful when it removes decisions that teams should not have to make, not when it exposes more configuration.&lt;br&gt;
Convince stakeholders with business language&lt;/p&gt;

&lt;p&gt;Stakeholders rarely fund platform work because a tool is elegant. They fund it because it improves delivery, reduces risk, or unlocks a business capability.&lt;/p&gt;

&lt;p&gt;Translate platform work into three categories of value.&lt;br&gt;
Time recovered&lt;/p&gt;

&lt;p&gt;Estimate how much engineering time is recovered through reuse and self-service. Keep the calculation conservative:&lt;/p&gt;

&lt;p&gt;adoption count × hours saved per use × loaded engineering cost&lt;/p&gt;

&lt;p&gt;Do not inflate the number. If the estimate cannot survive a review, leave it out. A smaller defensible number is more valuable than speculative ROI.&lt;br&gt;
Risk reduced&lt;/p&gt;

&lt;p&gt;Show which risks become less likely or less damaging. Examples include inconsistent access controls, missing observability, fragile deployments, unsupported runtime versions, and unclear incident ownership.&lt;/p&gt;

&lt;p&gt;Where possible, connect the risk to operational data: incidents, restore time, audit findings, support hours, or customer-impacting failures.&lt;br&gt;
Capability unlocked&lt;/p&gt;

&lt;p&gt;Some platform benefits are strategic rather than immediately financial. A standard deployment path may make it possible to launch in a new region, support a compliance tier, or let a small product team operate a service safely. Present these as named business capabilities, not as invented dollar values.&lt;/p&gt;

&lt;p&gt;The executive conversation should sound like this: “We can reduce the median time to first deploy from nine days to two, standardize critical controls for every new service, and give two product squads the capacity to support the next regional launch.” It should not sound like: “We need to migrate everything to Kubernetes.”&lt;br&gt;
Fund a product, not a project&lt;/p&gt;

&lt;p&gt;Project funding creates a predictable failure mode: the platform team delivers a tool, declares victory, and moves on. Adoption, support, maintenance, documentation, and product discovery remain unfunded.&lt;/p&gt;

&lt;p&gt;Treat the platform as a durable internal product. Give it a named owner, a small roadmap, service-level expectations, a support channel, and success metrics. Include adoption and operational health in the definition of done.&lt;/p&gt;

&lt;p&gt;Publish a simple service catalog for each capability:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;who it serves;
what it provides;
what it does not provide;
how to get started;
how to request help;
its reliability target;
who owns it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;A service catalog creates trust because it turns an informal promise into a visible contract. It also makes gaps and duplicated solutions easier to identify.&lt;br&gt;
Define the paved road and the exceptions&lt;/p&gt;

&lt;p&gt;A paved road is not a mandatory road. Product teams will always have valid cases outside the default path. The goal is to make the common path easy and safe, while making exceptions explicit.&lt;/p&gt;

&lt;p&gt;For an exception, the team should choose one of three paths:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use the paved road;
fund the capability into the platform;
own the alternative path and accept its additional cost and risk.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This is not bureaucracy. It is transparency. A platform that promises to support every edge case becomes a consulting queue. A platform that says “no” without explaining the trade-off becomes ignored.&lt;br&gt;
A practical first 90 days&lt;br&gt;
Days 1–15: Listen and baseline&lt;/p&gt;

&lt;p&gt;Interview engineers, tech leads, product managers, security, and operations. Map the delivery journey. Select the top three friction points and establish baseline measures. Choose one lighthouse squad.&lt;br&gt;
Days 16–45: Build the smallest useful path&lt;/p&gt;

&lt;p&gt;Form the seed platform group. Select one wedge. Create the first service template or paved workflow with the pilot squad. Include ownership, deployment, observability, security defaults, documentation, and a clear support model.&lt;br&gt;
Days 46–75: Operate and improve&lt;/p&gt;

&lt;p&gt;Run real workloads through the path. Track adoption, time saved, failure modes, support requests, and developer feedback. Remove unnecessary choices. Fix the rough edges before expanding the audience.&lt;br&gt;
Days 76–90: Prove value and decide the next investment&lt;/p&gt;

&lt;p&gt;Compare the baseline with the new results. Publish what improved, what did not, and what remains unsupported. Use the evidence to decide whether to expand the capability, create a permanent platform team, or change direction.&lt;br&gt;
Avoid the common traps&lt;/p&gt;

&lt;p&gt;Do not start with a large reorganization. Start with a customer problem.&lt;/p&gt;

&lt;p&gt;Do not build a platform for every team at once. Start with a narrow paved road.&lt;/p&gt;

&lt;p&gt;Do not measure success by tools launched, tickets closed, or lines of configuration. Measure time recovered, risk reduced, adoption, reliability, and cognitive load.&lt;/p&gt;

&lt;p&gt;Do not rely on heroic contributions from product engineers. Allocate capacity and make platform work visible in planning.&lt;/p&gt;

&lt;p&gt;Do not hide exceptions. Make the cost of the alternative explicit.&lt;/p&gt;

&lt;p&gt;Do not confuse standardization with control. The purpose of a platform is to increase safe autonomy, not to centralize every decision.&lt;br&gt;
The first platform win is organizational&lt;/p&gt;

&lt;p&gt;The first success of Platform Architecture is not a sophisticated platform. It is a demonstrated change in how the organization works.&lt;/p&gt;

&lt;p&gt;A product squad no longer needs to reinvent deployment. A tech lead can explain the operational contract of a service. Security defaults are present without a custom project. A new engineer can reach a productive path without waiting for an expert. Leadership can see what the investment buys.&lt;/p&gt;

&lt;p&gt;That is how the platform earns the right to grow: by removing cognitive load, making internal leverage visible, and helping product squads spend more of their time on the domain and the customer.&lt;/p&gt;

&lt;p&gt;Start small. Build with the squads. Measure the friction you remove. Then scale the platform only as fast as the organization can absorb it.&lt;/p&gt;

</description>
      <category>platformengineering</category>
      <category>platformarchitecture</category>
      <category>devex</category>
      <category>engineeringleadership</category>
    </item>
  </channel>
</rss>
