<?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>Forem: Akhil Kishore</title>
    <description>The latest articles on Forem by Akhil Kishore (@akhilkishore).</description>
    <link>https://forem.com/akhilkishore</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3607344%2F73333d27-60fe-4109-a3c0-b82db5b8451e.jpg</url>
      <title>Forem: Akhil Kishore</title>
      <link>https://forem.com/akhilkishore</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/akhilkishore"/>
    <language>en</language>
    <item>
      <title>When Confidence Meets Production: Lessons from a Missing Slash</title>
      <dc:creator>Akhil Kishore</dc:creator>
      <pubDate>Wed, 12 Nov 2025 09:19:32 +0000</pubDate>
      <link>https://forem.com/akhilkishore/when-confidence-meets-production-lessons-from-a-missing-slash-3lnf</link>
      <guid>https://forem.com/akhilkishore/when-confidence-meets-production-lessons-from-a-missing-slash-3lnf</guid>
      <description>&lt;h2&gt;
  
  
  Confidence Coverage: When 94% Tests Still Break Production
&lt;/h2&gt;

&lt;p&gt;It was one of those Friday nights that make you feel invincible.&lt;br&gt;
Every test passed. Every coverage metric gleamed above 90%.&lt;br&gt;
The CI pipeline was all green — the kind of green that makes you think, &lt;em&gt;“Yeah, we nailed it.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As a senior engineer working in &lt;strong&gt;Trade Finance&lt;/strong&gt;, where a single API call can move millions, that confidence felt well earned.&lt;/p&gt;

&lt;p&gt;I had done my homework:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit tests ✅&lt;/li&gt;
&lt;li&gt;Integration tests ✅&lt;/li&gt;
&lt;li&gt;Regression suite ✅&lt;/li&gt;
&lt;li&gt;Manual sanity ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I pushed to production, shut my laptop, and packed for a weekend trek up &lt;strong&gt;Agasthyakoodam&lt;/strong&gt;.&lt;br&gt;
Confidence? Sky-high. The kind that only comes from seeing everything green.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ping That Shattered the Peace
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Saturday, 8:07 AM.&lt;/strong&gt;&lt;br&gt;
Fresh mountain air. Backpack on. First step up the trail.&lt;/p&gt;

&lt;p&gt;📱 &lt;em&gt;Buzz.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Production is down. URGENT.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I froze.&lt;br&gt;
No signal. No backup. Just me, a laptop, and a mountain.&lt;/p&gt;

&lt;p&gt;I climbed faster — not for the view, but for network bars.&lt;br&gt;
By the time I reached 6,000 feet, I had a faint 4G signal.&lt;/p&gt;

&lt;p&gt;Sitting on a rock, I opened my laptop to find the logs that would ruin my morning.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Culprit: A Slash Too Few
&lt;/h2&gt;

&lt;p&gt;The logs told a simple, painful story.&lt;br&gt;
An API call failed — triggering a domino of retries, timeouts, and broken workflows.&lt;br&gt;
The cause? &lt;strong&gt;A missing trailing slash in an environment variable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s what went wrong:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Staging:&lt;/strong&gt; Host URL ended with a slash (&lt;code&gt;https://api.example.com/&lt;/code&gt;), endpoint started clean (&lt;code&gt;status&lt;/code&gt;). ✅&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production:&lt;/strong&gt; Host had no trailing slash (&lt;code&gt;https://api.example.com&lt;/code&gt;), endpoint began &lt;em&gt;without&lt;/em&gt; one (&lt;code&gt;status&lt;/code&gt;). ❌&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When the two joined, the resulting URL was malformed.&lt;br&gt;
The &lt;code&gt;urljoin()&lt;/code&gt; call, which had behaved perfectly in staging, broke in production.&lt;/p&gt;

&lt;p&gt;A single missing slash — and a multi-million-dollar workflow came to a halt.&lt;/p&gt;

&lt;p&gt;My &lt;strong&gt;94% test coverage didn’t see it coming.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Illusion of Confidence
&lt;/h2&gt;

&lt;p&gt;That was the day I learned:&lt;br&gt;
&lt;strong&gt;Test coverage ≠ confidence coverage.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unit tests make you feel safe.&lt;br&gt;
Integration tests make you feel thorough.&lt;br&gt;
But production? It humbles you.&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mocks don’t drift. Real environments do.&lt;/li&gt;
&lt;li&gt;Test data behaves. Real data doesn’t.&lt;/li&gt;
&lt;li&gt;CI is clean. Configuration is chaos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The irony? The tests weren’t wrong — they did their job.&lt;br&gt;
They just didn’t prepare me for &lt;em&gt;reality.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why It Hurt More in Trade Finance
&lt;/h2&gt;

&lt;p&gt;In &lt;strong&gt;Trade Finance&lt;/strong&gt;, every integration layer is mission-critical.&lt;br&gt;
Dozens of systems — banks, partners, repositories, regulators — all stitched together through APIs and assumptions.&lt;/p&gt;

&lt;p&gt;A single malformed URL isn’t just a 500 error.&lt;br&gt;
It’s a delay in document exchange.&lt;br&gt;
A payment that doesn’t clear.&lt;br&gt;
A customer commitment that slips.&lt;/p&gt;

&lt;p&gt;When one link fails, the entire chain rattles.&lt;br&gt;
And your “all green” test suite? It won’t catch it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Confidence Coverage &amp;gt; Code Coverage
&lt;/h2&gt;

&lt;p&gt;That morning on the mountain changed my mental model.&lt;br&gt;
Forget chasing &lt;strong&gt;100% code coverage&lt;/strong&gt; — start measuring &lt;strong&gt;confidence coverage.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Confidence coverage&lt;/strong&gt; is the degree of assurance that your system will behave correctly &lt;em&gt;under real conditions&lt;/em&gt;, not just ideal ones.&lt;/p&gt;

&lt;p&gt;It’s built through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broader integration and end-to-end testing&lt;/li&gt;
&lt;li&gt;Environment consistency checks&lt;/li&gt;
&lt;li&gt;Automated configuration validation&lt;/li&gt;
&lt;li&gt;Continuous monitoring and alerting&lt;/li&gt;
&lt;li&gt;Load and chaos testing in staging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you think in terms of confidence coverage, the question shifts from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“How many lines are tested?”&lt;br&gt;
to&lt;br&gt;
“How sure am I that this won’t blow up in production?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What I’d Tell My Younger Self
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Testing isn’t about perfection — it’s about preparation.&lt;/strong&gt;&lt;br&gt;
Your tests won’t catch every failure, but they’ll teach you how to handle them gracefully.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Environment parity matters more than coverage percentages.&lt;/strong&gt;&lt;br&gt;
A missing slash, a timeout, a wrong env var — these break real systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Integrate early. Integrate often.&lt;/strong&gt;&lt;br&gt;
The earlier you touch real systems, the fewer weekend calls you’ll get.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monitor everything.&lt;/strong&gt;&lt;br&gt;
Tests prevent some fires. Monitoring tells you when one’s already burning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Confidence is good. Humility is better.&lt;/strong&gt;&lt;br&gt;
Every “impossible” bug reminds you: software at scale isn’t deterministic — it’s probabilistic with flair.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The View from the Peak
&lt;/h2&gt;

&lt;p&gt;I fixed the issue right there on the mountain — half a battery, one patch, and a heavy dose of humility later.&lt;br&gt;
The system came back up.&lt;br&gt;
The trek continued.&lt;br&gt;
The view at the top? Worth every step.&lt;/p&gt;

&lt;p&gt;But something changed in how I saw engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit tests are your &lt;strong&gt;seatbelt&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Integration tests are your &lt;strong&gt;guardrails&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Monitoring is your &lt;strong&gt;lookout tower&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;And confidence? It’s the &lt;strong&gt;illusion you earn&lt;/strong&gt; — until production reminds you who’s really in charge.&lt;/li&gt;
&lt;/ul&gt;




</description>
      <category>softwareengineering</category>
      <category>testing</category>
      <category>ai</category>
    </item>
    <item>
      <title>🌀 The Circular Profile Showcase Protocol: Amplify Your Online Presence Across GitHub, LinkedIn, Dev.to, WordPress &amp; Hashnode</title>
      <dc:creator>Akhil Kishore</dc:creator>
      <pubDate>Wed, 12 Nov 2025 08:48:10 +0000</pubDate>
      <link>https://forem.com/akhilkishore/the-circular-profile-showcase-protocol-amplify-your-online-presence-across-github-linkedin-5dn5</link>
      <guid>https://forem.com/akhilkishore/the-circular-profile-showcase-protocol-amplify-your-online-presence-across-github-linkedin-5dn5</guid>
      <description>&lt;p&gt;&lt;strong&gt;As engineers&lt;/strong&gt;, we often maintain multiple online profiles — GitHub, LinkedIn, Dev.to, WordPress, Hashnode — each serving a unique purpose.&lt;br&gt;
But more often than not, these platforms end up living in silos, with no clear path connecting one to the other. As a result, we miss out on opportunities to grow our audience, boost our SEO, and showcase our work consistently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if you could build a simple, repeatable flow that connects all your profiles into a self-sustaining loop?&lt;/strong&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Introducing the Circular Profile Showcase Protocol 🌀 — a strategy to make your profiles work together, not separately.
&lt;/h4&gt;




&lt;h3&gt;
  
  
  1️⃣ GitHub → LinkedIn: From Code to Career
&lt;/h3&gt;

&lt;p&gt;Your GitHub profile is often the first touchpoint for other developers. It’s where your projects live and where people get a sense of your technical skills.&lt;/p&gt;

&lt;p&gt;👉 Here’s how to leverage it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add your LinkedIn profile link in your GitHub bio.&lt;/li&gt;
&lt;li&gt;Use your GitHub profile README to highlight your best projects and end with a call to action:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“👉 Let’s connect on LinkedIn for more updates and discussions.”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anyone impressed by your code should have a direct pathway to your professional network.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2️⃣ LinkedIn → Dev.to: From Professional Updates to Technical Writing
&lt;/h3&gt;

&lt;p&gt;LinkedIn is fantastic for networking, but not ideal for long-form technical content. That’s where Dev.to shines — it’s a developer-focused platform built for sharing tutorials, insights, and technical deep dives.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add your Dev.to blog link in LinkedIn’s “Contact Info” and “Featured” sections.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you publish a Dev.to article, post a short LinkedIn update with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2–3 catchy summary lines&lt;/li&gt;
&lt;li&gt;A link to the full post&lt;/li&gt;
&lt;li&gt;Relevant hashtags (e.g., #Backend #Python #WebDevelopment)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This step funnels your professional audience into your technical content hub.&lt;/p&gt;




&lt;h3&gt;
  
  
  3️⃣ Dev.to → WordPress: Building Your Own Knowledge Base
&lt;/h3&gt;

&lt;p&gt;While Dev.to provides excellent reach, WordPress gives you structure and control. By bringing your articles to WordPress, you create a permanent, SEO-friendly archive.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copy or import your Dev.to post into your WordPress blog.&lt;/li&gt;
&lt;li&gt;Add internal links, SEO metadata, and richer media where needed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Include a note like:&lt;/p&gt;

&lt;p&gt;“Originally published on Dev.to. Expanded and archived here.”&lt;/p&gt;

&lt;p&gt;This turns your personal website into a central library for your work.&lt;/p&gt;




&lt;h3&gt;
  
  
  4️⃣ WordPress → Hashnode: Expand Reach with SEO &amp;amp; Community
&lt;/h3&gt;

&lt;p&gt;Next, bring your WordPress content to Hashnode — a developer blogging platform that’s free, SEO-optimized, and built for devs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cross-post your WordPress article to Hashnode.&lt;/li&gt;
&lt;li&gt;Set the canonical URL to your WordPress blog to avoid SEO duplication.&lt;/li&gt;
&lt;li&gt;Add your Hashnode link to your WordPress sidebar or footer to encourage exploration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows your content to live on your domain while benefiting from Hashnode’s built-in discovery and developer audience.&lt;/p&gt;




&lt;h3&gt;
  
  
  5️⃣ Hashnode → LinkedIn: Closing the Loop 🔁
&lt;/h3&gt;

&lt;p&gt;Finally, bring the journey back to LinkedIn.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every time you publish on Hashnode, share it as a LinkedIn post.&lt;/li&gt;
&lt;li&gt;Summarize the key insight, tag relevant people or communities, and invite others to read or comment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This step reconnects your growing content ecosystem to your professional network, completing the circular loop.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧭 Why This Protocol Works
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ Multiple Discovery Points — Each platform attracts a different audience. Linking them creates multiple entry paths to your content.&lt;/li&gt;
&lt;li&gt;✅ Audience Retention — Readers can follow you across platforms easily, increasing your visibility.&lt;/li&gt;
&lt;li&gt;✅ SEO Boost — Proper use of canonical links + cross-linking enhances rankings over time.&lt;/li&gt;
&lt;li&gt;✅ Low Maintenance — You don’t need complex automation; just a clear flow.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚡ Quick Start Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add LinkedIn link to GitHub bio &amp;amp; README&lt;/li&gt;
&lt;li&gt;Feature Dev.to blog on LinkedIn&lt;/li&gt;
&lt;li&gt;Import Dev.to → WordPress&lt;/li&gt;
&lt;li&gt;Cross-post WordPress → Hashnode with canonical URL&lt;/li&gt;
&lt;li&gt;Share Hashnode → LinkedIn&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;You don’t need to reinvent the wheel to build your online presence as an engineer.&lt;br&gt;
By connecting your existing profiles through a simple circular flow, you can turn scattered content into a powerful personal brand engine.&lt;/p&gt;

&lt;p&gt;Start with one article. Follow the loop. Let your work speak for itself across platforms.&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>github</category>
      <category>career</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
