<?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: Srikannan</title>
    <description>The latest articles on DEV Community by Srikannan (@devvops).</description>
    <link>https://dev.to/devvops</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%2F3981147%2Fe46a4cce-dfc7-45e1-a6eb-e828768d70c0.png</url>
      <title>DEV Community: Srikannan</title>
      <link>https://dev.to/devvops</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devvops"/>
    <language>en</language>
    <item>
      <title>I posted about the same problem on Social media for 4 weeks before writing any code. Here is what I found.</title>
      <dc:creator>Srikannan</dc:creator>
      <pubDate>Fri, 19 Jun 2026 08:00:07 +0000</pubDate>
      <link>https://dev.to/devvops/i-posted-about-the-same-problem-on-social-media-for-4-weeks-before-writing-any-code-here-is-what-i-fal</link>
      <guid>https://dev.to/devvops/i-posted-about-the-same-problem-on-social-media-for-4-weeks-before-writing-any-code-here-is-what-i-fal</guid>
      <description>&lt;p&gt;I am building a B2B developer tool.&lt;/p&gt;

&lt;p&gt;Six weeks ago I made a decision that felt uncomfortable at the time:-&lt;br&gt;
I would spend a full month talking to potential users before &lt;br&gt;
touching the codebase.&lt;/p&gt;

&lt;p&gt;No mockups. No landing page. No code.&lt;br&gt;
Just conversations.&lt;/p&gt;

&lt;p&gt;Here is what actually happened.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I did this
&lt;/h2&gt;

&lt;p&gt;I had a problem I wanted to solve.&lt;br&gt;
I had experienced it myself.&lt;br&gt;
I was convinced other people felt it too.&lt;/p&gt;

&lt;p&gt;That conviction felt like validation.&lt;br&gt;
It was not.&lt;/p&gt;

&lt;p&gt;Feeling strongly that a problem exists is not the same as understanding who feels it, how badly, and whether they would pay someone else to solve it.&lt;/p&gt;

&lt;p&gt;I had seen too many developers including myself in past projects build something for six months based on personal conviction and launch it to silence.&lt;/p&gt;

&lt;p&gt;This time I wanted real signal before real investment.&lt;/p&gt;




&lt;h2&gt;
  
  
  The method
&lt;/h2&gt;

&lt;p&gt;I picked the communities where my target users spend time.&lt;/p&gt;

&lt;p&gt;Posted genuine questions about the problem space. Not about solutions. Not about what I was building. Just about the pain.&lt;/p&gt;

&lt;p&gt;Then I read every reply carefully. Not for validation.&lt;br&gt;
For pattern recognition.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I found three completely different groups
&lt;/h2&gt;

&lt;p&gt;I expected to find one audience.&lt;br&gt;
I found three.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group 1 — "This isn't a problem if you set it up correctly"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The largest group by volume of replies.&lt;/p&gt;

&lt;p&gt;These are experienced practitioners who have already solved the problem their own way. &lt;br&gt;
They have built internal tooling, established processes, and accumulated deep expertise over years.&lt;/p&gt;

&lt;p&gt;When I described the pain I was exploring they did not recognize it as pain. They recognized it as a skill gap.&lt;/p&gt;

&lt;p&gt;Their reply was essentially: &lt;br&gt;
learn the tools better and this goes away.&lt;/p&gt;

&lt;p&gt;They are not wrong. They are also not my customer.&lt;/p&gt;

&lt;p&gt;High expertise means low pain means low willingness to pay for a solution to something they have already solved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group 2 — "Yes it is painful but we have accepted it"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The second largest group.&lt;/p&gt;

&lt;p&gt;These people feel the friction daily.&lt;br&gt;
They have tried to fix it.&lt;br&gt;
Hit walls.&lt;br&gt;
And eventually made peace with the situation as permanent.&lt;/p&gt;

&lt;p&gt;The most common phrase from this group: "That is just how it works."&lt;/p&gt;

&lt;p&gt;This group is interesting because the pain is real and present.&lt;br&gt;
But acceptance has killed urgency.&lt;/p&gt;

&lt;p&gt;To sell to Group 2 you do not need a better product.&lt;br&gt;
You need to break their belief that the situation is unfixable.&lt;/p&gt;

&lt;p&gt;That is a marketing problem as much as a product problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group 3 — "I have no idea how to fix this and it costs us time every week"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The smallest group by volume.&lt;br&gt;
The loudest pain.&lt;br&gt;
The only ones who asked follow-up questions.&lt;/p&gt;

&lt;p&gt;These are the people sitting with a problem they cannot solve, watching it cost them time repeatedly, with no clear path forward.&lt;/p&gt;

&lt;p&gt;They are not waiting for awareness.&lt;br&gt;
They are waiting for a solution that actually exists.&lt;/p&gt;

&lt;p&gt;These are my people.&lt;/p&gt;




&lt;h2&gt;
  
  
  The uncomfortable insight
&lt;/h2&gt;

&lt;p&gt;I spent four weeks looking for validation.&lt;/p&gt;

&lt;p&gt;What I found instead was that the community I was targeting was mostly made up of people who were not my customer.&lt;/p&gt;

&lt;p&gt;Group 1 pushed back hard on the premise of my posts. Some were dismissive. Some were genuinely helpful.&lt;br&gt;
All of them confirmed they did not need what I was building.&lt;/p&gt;

&lt;p&gt;Group 2 agreed with the problem but had already stopped looking for solutions.&lt;/p&gt;

&lt;p&gt;Only Group 3 maybe 10 to 15 percent of respondents showed the combination of pain and openness that makes someone a real potential customer.&lt;/p&gt;

&lt;p&gt;If I had read only the volume of responses, I would have concluded the market did not exist.&lt;/p&gt;

&lt;p&gt;Reading the quality and pattern of responses told a different story.&lt;/p&gt;




&lt;h2&gt;
  
  
  What changed in how I am building
&lt;/h2&gt;

&lt;p&gt;Before the research I was building for the average user in the community.&lt;/p&gt;

&lt;p&gt;After the research I am building specifically for Group 3.&lt;/p&gt;

&lt;p&gt;That sounds obvious in retrospect. It was not obvious before.&lt;/p&gt;

&lt;p&gt;Group 3 has different needs than the experienced practitioners in Group 1.&lt;/p&gt;

&lt;p&gt;They do not want to learn the internals. They want the internals explained to them in plain language.&lt;/p&gt;

&lt;p&gt;They do not want more configuration options.&lt;br&gt;
They want fewer decisions to make.&lt;/p&gt;

&lt;p&gt;They do not want a powerful tool that rewards expertise.&lt;br&gt;
They want something that works without requiring them to become an expert.&lt;/p&gt;

&lt;p&gt;This changed several product decisions I had already made.&lt;br&gt;
Some features I was excited to build became irrelevant.&lt;br&gt;
Some I had deprioritized became critical.&lt;/p&gt;

&lt;p&gt;Four weeks of conversations saved me from building the wrong version of the right product.&lt;/p&gt;




&lt;h2&gt;
  
  
  The thing I did not expect
&lt;/h2&gt;

&lt;p&gt;The pushback from Group 1 was valuable in a way I did not anticipate.&lt;/p&gt;

&lt;p&gt;Their objections became my objection-handling script.&lt;/p&gt;

&lt;p&gt;Every time an experienced user said "just do X and this problem goes away" they were telling me exactly what my product needed to address for the cases where X does not work.&lt;/p&gt;

&lt;p&gt;The critics gave me the edge cases.&lt;br&gt;
The edge cases became the product.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I would do differently
&lt;/h2&gt;

&lt;p&gt;Start with lurking, not posting.&lt;/p&gt;

&lt;p&gt;I spent the first week posting questions.&lt;br&gt;
I should have spent it reading existing threads to understand the language the community uses to describe the problem.&lt;/p&gt;

&lt;p&gt;Language matters more than I expected.&lt;/p&gt;

&lt;p&gt;The words your customer uses to describe their pain are not always the words you use to describe what you are solving.&lt;/p&gt;

&lt;p&gt;Finding that gap early would have made my posts sharper from day one.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where I am now
&lt;/h2&gt;

&lt;p&gt;Six weeks in. Product half built.&lt;/p&gt;

&lt;p&gt;The research did not validate my idea.&lt;br&gt;
It refined it.&lt;/p&gt;

&lt;p&gt;I know exactly who I am building for.&lt;br&gt;
I know what they need.&lt;br&gt;
I know what objections I will face.&lt;br&gt;
I know which features matter and which ones &lt;br&gt;
I was building for myself not for them.&lt;/p&gt;

&lt;p&gt;That is worth four weeks of uncomfortable conversations on the internet.&lt;/p&gt;




&lt;p&gt;If you are pre-product and thinking about doing something similar do it.&lt;/p&gt;

&lt;p&gt;But read the replies for patterns not for validation. The patterns are where the real signal lives.&lt;/p&gt;

&lt;p&gt;What did you find when you talked to users before building?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Building a developer tool in public. &lt;br&gt;
Writing about what I find along the way.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cicd</category>
      <category>devops</category>
      <category>software</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Your Jenkins build failed. Now what?</title>
      <dc:creator>Srikannan</dc:creator>
      <pubDate>Tue, 16 Jun 2026 08:30:41 +0000</pubDate>
      <link>https://dev.to/devvops/your-jenkins-build-failed-now-what-4d1a</link>
      <guid>https://dev.to/devvops/your-jenkins-build-failed-now-what-4d1a</guid>
      <description>&lt;p&gt;A realistic walkthrough of what actually happens next and where teams lose the most time.&lt;/p&gt;

&lt;p&gt;Let me describe a scene that happens hundreds of times &lt;br&gt;
a day across engineering teams worldwide.&lt;/p&gt;

&lt;p&gt;It's 2:47 PM. A Slack message appears:&lt;/p&gt;

&lt;p&gt;"Build failed - backend-service #1847"&lt;/p&gt;

&lt;p&gt;What happens next is where things get interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  The notification tells you nothing useful
&lt;/h2&gt;

&lt;p&gt;The alert tells you the build failed.&lt;br&gt;
It doesn't tell you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which stage failed&lt;/li&gt;
&lt;li&gt;Whether it's a real failure or a flaky test&lt;/li&gt;
&lt;li&gt;Whether this has happened before&lt;/li&gt;
&lt;li&gt;Who on the team is best placed to fix it&lt;/li&gt;
&lt;li&gt;How urgent it actually is&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the first thing every developer does is open Jenkins.&lt;/p&gt;




&lt;h2&gt;
  
  
  The log problem
&lt;/h2&gt;

&lt;p&gt;A typical Jenkins build log in 2026 is between 2,000 &lt;br&gt;
and 15,000 lines long.&lt;/p&gt;

&lt;p&gt;It contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dependency resolution output (usually 60% of the log)&lt;/li&gt;
&lt;li&gt;Compilation steps&lt;/li&gt;
&lt;li&gt;Test output&lt;/li&gt;
&lt;li&gt;Docker layer pulls&lt;/li&gt;
&lt;li&gt;The actual error (usually in the last 5%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The error that caused the failure is almost never &lt;br&gt;
at the top. It's buried. Usually near the bottom. &lt;br&gt;
Often wrapped in a stack trace that points somewhere &lt;br&gt;
misleading.&lt;/p&gt;

&lt;p&gt;So the investigation starts with Ctrl+F.&lt;/p&gt;

&lt;p&gt;Search for "ERROR". Get 47 matches.&lt;br&gt;
Search for "FAILED". Get 12 matches.&lt;br&gt;
Start reading each one to find the real one.&lt;/p&gt;

&lt;p&gt;This process takes between 5 minutes and 2 hours &lt;br&gt;
depending on the failure type.&lt;/p&gt;




&lt;h2&gt;
  
  
  The repeat investigation problem
&lt;/h2&gt;

&lt;p&gt;Here's what makes this worse.&lt;/p&gt;

&lt;p&gt;The same failure often happens multiple times before &lt;br&gt;
anyone fixes the root cause.&lt;/p&gt;

&lt;p&gt;A flaky integration test fails on Monday. Developer &lt;br&gt;
re-runs it. It passes. Closed.&lt;/p&gt;

&lt;p&gt;It fails again Wednesday. Different developer. &lt;br&gt;
Spends 20 minutes investigating the same thing &lt;br&gt;
the first developer already investigated. &lt;br&gt;
Re-runs it. Passes. Closed.&lt;/p&gt;

&lt;p&gt;Fails again Friday.&lt;/p&gt;

&lt;p&gt;Nobody connected these three events because Jenkins &lt;br&gt;
doesn't connect them. Each failure is a fresh ticket &lt;br&gt;
with no history.&lt;/p&gt;

&lt;p&gt;The total investigation time across three developers: &lt;br&gt;
45 minutes. For one flaky test that nobody fixed.&lt;/p&gt;




&lt;h2&gt;
  
  
  The notification gap
&lt;/h2&gt;

&lt;p&gt;Most teams have one of three setups:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup A:&lt;/strong&gt; Email when build fails.&lt;br&gt;
Result: developer opens email 3 hours later.&lt;br&gt;
Build has been broken all afternoon.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup B:&lt;/strong&gt; Slack notification with build link.&lt;br&gt;
Result: developer clicks link, opens Jenkins, &lt;br&gt;
reads logs, spends 15-20 min figuring out what happened.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup C:&lt;/strong&gt; PagerDuty for critical pipelines.&lt;br&gt;
Result: someone gets woken up and still has to &lt;br&gt;
read the logs to know what to do.&lt;/p&gt;

&lt;p&gt;All three have the same problem.&lt;br&gt;
The notification tells you something broke.&lt;br&gt;
Nothing tells you what to do next.&lt;/p&gt;




&lt;h2&gt;
  
  
  What actually helps
&lt;/h2&gt;

&lt;p&gt;The teams I've seen handle this well do a few things:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They categorize failures automatically.&lt;/strong&gt;&lt;br&gt;
Not just pass/fail. They know whether a failure is &lt;br&gt;
a dependency issue, a test failure, an infrastructure &lt;br&gt;
issue, or something else. This alone cuts investigation &lt;br&gt;
time significantly because you know where to look.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They track failure patterns across builds.&lt;/strong&gt;&lt;br&gt;
A test that fails 3 times in a week is a different &lt;br&gt;
problem than a test that failed once. Teams that &lt;br&gt;
catch patterns early fix things before they become &lt;br&gt;
daily interruptions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They give developers context before they open Jenkins.&lt;/strong&gt;&lt;br&gt;
The best failure notifications include a short plain-English &lt;br&gt;
summary of what failed and why not just a link to 10,000 &lt;br&gt;
lines of logs.&lt;/p&gt;




&lt;h2&gt;
  
  
  The question worth asking your team
&lt;/h2&gt;

&lt;p&gt;How long did your team spend last week just reading &lt;br&gt;
Jenkins logs?&lt;/p&gt;

&lt;p&gt;Not fixing things. Just reading logs to understand &lt;br&gt;
what happened.&lt;/p&gt;

&lt;p&gt;Most teams have never measured this number.&lt;br&gt;
The ones who do are usually surprised.&lt;/p&gt;




&lt;p&gt;What does your build failure workflow look like?&lt;br&gt;
Have you found anything that actually reduces &lt;br&gt;
the time between alert and knowing what to do?&lt;/p&gt;

</description>
      <category>jenkins</category>
      <category>cicd</category>
      <category>devops</category>
      <category>software</category>
    </item>
    <item>
      <title>What's the most painful part of Jenkins that you've just accepted as "how it is"?</title>
      <dc:creator>Srikannan</dc:creator>
      <pubDate>Fri, 12 Jun 2026 11:48:30 +0000</pubDate>
      <link>https://dev.to/devvops/whats-the-most-painful-part-of-jenkins-that-youve-just-accepted-as-how-it-is-1bb9</link>
      <guid>https://dev.to/devvops/whats-the-most-painful-part-of-jenkins-that-youve-just-accepted-as-how-it-is-1bb9</guid>
      <description>&lt;p&gt;Been using Jenkins for 3 years. There are things I complain &lt;br&gt;
about but have never actually tried to fix because it felt &lt;br&gt;
like "just how Jenkins works."&lt;/p&gt;

&lt;p&gt;For me:&lt;br&gt;
Build logs that require a PhD to read&lt;br&gt;
No idea which builds are consistently flaky vs actually broken&lt;br&gt;
Plugin updates that feel like Russian roulette&lt;/p&gt;

&lt;p&gt;What have you just accepted and stopped fighting?&lt;/p&gt;

</description>
      <category>jenkins</category>
      <category>cicd</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
