<?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: Pavanipriya Sajja</title>
    <description>The latest articles on DEV Community by Pavanipriya Sajja (@priya_sajja_c336921bbda87).</description>
    <link>https://dev.to/priya_sajja_c336921bbda87</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%2F3663489%2Ffc9f6749-de83-48c9-80a9-dc341ec2a7ff.png</url>
      <title>DEV Community: Pavanipriya Sajja</title>
      <link>https://dev.to/priya_sajja_c336921bbda87</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/priya_sajja_c336921bbda87"/>
    <language>en</language>
    <item>
      <title>Stop Reading Documentation. Start Reading GitHub Issues.</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Wed, 03 Jun 2026 22:24:28 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/stop-reading-documentation-start-reading-github-issues-1a6k</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/stop-reading-documentation-start-reading-github-issues-1a6k</guid>
      <description>&lt;p&gt;Reading the docs isn't enough. The most valuable developer feedback lives inside GitHub issues, bug reports, and feature discussions. In this article, I share the &lt;strong&gt;checklist I use to mine repositories and coding frame work for the issue&lt;/strong&gt;, uncover real developer pain points, and turn engineering conversations into meaningful UX research findings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Coding Is the Difference Between Reading and Researching
&lt;/h2&gt;

&lt;p&gt;Reading GitHub issues without a coding framework produces impressions. Coding them produces findings.&lt;/p&gt;

&lt;p&gt;When you code an issue, you are making an explicit analytical decision about what type of signal it contains. You are saying: &lt;em&gt;"This issue is evidence of a feedback gap at Stage 4 (model loading), filed by an ML engineer with a new user experience level, in KServe v0.11, and it directly answers my research question about what information engineers need during model loading that the product currently does not provide."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That sentence assembled from your coding decisions is a finding. Multiply it across 100 issues and you have a research study.&lt;/p&gt;

&lt;p&gt;Without coding, you have 100 anecdotes. With coding, you have a dataset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It makes patterns visible.&lt;/strong&gt; When you code 20 issues and notice that 14 of them map to the same stage and the same challenge type, you have found your highest-priority UX problem. You would never see that pattern by reading casually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It makes your findings defensible.&lt;/strong&gt; "Engineers struggle with KServe" is an opinion. "18 issues across v0.10–v0.13 filed by engineers in their first deployment show identical feedback gap patterns at Stage 4, with an average of 14 comments per issue" is a finding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It separates your role from the engineer's role.&lt;/strong&gt; Engineers read GitHub issues as bug reports. You read them as evidence of design decisions. The coding framework is the analytical lens that makes your UX reading possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 1: Collect Basic GitHub Metadata
&lt;/h2&gt;

&lt;p&gt;Before any analysis, capture the foundational data for every issue. This establishes the quantitative baseline for your research report.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Issue Metadata Checklist
─────────────────────────────────────────────
[ ] Issue URL / Number        e.g. #1234
[ ] Issue creation date
[ ] Issue category            Bug | Question | Feature Request | Docs
[ ] Labels                    e.g. InferenceService, Control Plane, Kubernetes
[ ] Current state             Open | Closed | Stale | Merged
[ ] Resolution type           Code Fix | Docs Update | Workaround | No resolution
[ ] Total comment count
[ ] Unique commenter count
[ ] Ping-pong count           Back-and-forth before root cause found
[ ] Brief issue summary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The "ping-pong count" — the number of back-and-forth diagnostic comments between the user and maintainers before the root cause was identified — is a particularly powerful metric. High ping-pong means the product gave the user no diagnostic signal. That is a UX failure in the product itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Identify Who Is Reporting — The Demographics Checklist
&lt;/h2&gt;

&lt;p&gt;Understanding user demographics is essential in any research project because it tells you whose problems to prioritise. In interviews or surveys, you simply ask. In GitHub mining, you have to infer from signals embedded in the issue itself.&lt;/p&gt;

&lt;p&gt;In the context of KServe, we are primarily trying to distinguish between three main personas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technique 1: Read the vocabulary
&lt;/h3&gt;

&lt;p&gt;The language engineers use tells you their world immediately.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Persona&lt;/th&gt;
&lt;th&gt;Typical keywords&lt;/th&gt;
&lt;th&gt;What they focus on&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data Scientist / ML Engineer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PyTorch, TensorFlow, HuggingFace, weights, predictor, artifact, S3, inputs/outputs&lt;/td&gt;
&lt;td&gt;The model itself — getting a Python script to serve predictions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Platform / DevOps Engineer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CRDs, Istio, Knative, ingress, RBAC, service account, Helm, multi-cluster, HPA&lt;/td&gt;
&lt;td&gt;Infrastructure, networking, security, cluster stability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Application Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;REST API, gRPC, JSON payload, curl, SDK, timeout, 503 error, endpoint&lt;/td&gt;
&lt;td&gt;Consuming the model — integrating the endpoint into a larger application&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Technique 2: Look at the "altitude" of the problem
&lt;/h3&gt;

&lt;p&gt;KServe issues typically fall into three abstraction layers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure/cluster layer&lt;/strong&gt; — Kubernetes, Istio, Knative, CRDs → Platform Engineer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pipeline/deployment layer&lt;/strong&gt; — model formats, runtimes, autoscaling, vLLM/Triton config → ML Engineer
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consumption layer&lt;/strong&gt; — API latency, authentication, payloads, querying from an app → App Developer&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Technique 3: Read what they attached as evidence
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Platform engineers&lt;/strong&gt; dump &lt;code&gt;kubectl describe&lt;/code&gt; outputs, cluster events, Helm values files, or Istio configurations — they speak in Kubernetes YAML&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data scientists&lt;/strong&gt; share Python stack traces, Jupyter Notebook snippets, or InferenceService configuration blocks without knowing what the pods underneath are doing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;App developers&lt;/strong&gt; provide curl commands, Postman logs, or application server logs showing connection timeouts&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Technique 4: Ask "what are they trying to accomplish?"
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;"I just want to see if my new LLM works with this payload"&lt;/em&gt; → ML consumer/creator&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"I am trying to automate onboarding of 50 teams onto a shared KServe instance"&lt;/em&gt; → Platform builder&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Quick triage question:&lt;/strong&gt; Is this person treating KServe as an &lt;em&gt;infrastructure component&lt;/em&gt; or as a &lt;em&gt;model-delivery tool&lt;/em&gt;? Infrastructure → Platform/DevOps. Model-delivery → Data Scientist/ML Engineer.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Demographics Checklist
─────────────────────────────────────────────
[ ] Inferred user persona
      Data Scientist / ML Engineer
      Platform / DevOps Engineer
      Application Developer
      ML-expert / K8s-novice  ← the hardest edge case
      Unclear

[ ] Experience level
      New user (first issues, plain English, no version info)
      Experienced (provides full env, logs, rules out causes)
      Unclear

[ ] Deployment environment
      Local (Kind / Minikube)
      Cloud managed (EKS / GKE / AKS)
      On-premises / bare metal

[ ] Deployment scale
      Single-cluster
      Multi-cluster
      Multi-tenant

[ ] Deployment method
      Helm | Kustomize | ArgoCD / GitOps | Direct kubectl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The hardest edge case:&lt;/strong&gt; ML-experienced / Kubernetes-novice engineers. They write technically confident issues about model formats or serving runtimes — but are completely confused about Istio or Knative. Always code these as a separate category — they reveal a completely different class of UX failure.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 3: Identify Issues Using Plain-Language Signals
&lt;/h2&gt;

&lt;p&gt;The key insight for non-technical UX researchers: &lt;strong&gt;you do not need to understand the technical content of an issue to identify its UX signal.&lt;/strong&gt; The signals are in the language, not the configuration.&lt;/p&gt;

&lt;p&gt;Here is how to read any issue in under two minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signal 1: Time language → friction severity
&lt;/h3&gt;

&lt;p&gt;Scan for time words before you read anything else.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Time word&lt;/th&gt;
&lt;th&gt;Severity&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"minutes"&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Minor gap, quickly resolved&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"hours"&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Significant friction, real work lost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"days"&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Severe friction, deadline impact&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"weeks" / "months"&lt;/td&gt;
&lt;td&gt;Critical&lt;/td&gt;
&lt;td&gt;Product-level failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"gave up" / "switching to X"&lt;/td&gt;
&lt;td&gt;Abandonment&lt;/td&gt;
&lt;td&gt;User is leaving&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; &lt;em&gt;"I've spent the last three days trying to figure out why my model stays in Unknown status."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You do not need to know what Unknown status means. "Three days" tells you this is a high-severity finding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signal 2: The "but" inflection point
&lt;/h3&gt;

&lt;p&gt;Every friction-revealing issue has the word "but" at a specific moment. Everything before "but" is what the engineer did correctly. Everything after is where the product failed them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; "I followed the quickstart exactly &lt;strong&gt;but&lt;/strong&gt; the webhook never became Ready."&lt;/p&gt;

&lt;p&gt;Before "but" = user followed instructions. After "but" = product gave instructions that led to failure. That is a documentation UX finding, not a technical bug.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; "The status shows Ready &lt;strong&gt;but&lt;/strong&gt; every curl request returns 503."&lt;/p&gt;

&lt;p&gt;This is the "misleading success" friction type, the product declared success when the user's actual goal was completely unmet. One of the most trust-destroying UX failures possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signal 3: "I thought / I assumed / I expected"
&lt;/h3&gt;

&lt;p&gt;These phrases directly reveal a &lt;strong&gt;mental model gap&lt;/strong&gt; — the engineer built an incorrect picture of how the system works, and reality contradicted it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; &lt;em&gt;"I thought Transformer meant a language model component like BERT. Turns out it's just data preprocessing."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is not a bug. It is a naming failure. "Transformer" means attention-based neural architecture in the ML world. KServe uses it to mean "a component that preprocesses data before the model." Every ML engineer who encounters this name builds the wrong mental model from it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; &lt;em&gt;"I assumed KServe would track model versions automatically — like a proper ML serving platform should."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is scope confusion — the engineer's expectation of what KServe is does not match what it actually is. That mismatch is a design communication failure, not a user error.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signal 4: "I had to / I also had to"
&lt;/h3&gt;

&lt;p&gt;Each "I had to" signals a missing workflow step — something the engineer needed that the product should have provided.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; &lt;em&gt;"I had to write a polling script to check when the InferenceService became Ready, because there's no built-in wait command."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Count the "I had to" chains in an issue. An issue with four of them put four separate manual burdens on an engineer for a task that should have been automated.&lt;/p&gt;

&lt;h3&gt;
  
  
  Signal 5: Tool name count
&lt;/h3&gt;

&lt;p&gt;Scan for capitalized tool names: Knative, Istio, Prometheus, MLflow, Argo, Triton, HuggingFace. Count them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1 tool&lt;/strong&gt; — single-product issue&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2 tools&lt;/strong&gt; — integration friction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3+ tools&lt;/strong&gt; — cross-service challenge; the user must navigate multiple systems for what should be one task&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Signal 6: The apology
&lt;/h3&gt;

&lt;p&gt;When an engineer writes "sorry if this is a basic question" — that is not politeness. That is evidence the product made a competent person feel responsible for the product's communication failure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: The End-to-End Coding Checklist
&lt;/h2&gt;

&lt;p&gt;Once you have your basic metadata and demographics, here is the full coding structure to apply to every issue.&lt;/p&gt;




&lt;h3&gt;
  
  
  4A. Deployment Stage
&lt;/h3&gt;

&lt;p&gt;Map every issue to one of 8 stages. This tells you where in the journey the product is losing engineers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Deployment Stage Checklist
─────────────────────────────────────────────
[ ] Stage 1 · Setup         Installing KServe and dependencies
                             Signals: "webhook not ready" · "quickstart fails"

[ ] Stage 2 · Storage       Getting the trained model accessible
                             Signals: "access denied" · "model not found" · "storageUri"

[ ] Stage 3 · Configuration Writing the InferenceService YAML spec
                             Signals: "minimum config?" · "deprecated field" · "required fields?"

[ ] Stage 4 · Loading       Applying config and waiting for model to load
                             Signals: "Unknown status" · "how long?" · "no logs" · "OOMKilled"

[ ] Stage 5 · Network       Reaching the deployed endpoint
                             Signals: "Ready but 503" · "connection refused" · "EXTERNAL-IP pending"

[ ] Stage 6 · Inference     Sending requests and getting predictions back
                             Signals: "400 error" · "what format?" · "V1 vs V2 protocol"

[ ] Stage 7 · Hardening     Making the deployment production-reliable
                             Signals: "zero downtime update" · "autoscaling conflict" · "SLA"

[ ] Stage 8 · Day-2 ops     Updating, monitoring, governing over time
                             Signals: "rollback" · "update my model" · "60 models across teams"

[ ] Cross-stage?            Root cause in Stage X, discovered at Stage Y
                             (delayed discovery = highest severity finding)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The most important finding:&lt;/strong&gt; Stages 4 and 5 consistently produce the highest issue volume in K-Serve. The product is completely silent at the two moments when engineers are most anxious and most blind.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  4B. Usability Challenge Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Usability Challenge Checklist
─────────────────────────────────────────────
[ ] U1 · Learnability breakdown
         Cannot figure out how to do the task the first time
         Signal: "how do I" · already answered in docs · confused by concepts

[ ] U2 · Error recovery failure
         Hits error, can't understand it, doesn't know which log to check
         Signal: pastes cryptic error, "stuck for days", tries random things

[ ] U3 · Feedback &amp;amp; visibility gap
         System gives no signal — Unknown, Pending, complete silence
         Signal: "nothing happens" · "how long should this take?" · "no logs"

[ ] U4 · Configuration complexity
         Too many fields, unclear defaults, no minimum viable spec
         Signal: "is all of this needed?" · "which fields are required?"

[ ] U5 · Mental model mismatch
         Expectation contradicts how system actually works
         Signal: "I expected" · "I thought" · "this makes no sense"

[ ] U6 · Workaround proliferation
         User invented their own solution to fill a product gap
         Signal: "I wrote a script" · "I had to" · shared snippets in comments
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4C. Developer Friction Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Developer Friction Checklist
─────────────────────────────────────────────
[ ] F1 · Invisible wall        System silent — nothing to debug
[ ] F2 · Misleading success    "Ready" but goal completely unmet
[ ] F3 · Hidden prerequisite   Required knowledge never communicated until failure
[ ] F4 · Terminology confusion Word means something different in this context
[ ] F5 · Broken feedback loop  Can't tell if a change had any effect
[ ] F6 · Forced context switch Must configure Istio/Knative to complete one KServe task
[ ] F7 · Documentation gap     Knows what they want, can't find how to do it
[ ] F8 · Accumulated friction  5–6 small frictions in sequence → abandonment signal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4D. System &amp;amp; Environmental Challenges
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;System Challenge Checklist
─────────────────────────────────────────────
[ ] Ownership ambiguity    KServe says "that's Istio", Istio says "that's KServe"
[ ] Abstraction leakage    InferenceService was meant to hide Knative/Istio; it doesn't
[ ] Observability gap      Logs scattered across 4+ components; no unified view
[ ] Role boundary collision ML engineer task structurally requires platform engineer action
[ ] Upgrade path fragility  Every version upgrade risks production breakage

Environmental Challenge Checklist
─────────────────────────────────────────────
[ ] Managed K8s divergence   EKS, GKE Autopilot, OpenShift behave differently
[ ] Corporate proxy / air-gap No public internet; private registry; air-gapped
[ ] GPU &amp;amp; hardware           OOMKilled, VRAM insufficient, driver mismatch
[ ] Org security policy      OPA, Gatekeeper, PodSecurityAdmission blocking KServe
[ ] On-premises / hybrid     No managed LoadBalancer, NFS storage, bare metal
[ ] Regulated / compliance   HIPAA, SOC2, GDPR, data residency requirements
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4E. Version Tracking (Essential for Progress Measurement)
&lt;/h3&gt;

&lt;p&gt;This is what transforms your research from a snapshot into a longitudinal UX health report.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Version Tracking Checklist
─────────────────────────────────────────────
[ ] KServe version (exact)         e.g. 0.11.2
[ ] Previous version (if upgrade)  e.g. 0.10 → 0.11
[ ] Kubernetes version             e.g. 1.27
[ ] Cloud provider                 EKS / GKE / AKS / On-prem / Local
[ ] Version stated by:             User upfront | Maintainer had to ask | Never provided
[ ] Upgrade experience:            Better | Same | Worse | New regression introduced
[ ] Chronic pain signal:           Same issue present in prior version? Yes / No
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The chronic problem list&lt;/strong&gt; — friction points that appear in the top-3 across three or more versions — is your most powerful finding. A problem that survived three release cycles is not a bug. It is an architectural decision.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  4F. LLM Inference Tracking (Track Separately — Fastest Moving Component)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM Inference Checklist
─────────────────────────────────────────────
[ ] Is this an LLM issue?          Yes | No | Hybrid
[ ] LLM model family               Llama | Mistral | Qwen | Gemma | Custom
[ ] LLM runtime                    vLLM | TGI | OpenAI-compatible | Custom
[ ] Capability attempted:
      Basic inference
      Streaming tokens (SSE)
      Multi-GPU / tensor parallelism
      LoRA / adapter serving
      HuggingFace Hub authentication
      OpenAI API compatibility
      Quantisation (GPTQ, AWQ)

[ ] LLM-specific challenge:
      GPU OOM / VRAM insufficient
      Model loading with no progress signal
      Streaming failure through gateway
      HuggingFace auth failing in cluster
      Runtime version lag behind vLLM/TGI ecosystem
      No LLM-specific metrics (token throughput, TTFT)

[ ] Innovation lag signal:
      Date of capability request: ___________
      Date KServe released support: ___________
      Gap (days): ___________
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4G. Research Question Mapping
&lt;/h3&gt;

&lt;p&gt;For each issue, record which research question it provides evidence for. This anchors your mining to your study goals.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Research Question Mapping
─────────────────────────────────────────────
Current-state questions (what is broken today)
[ ] RQ1 · First deployment challenges across roles and experience levels
[ ] RQ2 · Workflow gaps between deployed model and reliable production
[ ] RQ3 · Observability and debugging challenges by stage
[ ] RQ4 · LLM deployment challenges vs classical ML serving
[ ] RQ5 · Environmental factors shaping deployment experience
[ ] RQ6 · How challenges evolved across versions (your unique longitudinal contribution)
[ ] RQ7 · Design changes that would most reduce friction

UX improvement questions (what should be designed differently)
[ ] UX1 · Time-to-first-inference reduction
[ ] UX3 · Model loading progress visibility (highest volume finding)
[ ] UX4 · Self-service diagnostic experience
[ ] UX9 · LLM mental model bridge (vLLM/HuggingFace → KServe)
[ ] UX11 · Environment validator / dependency pre-flight checker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4H. UX Finding Template
&lt;/h3&gt;

&lt;p&gt;Once you spot a pattern across multiple issues, record it here. One template per pattern — not per issue.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UX Finding Template
─────────────────────────────────────────────────────────────
Finding type:       ___________________________________________
Affected users:     Role · Experience level · Version band
Deployment stage:   ___________________________________________
Evidence:           N issues · Date range · e.g. "14 issues, 2022–2024"
Best quote:         Under 25 words — your strongest evidence
─────────────────────────────────────────────────────────────
UX finding statement:
"Engineers [doing X] cannot [accomplish Y] because [design gap Z],
 which means [impact on time / confidence / adoption]."
─────────────────────────────────────────────────────────────
Severity:           Low | Medium | High | Critical
Chronic?            Present across ___ versions
Design recommendation: ________________________________________
Research question answered: ___________________________________
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 5: The Session Checklist — Before Calling Mining Complete
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Mining Session Completion Checklist
─────────────────────────────────────────────
Issue coverage
[ ] 50+ general deployment issues coded across all 8 stages
[ ] 30+ LLM inference issues coded and version-tracked
[ ] 10+ issues per major version band (v0.10, v0.11, v0.12, v0.13+)
[ ] 15+ upgrade issues with before/after UX delta recorded
[ ] Top 30 most-commented issues reviewed (sort:comments-desc)
[ ] 10+ abandoned issues (open 6+ months, last message unanswered)
[ ] 15+ success cases (quickly-resolved — positive signal baseline)
[ ] All enhancement/feature-request labels reviewed
[ ] All competitive tool mentions captured (BentoML, Seldon, Ray Serve)

Baseline measurement
[ ] Metrics table filled per version band:
      Issue count | Avg comments | 7-day resolution rate | Emotional language %
[ ] Top-3 friction points per version — chronic problem list built
[ ] LLM innovation lag calculated for 5+ capabilities
[ ] Version reporting rate: % of issues that include version upfront

Quality
[ ] 15% of issues coded by a second researcher (inter-rater reliability)
[ ] Every research question has at least 3 issues as evidence
[ ] One finding statement written per significant pattern found
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  How This Benefits UX Researchers and the Community
&lt;/h2&gt;

&lt;h3&gt;
  
  
  For UX researchers without a technical background
&lt;/h3&gt;

&lt;p&gt;The biggest barrier to studying developer tools as a UX researcher is the assumption that you need to understand the code to understand the problem. This framework removes that barrier entirely.&lt;/p&gt;

&lt;p&gt;When you code an issue, you are not evaluating the correctness of someone's Kubernetes configuration. You are recording what the issue reveals about the &lt;strong&gt;human experience of using the product&lt;/strong&gt;. "Status shows Unknown for 20 minutes" tells you everything you need regardless of whether you understand what Unknown means technically. The product left a user without feedback during its most critical operation. That is a UX finding independent of any technical knowledge.&lt;/p&gt;

&lt;h3&gt;
  
  
  For product managers and maintainers
&lt;/h3&gt;

&lt;p&gt;The coding sheet converts anecdote into pattern. Instead of "users seem to struggle with deployment," you can say "14 of 20 issues sampled from v0.11 show feedback gap failures at Stage 4, with an average of 18 comments per issue, suggesting loading state communication is the highest-priority improvement target for this version band."&lt;/p&gt;

&lt;p&gt;That is a product roadmap argument. The coding sheet built it.&lt;/p&gt;

&lt;h3&gt;
  
  
  For open source contributors
&lt;/h3&gt;

&lt;p&gt;The research questions embedded in the coding sheet map directly to design recommendations with evidence behind them. A contributor who wants to make a meaningful impact on user experience now has specific, evidence-backed targets — not "improve docs" but "add granular status conditions per loading phase that distinguish between 10 failure modes currently all reporting as Unknown."&lt;/p&gt;

&lt;h3&gt;
  
  
  For the community as a whole
&lt;/h3&gt;

&lt;p&gt;When researchers share findings publicly in CNCF Blogs, KubeCon talks, or articles like this one — the coding framework makes the research reproducible. Other researchers can apply the same checklist to a different version or a different tool and compare results. That cumulative body of evidence is what eventually changes product direction.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;GitHub issues are not a bug tracker. They are a longitudinal, naturalistic record of where real engineers encounter the gap between what a product promises and what it delivers.&lt;/p&gt;

&lt;p&gt;A coding sheet is the analytical framework that transforms that record into research. Without it, you are reading. With it, you are studying.&lt;/p&gt;

&lt;p&gt;The framework I built for KServe — covering demographics, deployment stages, usability challenges, friction types, mental model gaps, system challenges, environmental barriers, version tracking, and LLM inference — did not emerge from theory. It emerged from reading hundreds of issues and asking the same question every time: what is the UX researcher's reading of this, beyond what the engineer sees?&lt;/p&gt;

&lt;p&gt;The answer is always the same: engineers see symptoms. The coding sheet helps you see the design decisions that caused them.&lt;/p&gt;

&lt;p&gt;Start with the "but" sentence. Work backwards to the design failure. Code it. Repeat 100 times. Then write the research report.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This coding framework was developed as part of a UX research study on ML model deployment in KServe. If you are working on similar research in the cloud-native or MLOps space, I would love to hear your thoughts.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>github</category>
      <category>devrel</category>
      <category>opensource</category>
      <category>devex</category>
    </item>
    <item>
      <title>Analyzing 1,000 Engineering Problems Through GitHub Data</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Tue, 26 May 2026 05:38:22 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/analyzing-1000-engineering-problems-through-github-data-j0o</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/analyzing-1000-engineering-problems-through-github-data-j0o</guid>
      <description>&lt;p&gt;In my previous article, I wrote about the GitHub mining process in user research and explained how it can benefit engineers, organizations, and open-source communities. Here is the link:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c" class="crayons-story__hidden-navigation-link"&gt;What Developers Don’t Say in Interviews—but Show on GitHub&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/priya_sajja_c336921bbda87" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3663489%2Ffc9f6749-de83-48c9-80a9-dc341ec2a7ff.png" alt="priya_sajja_c336921bbda87 profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/priya_sajja_c336921bbda87" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Pavanipriya Sajja
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Pavanipriya Sajja
                
              
              &lt;div id="story-author-preview-content-3730211" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/priya_sajja_c336921bbda87" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3663489%2Ffc9f6749-de83-48c9-80a9-dc341ec2a7ff.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Pavanipriya Sajja&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c" id="article-link-3730211"&gt;
          What Developers Don’t Say in Interviews—but Show on GitHub
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudnative"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudnative&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devrel"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devrel&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ux"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ux&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;2&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            10 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;In this article, I am going to explain the step-by-step process for conducting the research and creating a report.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 1 Define Research Questions
&lt;/h2&gt;

&lt;p&gt;
Before starting &lt;b&gt;GitHub mining research&lt;/b&gt;, first define the &lt;b&gt;problem you want to understand&lt;/b&gt;. Ask yourself: &lt;b&gt;What challenge am I trying to investigate?&lt;/b&gt; This step helps make the research focused and prevents collecting unnecessary data. For example, in a project like &lt;b&gt;KServe&lt;/b&gt;, you may want to understand &lt;b&gt;why users struggle to deploy models&lt;/b&gt;, &lt;b&gt;what usability issues make onboarding difficult&lt;/b&gt;, &lt;b&gt;which workflows create the most developer frustration&lt;/b&gt;, or &lt;b&gt;what causes deployment failures&lt;/b&gt;. These questions help identify the &lt;b&gt;user experience (UX)&lt;/b&gt; and &lt;b&gt;developer experience (DX)&lt;/b&gt; problems that need deeper investigation.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29vu5cld70kyteu7iyt0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29vu5cld70kyteu7iyt0.png" alt="Define Research Questions" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
After identifying the problem area, create clear &lt;b&gt;research questions&lt;/b&gt; to guide the study. Start with one &lt;b&gt;primary research question&lt;/b&gt; that represents the main goal of the research.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Example Primary Research Question:&lt;/b&gt;&lt;br&gt;
“What usability barriers do users experience while deploying models using KServe?”
&lt;/p&gt;

&lt;p&gt;
Then create several &lt;b&gt;sub-questions&lt;/b&gt; to explore specific areas in more detail, such as:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Which tasks generate the most confusion?&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;What documentation gaps exist?&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Which error messages appear repeatedly?&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;How do developers solve issues?&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
These smaller questions help organize &lt;b&gt;data collection&lt;/b&gt; and &lt;b&gt;analysis&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;
At the end of this stage, your output should include three things:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;Research Objective&lt;/b&gt; — explains the overall purpose of the study.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Research Questions&lt;/b&gt; — define what you want to investigate.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Scope&lt;/b&gt; — sets boundaries for the research by describing what data, users, repositories, workflows, or time period will be included.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Having these clearly defined creates a strong foundation before moving into &lt;b&gt;GitHub data collection and analysis&lt;/b&gt;.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 2 Select the GitHub Data Sources
&lt;/h2&gt;

&lt;p&gt;
When conducting &lt;b&gt;GitHub mining for usability research&lt;/b&gt;, it is important to understand that &lt;b&gt;GitHub contains multiple sources of data&lt;/b&gt;, and each source provides a different perspective on the &lt;b&gt;user experience (UX)&lt;/b&gt; and &lt;b&gt;developer experience (DX)&lt;/b&gt;. Instead of collecting information from everywhere, researchers should &lt;b&gt;prioritize sources that help answer their research questions&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmzd8ro7ndfn03onf6es.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmzd8ro7ndfn03onf6es.png" alt="Select the GitHub Data Sources" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
For example:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;Issues&lt;/b&gt; help uncover &lt;b&gt;user pain points&lt;/b&gt; and reveal where users struggle.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Pull Requests (PRs)&lt;/b&gt; show &lt;b&gt;how problems are fixed&lt;/b&gt; and provide insight into &lt;b&gt;engineering decision-making&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Discussions&lt;/b&gt; help researchers understand &lt;b&gt;user expectations&lt;/b&gt;, questions, and community needs.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Commits&lt;/b&gt; reveal &lt;b&gt;engineering priorities&lt;/b&gt; by showing what teams spend time improving.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Documentation&lt;/b&gt; helps evaluate &lt;b&gt;communication quality&lt;/b&gt; and whether instructions are clear enough for users.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Labels&lt;/b&gt; provide structure by categorizing issues into &lt;b&gt;themes or problem areas&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Comments&lt;/b&gt; often contain valuable insights into &lt;b&gt;user emotions, frustrations, collaboration patterns, and real-world workarounds&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
By combining these sources, researchers can build a &lt;b&gt;more complete understanding of both technical challenges and usability challenges&lt;/b&gt; that users experience.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 3 Create Inclusion and Exclusion Criteria
&lt;/h2&gt;

&lt;p&gt;
When conducting &lt;b&gt;GitHub mining for usability research&lt;/b&gt;, it is important to create clear &lt;b&gt;inclusion and exclusion criteria&lt;/b&gt; before collecting data. This step makes your study &lt;b&gt;systematic, transparent, and reproducible&lt;/b&gt;, which means another researcher could follow the same process and reach similar results. &lt;b&gt;Inclusion criteria&lt;/b&gt; define &lt;b&gt;what data should be included&lt;/b&gt; in the study, while &lt;b&gt;exclusion criteria&lt;/b&gt; define &lt;b&gt;what should be removed&lt;/b&gt; to avoid irrelevant or low-quality information.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp0b7eu485o902jg08f7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp0b7eu485o902jg08f7.png" alt="Create Inclusion and Exclusion Criteria" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
For example, you may decide to include:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;Open and closed issues&lt;/b&gt; because both contain valuable user feedback and problem history.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Deployment-related issues&lt;/b&gt; to understand deployment challenges.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;User questions&lt;/b&gt; to identify confusion and unmet needs.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Documentation complaints&lt;/b&gt; to evaluate communication and onboarding quality.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Feature requests&lt;/b&gt; to understand user expectations and improvement opportunities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
At the same time, you should exclude:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;Spam issues&lt;/b&gt; because they do not provide useful research insights.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Empty issues&lt;/b&gt; with no meaningful information.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Duplicate issues&lt;/b&gt; that repeat the same problem.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Pure backend implementation discussions&lt;/b&gt; that do not relate to user experience or usability goals.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
To make your research process &lt;b&gt;clear and repeatable&lt;/b&gt;, document:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;Time range&lt;/b&gt; of the data collection.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Number of issues selected&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Selection logic&lt;/b&gt; used to choose the dataset.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
For example:
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Dataset Definition:&lt;/b&gt;&lt;br&gt;
“Issues created between &lt;b&gt;January–June 2026&lt;/b&gt;.”
&lt;/p&gt;

&lt;p&gt;
Recording these decisions helps explain &lt;b&gt;how the data was collected&lt;/b&gt; and increases the &lt;b&gt;credibility and reliability&lt;/b&gt; of your research findings.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 4 Data Collection (Mining):
&lt;/h2&gt;

&lt;p&gt;
After defining your &lt;b&gt;research questions&lt;/b&gt; and selecting your &lt;b&gt;data sources&lt;/b&gt;, the next step is to &lt;b&gt;collect the data in a structured way&lt;/b&gt;. A simple and effective approach is to create a &lt;b&gt;spreadsheet&lt;/b&gt; where each row represents one &lt;b&gt;GitHub issue or record&lt;/b&gt;. Organizing data in a spreadsheet makes &lt;b&gt;analysis easier&lt;/b&gt;, helps identify &lt;b&gt;patterns&lt;/b&gt;, and ensures that findings can be &lt;b&gt;traced back to the original source&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;Typical columns may include &lt;strong&gt;ID, Issue Title, Link, Date, Type, Description, Comments, and Labels&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2smbjfrj7ir160zusxv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2smbjfrj7ir160zusxv.png" alt="Data Collection" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
During data collection, capture both &lt;b&gt;metadata&lt;/b&gt; and &lt;b&gt;content details&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;Metadata&lt;/b&gt; includes information such as:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Issue number&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;Whether the issue is &lt;b&gt;open or closed&lt;/b&gt;
&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Author&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;Any &lt;b&gt;labels&lt;/b&gt; attached to the issue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Then collect the &lt;b&gt;content itself&lt;/b&gt; by recording:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Issue description&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Steps to reproduce the problem&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Error messages&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Resolution or final outcome&lt;/b&gt; (if available)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
It is also important to analyze the &lt;b&gt;conversation around the issue&lt;/b&gt;, including:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Maintainer responses&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Community suggestions&lt;/b&gt;&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Workarounds shared by users&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
These interactions often reveal &lt;b&gt;usability challenges&lt;/b&gt; and show &lt;b&gt;how users overcome problems&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;
For example, imagine a GitHub issue titled:
&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;“Deployment stuck after InferenceService creation”&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;
Instead of only recording the issue title, document:
&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
&lt;b&gt;User goal&lt;/b&gt; — what they were trying to achieve&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Failure point&lt;/b&gt; — where the process broke&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Fix&lt;/b&gt; — what solved the issue&lt;/li&gt;
  &lt;li&gt;
&lt;b&gt;Resolution time&lt;/b&gt; — how long it took to resolve&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Capturing data this way transforms &lt;b&gt;GitHub issues into research evidence&lt;/b&gt; that helps uncover &lt;b&gt;user behavior&lt;/b&gt;, &lt;b&gt;developer pain points&lt;/b&gt;, and opportunities to improve &lt;b&gt;usability&lt;/b&gt; and &lt;b&gt;developer experience (DX)&lt;/b&gt;.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 5 Clean and Prepare the Data
&lt;/h2&gt;

&lt;p&gt;
GitHub data is often &lt;b&gt;messy and unstructured&lt;/b&gt;, so it needs to be &lt;b&gt;cleaned before analysis&lt;/b&gt;. First, remove irrelevant data such as &lt;b&gt;empty reports&lt;/b&gt;, &lt;b&gt;duplicate issues&lt;/b&gt;, and &lt;b&gt;non-user-related discussions&lt;/b&gt;, since these do not help in understanding &lt;b&gt;usability problems&lt;/b&gt;. Cleaning the data ensures that only &lt;b&gt;meaningful information&lt;/b&gt; is included in the study.
&lt;/p&gt;

&lt;p&gt;
Next, &lt;b&gt;normalize the data&lt;/b&gt; by standardizing how issues are written. This means converting different phrases that describe the same problem into a consistent format. For example, “deployment broken” can be normalized to &lt;b&gt;“Deployment Failure”&lt;/b&gt;. This makes it easier to compare and analyze similar issues across the dataset.
&lt;/p&gt;

&lt;p&gt;
After normalization, create clear &lt;b&gt;categories or themes&lt;/b&gt; to group similar issues together. For example, different original texts like “Deployment failed,” “Cannot start,” and “Confusing YAML” can be grouped under standard themes such as &lt;b&gt;Deployment&lt;/b&gt; or &lt;b&gt;Configuration&lt;/b&gt;. This helps researchers identify &lt;b&gt;patterns&lt;/b&gt;, understand common problem areas, and analyze usability issues more effectively.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 6 Qualitative Analysis (The Most Important Step)
&lt;/h2&gt;

&lt;p&gt;
This is where &lt;b&gt;UX research actually begins&lt;/b&gt;. At this stage, you read &lt;b&gt;GitHub issues&lt;/b&gt; carefully, line by line, and start applying a process called &lt;b&gt;coding&lt;/b&gt;, which helps turn raw text into meaningful insights.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9zubsykevwp7tijm9ec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh9zubsykevwp7tijm9ec.png" alt="Qualitative Analysis" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
The first step is &lt;b&gt;open coding&lt;/b&gt;, where you highlight important observations from each issue. For example, if an issue says, “I followed docs but model never becomes ready,” you break it into simple codes like &lt;b&gt;documentation confusion&lt;/b&gt;, &lt;b&gt;deployment failure&lt;/b&gt;, and &lt;b&gt;missing feedback&lt;/b&gt;. These codes describe what is really happening in the user’s experience.
&lt;/p&gt;

&lt;p&gt;
Next is &lt;b&gt;axial coding&lt;/b&gt;, where you group similar codes together to find patterns. For example, codes like &lt;b&gt;missing instructions&lt;/b&gt;, &lt;b&gt;YAML confusion&lt;/b&gt;, and &lt;b&gt;setup unclear&lt;/b&gt; can all be grouped under the theme &lt;b&gt;Documentation&lt;/b&gt;. This step helps organize individual problems into broader categories.
&lt;/p&gt;

&lt;p&gt;
Finally, you do &lt;b&gt;selective coding&lt;/b&gt;, where you connect themes to form deeper insights. For example, under the theme &lt;b&gt;Documentation&lt;/b&gt;, you might conclude that users frequently struggle during deployment because the setup instructions do not match real cluster behavior. This final step transforms raw GitHub issues into &lt;b&gt;clear UX insights&lt;/b&gt; that explain user problems and system gaps.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 7 Quantitative Analysis
&lt;/h2&gt;

&lt;p&gt;
To understand &lt;b&gt;usability issues in GitHub mining research&lt;/b&gt;, it is important to &lt;b&gt;measure patterns in the data&lt;/b&gt;. This helps researchers move from individual issues to broader insights about &lt;b&gt;user experience (UX)&lt;/b&gt; and &lt;b&gt;system behavior&lt;/b&gt;. Different metrics are used to analyze the data in a structured way.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31rjuzw1ihg22fm13u5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31rjuzw1ihg22fm13u5w.png" alt="Quantitative Analysis" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
For example, the &lt;b&gt;number of issues&lt;/b&gt; shows the overall volume of problems, while &lt;b&gt;resolution time&lt;/b&gt; indicates how much effort or friction is needed to fix them. The &lt;b&gt;comment count&lt;/b&gt; helps measure complexity, since more discussion often means more complicated issues. &lt;b&gt;Label frequency&lt;/b&gt; highlights common problem areas or hotspots, and &lt;b&gt;repeat reports&lt;/b&gt; show how severe or recurring a problem is.
&lt;/p&gt;

&lt;p&gt;
After collecting these metrics, researchers can create simple &lt;b&gt;visualizations&lt;/b&gt; to understand trends more clearly. For example, they can analyze &lt;b&gt;issues by category&lt;/b&gt;, track &lt;b&gt;issue trends over time&lt;/b&gt;, measure the &lt;b&gt;average time to close issues&lt;/b&gt;, and identify the &lt;b&gt;top recurring pain points&lt;/b&gt;.
&lt;/p&gt;

&lt;p&gt;
For instance, after analyzing the data, you might find that most issues fall into a few key areas such as &lt;b&gt;Deployment (42%)&lt;/b&gt;, &lt;b&gt;Documentation (28%)&lt;/b&gt;, &lt;b&gt;Configuration (20%)&lt;/b&gt;, and &lt;b&gt;Other (10%)&lt;/b&gt;. This kind of breakdown helps researchers clearly see where users struggle the most and where improvements are needed.
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 8 Convert Findings into UX Insights
&lt;/h2&gt;

&lt;p&gt;
In &lt;b&gt;UX research&lt;/b&gt;, especially in &lt;b&gt;GitHub mining&lt;/b&gt;, it is important to move beyond simple counts like “20 users reported errors.” Numbers alone do not explain the real problem. Instead, the focus should be on understanding &lt;b&gt;why users are struggling&lt;/b&gt; and what it means for their experience. For example, instead of just reporting issues, we can say: &lt;b&gt;“Users struggle because system feedback is unclear.”&lt;/b&gt;
&lt;/p&gt;

&lt;p&gt;
To do this, researchers follow a simple thinking process: &lt;b&gt;Observation → Pattern → Insight → Recommendation&lt;/b&gt;. First, you make an &lt;b&gt;observation&lt;/b&gt; by looking at raw data, such as issues or comments. Then you identify a &lt;b&gt;pattern&lt;/b&gt; by grouping similar observations together. After that, you form an &lt;b&gt;insight&lt;/b&gt;, which explains what the pattern means in terms of user behavior. Finally, you create a &lt;b&gt;recommendation&lt;/b&gt; that suggests how to improve the system.
&lt;/p&gt;

&lt;p&gt;
For example, an observation might be that many users ask the same deployment question. The pattern could be identified as &lt;b&gt;documentation gaps&lt;/b&gt;. From this, the insight becomes that users cannot predict system behavior during deployment. The final recommendation would be to &lt;b&gt;improve the deployment guide&lt;/b&gt; so users have clearer instructions and better understanding.
&lt;/p&gt;




&lt;h2&gt;
  
  
  Report the findings
&lt;/h2&gt;

&lt;p&gt;Reporting findings in a GitHub mining UX research report is not just about listing issues—it’s about turning raw GitHub data into &lt;strong&gt;clear, evidence-based insights and actionable recommendations&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A good findings section should answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is happening?&lt;/li&gt;
&lt;li&gt;Why is it happening?&lt;/li&gt;
&lt;li&gt;Why does it matter?&lt;/li&gt;
&lt;li&gt;What should be done about it?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am going to explain entire process on how to report research findings.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Structure of the Findings &amp;amp; How to Write Each Finding (Step-by-Step Template)
&lt;/h2&gt;

&lt;p&gt;
When writing each &lt;b&gt;finding in GitHub mining research&lt;/b&gt;, it is helpful to follow a clear &lt;b&gt;step-by-step structure&lt;/b&gt;. First, start by naming the &lt;b&gt;theme clearly&lt;/b&gt;. The theme should describe a real &lt;b&gt;UX problem&lt;/b&gt;, not just a GitHub issue name or generic label. For example, instead of “Issue 23” or “Bug problems,” use meaningful titles like &lt;b&gt;“Deployment Configuration Confusion”&lt;/b&gt; or &lt;b&gt;“Lack of Clear Error Messages during InferenceService Setup”&lt;/b&gt;. This helps readers immediately understand the user experience problem.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrip5ulc7dqw3exlxl3j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbrip5ulc7dqw3exlxl3j.png" alt="Structure of the Findings &amp;amp; Steps" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Next, describe what you found at a &lt;b&gt;high level&lt;/b&gt;. This is a short summary of the main issue, such as users struggling with model deployment in KServe, especially during YAML configuration and InferenceService creation. This gives an overall picture of the problem before going into details.
&lt;/p&gt;

&lt;p&gt;
After that, add strong &lt;b&gt;evidence from GitHub data&lt;/b&gt;, such as issue numbers and short user quotes. For example, users might say “I followed the documentation but the InferenceService never becomes ready” or “The YAML example does not work in my cluster.” This evidence can include direct quotes, issue references, or summarized patterns from multiple users.
&lt;/p&gt;

&lt;p&gt;
Then, identify the &lt;b&gt;pattern&lt;/b&gt; by combining similar observations. For example, multiple issues may show that users struggle with YAML configuration and unclear deployment steps. This helps turn individual data points into a broader trend.
&lt;/p&gt;

&lt;p&gt;
After identifying the pattern, explain the &lt;b&gt;impact on users&lt;/b&gt;. This describes how the issue affects their experience, such as failed deployments, repeated retries, increased onboarding time, confusion, frustration, or even abandonment of the tool.
&lt;/p&gt;

&lt;p&gt;
The next and most important step is writing the &lt;b&gt;insight&lt;/b&gt;, which explains &lt;b&gt;why the problem is happening&lt;/b&gt;. For example, users may not receive clear feedback from the system during deployment, making it hard to know whether errors come from configuration or system issues. This step goes beyond the data and provides interpretation.
&lt;/p&gt;

&lt;p&gt;
Finally, add a clear and actionable &lt;b&gt;recommendation&lt;/b&gt; to improve the system. For example, improving documentation with validated YAML examples and adding real-time status messages for InferenceService creation can help users understand and resolve issues more easily.
&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Full Example of a Well-Written Finding
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzulz6ynm57wr0rbzvyx1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzulz6ynm57wr0rbzvyx1.png" alt="Example Image" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding 1: Deployment Configuration Confusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Many users experienced difficulties deploying models using KServe, particularly during YAML configuration and InferenceService setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidence&lt;/strong&gt;&lt;br&gt;
“The InferenceService never becomes ready after applying YAML.” — Issue #1245&lt;br&gt;
“Example YAML does not work in my Kubernetes cluster.” — Issue #1310&lt;br&gt;
“I am not sure what fields are required.” — Issue #1288&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pattern&lt;/strong&gt; : Multiple users reported inconsistent or unclear YAML configuration requirements during deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Impact&lt;/strong&gt; : This results in failed deployments, repeated debugging attempts, and delays in onboarding new users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Insight&lt;/strong&gt;: The system does not provide sufficient validation or feedback during deployment, leading to uncertainty in diagnosing configuration issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommendation&lt;/strong&gt; : Provide validated, version-specific YAML templates Add real-time deployment status and error messages&lt;br&gt;
Improve documentation with step-by-step deployment flow&lt;/p&gt;
&lt;h2&gt;
  
  
  3. How Many Findings Should You Include?
&lt;/h2&gt;

&lt;p&gt;
For a strong &lt;b&gt;GitHub mining research report&lt;/b&gt;, it is better to focus on a small number of meaningful &lt;b&gt;themes&lt;/b&gt; instead of too many small issues. Usually, &lt;b&gt;3 to 6 major themes&lt;/b&gt; is ideal because it keeps the analysis clear, focused, and easy to understand. If you include too many themes or individual issues, the report can become confusing and lose its main message.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqnhaum2ra07y2kyrwux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqnhaum2ra07y2kyrwux.png" alt="Findings Should You Include" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Common examples of good themes include areas like &lt;b&gt;deployment issues&lt;/b&gt;, &lt;b&gt;documentation gaps&lt;/b&gt;, &lt;b&gt;error handling problems&lt;/b&gt;, &lt;b&gt;configuration complexity&lt;/b&gt;, and &lt;b&gt;performance concerns&lt;/b&gt;. These themes represent repeated patterns across many GitHub issues and help explain the main usability and developer experience challenges in a structured way.
&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Visual Ways to Strengthen Findings
&lt;/h2&gt;

&lt;p&gt;
To understand patterns in &lt;b&gt;GitHub mining research&lt;/b&gt;, it is important to present the findings in a clear and structured way using &lt;b&gt;visual summaries&lt;/b&gt;. You can include a &lt;b&gt;theme frequency chart&lt;/b&gt;, which shows how often each problem appears in the data, such as &lt;b&gt;Deployment issues (40%)&lt;/b&gt;, &lt;b&gt;Documentation (25%)&lt;/b&gt;, and &lt;b&gt;Errors (20%)&lt;/b&gt;. This helps quickly identify which areas users struggle with the most.
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f3yk3eky8fhtptm36id.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f3yk3eky8fhtptm36id.png" alt="Visual Ways to Strengthen Findings" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
You can also include an &lt;b&gt;issue timeline&lt;/b&gt;, which shows when problems occur most frequently and helps reveal spikes or trends over time. Another useful element is &lt;b&gt;quote highlights&lt;/b&gt;, where you include &lt;b&gt;2–3 strong user quotes for each theme&lt;/b&gt; to support your findings and give real evidence of user experience.
&lt;/p&gt;

&lt;p&gt;
Together, these elements make your analysis &lt;b&gt;clearer&lt;/b&gt;, &lt;b&gt;more visual&lt;/b&gt;, and &lt;b&gt;easier to understand&lt;/b&gt;.
&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;In this article, I explained the complete step-by-step process of GitHub mining for UX research, from defining research questions to converting raw GitHub data into meaningful insights. We saw how issues, pull requests, and documentation can be used to understand real user and developer experiences, and how structured methods like coding, categorization, and pattern analysis help transform messy data into clear findings. The goal of this process is not just to analyze issues, but to understand why users struggle and how systems can be improved. By following this approach, researchers and engineers can identify real usability problems, improve developer experience, and build better open-source tools through evidence-based insights.&lt;/p&gt;

</description>
      <category>cloudnative</category>
      <category>devrel</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>What Developers Don’t Say in Interviews—but Show on GitHub</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Sun, 24 May 2026 01:47:04 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/what-developers-dont-say-in-interviews-but-show-on-github-2n4c</guid>
      <description>&lt;p&gt;When I started working on my usability study project with KServe, I interacted with KServe users to understand the challenges they were experiencing while using the platform. During these conversations, users frequently mentioned &lt;strong&gt;GitHub issues&lt;/strong&gt; and the problems they encountered during development and deployment.&lt;/p&gt;

&lt;p&gt;This led me to explore how engineers solve problems by using GitHub repositories and collaborating in open-source communities. As part of my research, I started reading articles and academic research papers online, and I came to know this is the best approach and many organizations are already following this methods to identify the developer problems.&lt;/p&gt;

&lt;p&gt;GitHub mining (also called repository mining, issue mining, or software repository mining) is increasingly used as a user research and UX research method in open-source ecosystems because it allows researchers to understand user challenges from real-world interactions rather than only interviews or surveys.&lt;/p&gt;

&lt;p&gt;Here is the research paper links: 1. &lt;a href="https://www.semanticscholar.org/paper/Mining-Developer-Behavior-Across-GitHub-and-Xiong-Meng/ec3e5a2fd771cf28315923f07e8a55dd7872aac1" rel="noopener noreferrer"&gt;Mining Developer Behavior Across GitHub and Stack Overflow (Xiong et al., 2017).&lt;/a&gt;, 2. &lt;a href="https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.PLATEAU.2018.2" rel="noopener noreferrer"&gt;Understanding Java Usability by Mining GitHub Repositories (Lemay, 2018)&lt;/a&gt;, 3. &lt;a href="https://www.ndss-symposium.org/wp-content/uploads/sdiotsec26-46.pdf" rel="noopener noreferrer"&gt;Insights from GitHub Community on the Matter Standard: Developer Perspectives and Challenges (Hassan, 2026)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I began exploring the GitHub mining process alongside conducting 1:1 usability study sessions with users. Through this research, I learned a great deal about how developers work, collaborate, report issues, and solve problems in open-source communities.&lt;/p&gt;

&lt;p&gt;In this article, I am going to explain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the GitHub mining process in user research is?&lt;/li&gt;
&lt;li&gt;Why it is important to conduct this type of research?&lt;/li&gt;
&lt;li&gt;How it helps identify developer pain points?&lt;/li&gt;
&lt;li&gt;How the findings can support communities and developers in improving the overall developer experience (DX) and usability of open-source tools like K-Serve.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's start...&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GitHub Mining in User Research?
&lt;/h2&gt;

&lt;p&gt;GitHub mining is a research method that systematically collects and analyzes data from GitHub repositories—such as issues, pull requests (PRs), discussions, comments, commits, documentation changes, and feature requests—to understand how people use software and where they experience problems.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hgn95q804cjmy2yqte3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hgn95q804cjmy2yqte3.png" alt="GitHub Mining" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From a UX perspective, GitHub becomes a large archive of user feedback and user behavior.&lt;/p&gt;

&lt;p&gt;Instead of asking users directly:&lt;em&gt;“What usability problems do you face?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;researchers examine:&lt;/strong&gt; Bug reports, Questions, Configuration failures, Feature requests, Support discussions, Workarounds, Documentation complaints, Delayed PR discussions, Community conversations, These become signals of user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is GitHub Mining Conducted?
&lt;/h2&gt;

&lt;p&gt;GitHub mining is conducted because traditional UX methods alone do not always reveal the full picture. Open-source projects often have: &lt;strong&gt;thousands of users, globally distributed contributors, limited access to end users, asynchronous communication. GitHub provides a historical record of actual user struggles&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgh90zwdjjdp77t63qen.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqgh90zwdjjdp77t63qen.png" alt="GitHub Mining" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Researchers conduct GitHub mining to: Discover usability issues at scale, Understand real user behavior, Study product evolution over time, Generate evidence-based design decisions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Discover usability issues at scale:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Researchers conduct GitHub mining because it allows them to study user experiences and product challenges at a much larger scale than traditional research methods. Instead of interviewing a small group of users—such as 10 participants in interviews or usability sessions—researchers can analyze hundreds or even thousands of GitHub issues, pull requests, discussions, and feature requests to identify recurring patterns across an entire user community. &lt;/p&gt;

&lt;p&gt;For example, researchers may discover that among all reported issues, &lt;strong&gt;300 are related to deployment problems, 100 focus on observability complaints, and 50 request better documentation&lt;/strong&gt;. Looking at this data collectively helps reveal trends that individual interviews may not uncover. This large-scale approach makes it easier to identify which problems occur most frequently and which areas of the product create the greatest friction for users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Understand real user behavior:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another important reason researchers use GitHub mining is to understand &lt;strong&gt;real user behavior rather than relying only on assumptions&lt;/strong&gt; or controlled testing environments. When users open issues on GitHub, they often describe &lt;strong&gt;what they were trying to achieve&lt;/strong&gt;, &lt;strong&gt;where they became stuck&lt;/strong&gt;, &lt;strong&gt;what configuration mistakes they made&lt;/strong&gt;, &lt;strong&gt;which expectations were unmet&lt;/strong&gt;, and &lt;strong&gt;which onboarding barriers prevented them from completing tasks successfully&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;These issue discussions provide a detailed record of actual workflows and real-world usage conditions. For example, a developer deploying a tool may explain that installation instructions were unclear, required settings were missing, or error messages did not provide enough guidance. By studying these interactions, researchers gain insight into how users actually experience a product rather than how designers assume they use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Study product evolution over time:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitHub mining also helps researchers study product evolution over time. Because GitHub maintains historical records of issues, discussions, fixes, and releases, researchers can observe &lt;strong&gt;when specific problems first appeared&lt;/strong&gt;, &lt;strong&gt;how long they remained unresolved&lt;/strong&gt;, and &lt;strong&gt;whether implemented solutions reduced future complaints&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;This longitudinal view helps teams evaluate whether design improvements, documentation updates, or technical changes created measurable improvements in usability and developer experience. For example, &lt;strong&gt;researchers can compare issue frequency before and after a deployment redesign&lt;/strong&gt; to determine whether users encountered fewer deployment failures after the change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Generate evidence-based design decisions:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, GitHub mining supports &lt;strong&gt;evidence-based design decisions&lt;/strong&gt;. Instead of making design changes based on assumptions or subjective opinions. for example, saying, “Users seem confused during deployment”—researchers can present measurable findings supported by real community data. &lt;/p&gt;

&lt;p&gt;They may conclude that “37% of reported issues involve deployment discoverability,” which provides a stronger foundation for prioritizing product improvements. This evidence helps UX researchers, product teams, engineers, and open-source maintainers make informed decisions about where to invest effort, &lt;strong&gt;improve usability, reduce developer friction, and create better experiences for the broader community.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  When Should GitHub Mining Be Conducted?
&lt;/h2&gt;

&lt;p&gt;GitHub mining is valuable during multiple stages.&lt;/p&gt;

&lt;p&gt;GitHub mining can be conducted at different stages of the research and product development lifecycle, with each stage serving a specific purpose in improving usability and user experience. During the &lt;strong&gt;discovery phase&lt;/strong&gt;, researchers use GitHub data to &lt;strong&gt;identify user pain points&lt;/strong&gt; by analyzing issues, discussions, and feature requests. This helps teams understand the most common challenges users face before making design or development decisions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimx02djumvr9am25onmy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fimx02djumvr9am25onmy.png" alt="GitHub Mining Be Conducted" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before conducting surveys or interviews&lt;/strong&gt;, GitHub mining can be used to generate hypotheses. Instead of starting research with assumptions, &lt;strong&gt;researchers review historical issue data to identify patterns and form evidence-based questions&lt;/strong&gt;. For example, if many users report deployment difficulties, researchers may design interview questions specifically around deployment workflows and onboarding experiences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;During a product redesign&lt;/strong&gt;, GitHub mining helps teams &lt;strong&gt;validate recurring issues&lt;/strong&gt; and confirm whether previously identified problems continue to affect users. This ensures redesign efforts focus on meaningful improvements rather than isolated opinions. By reviewing historical and current issue reports, teams can prioritize areas that consistently create friction.&lt;/p&gt;

&lt;p&gt;GitHub mining is also valuable for &lt;strong&gt;continuous UX monitoring&lt;/strong&gt;, where researchers regularly track issue trends to &lt;strong&gt;measure overall usability health&lt;/strong&gt;. Ongoing analysis allows teams to detect emerging problems early, observe changes in user sentiment, and monitor whether user experience improves or declines over time.&lt;/p&gt;

&lt;p&gt;After a product update or feature launch, GitHub mining supports &lt;strong&gt;post-release evaluation&lt;/strong&gt; by helping teams &lt;strong&gt;measure the impact of changes&lt;/strong&gt;. Researchers can compare issue volume and themes before and after release to determine whether updates reduced complaints, improved workflows, or introduced new challenges.&lt;/p&gt;

&lt;p&gt;Finally, GitHub mining is especially useful in &lt;strong&gt;longitudinal studies&lt;/strong&gt;, where researchers analyze data across extended periods to &lt;strong&gt;understand trends over time&lt;/strong&gt;. This allows teams to observe how user needs evolve, how products mature, and whether long-term improvements lead to sustained reductions in usability issues.&lt;/p&gt;

&lt;p&gt;Through these stages, GitHub mining becomes a continuous source of evidence that supports data-driven decisions and helps create better experiences for users and developer communities.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does the Community and Developers Benefit?
&lt;/h2&gt;

&lt;p&gt;GitHub mining provides several important benefits for developers because it helps teams make decisions based on actual user experiences rather than assumptions. &lt;/p&gt;

&lt;p&gt;One of the major advantages is &lt;strong&gt;better prioritization&lt;/strong&gt;. By analyzing issue reports, discussions, and recurring complaints, developers can identify which problems affect the largest number of users and focus their efforts on fixing the areas that create the most difficulty. Instead of allocating time based only on internal opinions, teams can prioritize improvements that deliver the greatest value to the community.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forpuavxgkfnpx55zppex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Forpuavxgkfnpx55zppex.png" alt="Community and Developers Benefit" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another important benefit is &lt;strong&gt;reduced support burden&lt;/strong&gt;. When developers repeatedly analyze and address the root causes of commonly reported issues, users encounter fewer recurring problems and require less direct support. Over time, this reduces duplicate issue reports, lowers maintenance effort, and allows development teams to spend more time building new features rather than responding to the same questions repeatedly.&lt;/p&gt;

&lt;p&gt;GitHub mining also contributes to &lt;strong&gt;improved onboarding&lt;/strong&gt; for new users and contributors. By identifying patterns in issue reports related to installation challenges, setup confusion, missing documentation, or early-stage errors, teams can improve guidance materials and simplify user workflows. These improvements create a &lt;strong&gt;lower learning curve&lt;/strong&gt;, helping users become productive more quickly and reducing frustration during initial adoption.&lt;/p&gt;

&lt;p&gt;Finally, GitHub mining supports &lt;strong&gt;data-driven decisions&lt;/strong&gt; across product planning and development. Rather than creating roadmaps based on assumptions about what users might need, teams can use measurable evidence from issue trends and community feedback to guide future work. This makes product roadmaps more strategic, more transparent, and more aligned with actual user needs, ultimately leading to stronger developer experience and more effective product evolution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits for Open Source Communities
&lt;/h2&gt;

&lt;p&gt;GitHub mining and usability research provide several important benefits for &lt;strong&gt;open-source communities&lt;/strong&gt; by helping projects become more accessible, sustainable, and user-centered. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuknhxwpgc59jg4l7dxxn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuknhxwpgc59jg4l7dxxn.png" alt="Open Source Communities" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One key benefit is creating a &lt;strong&gt;healthier contributor experience&lt;/strong&gt;, where new contributors can understand project workflows, contribution processes, and technical expectations more quickly, reducing barriers to participation. These improvements also support &lt;strong&gt;higher adoption&lt;/strong&gt;, because better usability makes projects easier to learn and use, attracting more users and contributors over time. &lt;/p&gt;

&lt;p&gt;In addition, insights gathered from user issues and discussions lead to &lt;strong&gt;better documentation&lt;/strong&gt;, allowing communities to create more targeted and practical guidance that addresses real user challenges instead of assumed needs. Together, these improvements contribute to &lt;strong&gt;increased retention&lt;/strong&gt;, as users and contributors are more likely to remain active in a project when frustration decreases and their experience becomes smoother and more productive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits for Product Teams
&lt;/h2&gt;

&lt;p&gt;GitHub mining and usability research provide valuable advantages for &lt;strong&gt;product teams&lt;/strong&gt; by creating a stronger connection between user feedback and product decisions. One major benefit is providing &lt;strong&gt;evidence for redesign&lt;/strong&gt;, allowing teams to make improvements based on actual user-reported issues instead of assumptions or internal opinions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuymqru4cptb4m8amy7me.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuymqru4cptb4m8amy7me.png" alt="Product Teams" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This research also helps establish &lt;strong&gt;usability benchmarks&lt;/strong&gt;, enabling teams to measure and compare user experience over time and determine whether product changes are producing meaningful improvements. &lt;/p&gt;

&lt;p&gt;In addition, GitHub data creates a &lt;strong&gt;continuous feedback loop&lt;/strong&gt;, where ongoing issue reports, discussions, and community input help teams identify emerging problems and continuously refine the product experience. Finally, it supports release &lt;strong&gt;quality monitoring&lt;/strong&gt; by allowing teams to evaluate how updates perform after launch, detect new usability concerns early, and measure whether releases successfully reduce user friction and improve overall product quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are UX Researchers and Organizations Adopting This Method?
&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;UX researchers and organizations are increasingly adopting repository mining and GitHub mining as research methods&lt;/b&gt;, especially as software development becomes more collaborative, distributed, and community-driven. Traditional research approaches such as interviews and usability testing remain valuable, but researchers now complement them with large-scale behavioral data collected from repositories to better understand how people actually use and contribute to software products. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fox72bcmjsg0zzxmc5dk2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fox72bcmjsg0zzxmc5dk2.png" alt="Organizations Adopting This Method" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This approach is becoming common across areas such as &lt;b&gt;Open-Source UX Research&lt;/b&gt;, &lt;b&gt;Developer Experience (DevEx)&lt;/b&gt;, &lt;b&gt;Human–Computer Interaction (HCI)&lt;/b&gt;, &lt;b&gt;Software Engineering Research&lt;/b&gt;, &lt;b&gt;Empirical Software Studies&lt;/b&gt;, and &lt;b&gt;AI/ML Operations Usability&lt;/b&gt;, where understanding real-world workflows and developer challenges is essential.&lt;/p&gt;

&lt;p&gt;Rather than relying on a single research method, many research communities and organizations use a &lt;b&gt;mixed-method approach&lt;/b&gt; that combines &lt;b&gt;repository mining&lt;/b&gt;, &lt;b&gt;interviews&lt;/b&gt;, &lt;b&gt;surveys&lt;/b&gt;, &lt;b&gt;ethnographic observation&lt;/b&gt;, and &lt;b&gt;telemetry data&lt;/b&gt;. Combining multiple methods improves research validity because findings can be verified from different perspectives—what users say, what users do, and what product data shows. &lt;/p&gt;

&lt;p&gt;Through this approach, researchers aim to &lt;b&gt;understand developer pain points&lt;/b&gt;, &lt;b&gt;improve onboarding experiences&lt;/b&gt;, &lt;b&gt;measure usability debt&lt;/b&gt; (the accumulated usability problems that slow users down), and &lt;b&gt;support evidence-based product decisions&lt;/b&gt;. As a result, organizations can design products that better reflect actual user needs, strengthen contributor experiences, and continuously improve overall usability and developer experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Method Is Growing in UX Research?
&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;GitHub mining is becoming increasingly important in UX research&lt;/b&gt; because modern digital products extend beyond traditional consumer applications and now include complex technical environments such as &lt;b&gt;cloud platforms, Kubernetes ecosystems, AI platforms, and DevOps tools&lt;/b&gt;. &lt;/p&gt;

&lt;p&gt;Traditional UX research has often focused on studying end users through interviews, surveys, and usability testing. However, modern software systems require researchers to also study &lt;b&gt;developers as users&lt;/b&gt;, since developers interact directly with interfaces, documentation, workflows, configuration systems, and deployment processes as part of their daily work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3atysukeyekuoiptrqsz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3atysukeyekuoiptrqsz.png" alt="Growing in UX Research" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub mining supports this shift by allowing researchers to observe &lt;b&gt;user experience through engineering artifacts&lt;/b&gt;—such as issue reports, discussions, pull requests, feature requests, and contribution patterns—rather than relying only on questionnaires or self-reported feedback. These artifacts provide evidence of where users become confused, what tasks create friction, which expectations are unmet, and how workflows perform in real environments.&lt;/p&gt;

&lt;p&gt;A strong research framing would be: &lt;b&gt;“GitHub issues are not only defect reports; they represent observable traces of user experience and can be analyzed as usability evidence.”&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;This perspective aligns closely with modern practices in &lt;b&gt;UX research&lt;/b&gt;, &lt;b&gt;Human–Computer Interaction (HCI)&lt;/b&gt;, and &lt;b&gt;Developer Experience (DevEx) studies&lt;/b&gt;, where understanding real user behavior and evidence-based decision-making has become increasingly important.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;Through my K-Serve usability research, I learned that understanding developer experience requires looking beyond traditional interviews and usability testing. By combining 1:1 user sessions with GitHub mining, &lt;strong&gt;I was able to observe real-world developer challenges through issues, discussions, pull requests, and community collaboration&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;This approach showed that GitHub repositories are not only places where &lt;strong&gt;technical problems are reported—they also contain valuable evidence of user experience, usability barriers, and product friction&lt;/strong&gt;. GitHub mining helps researchers, product teams, and open-source communities make more informed, evidence-based decisions that improve usability, reduce developer pain points, strengthen onboarding, and create better developer experiences (DX). &lt;/p&gt;

&lt;p&gt;As modern software ecosystems continue to grow in complexity, repository mining is becoming an increasingly valuable method for understanding how people truly work, collaborate, and build in open-source environments.&lt;/p&gt;

</description>
      <category>cloudnative</category>
      <category>devrel</category>
      <category>opensource</category>
      <category>ux</category>
    </item>
    <item>
      <title>How Developers and Open-Source Communities Work - A Guide for Non-Technical People</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Fri, 22 May 2026 22:17:12 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/how-developers-and-open-source-communities-work-a-guide-for-non-technical-people-15il</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/how-developers-and-open-source-communities-work-a-guide-for-non-technical-people-15il</guid>
      <description>&lt;p&gt;You do not need to be a coder or developer to understand open-source communities. If you are curious about how developers actually work, collaborate, and contribute to open-source projects, then this article is for you. In this article, I will walk through the step-by-step process of how developers contribute their skills and participate in open-source community projects by using &lt;a href="https://kserve.github.io/website/" rel="noopener noreferrer"&gt;K-serve&lt;/a&gt; as an example.&lt;/p&gt;

&lt;p&gt;This article is also helpful for user experience researchers who already work with developers but want to better understand how developers work on projects and use GitHub. It is also useful for UX designers who are interested in learning about the developer experience (DevEx) domain and becoming developer experience designers. Additionally, this article is intended for non-technical people who want to learn how developers and open-source communities work, and how &lt;strong&gt;GitHub repositories&lt;/strong&gt; are used to manage, collaborate on, and operate projects.&lt;/p&gt;

&lt;p&gt;Let's learn what is Kserve? KServe is an &lt;strong&gt;open-source Kubernetes-based model serving platform that enables scalable and reliable deployment of machine learning models in production environments&lt;/strong&gt;. I chose KServe because it sits at the &lt;strong&gt;intersection of machine learning, Kubernetes, platform engineering, and open-source collaboration&lt;/strong&gt;, making it a rich example for understanding real-world engineering workflows. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;It is important to understand that engineers are not simply “writing code”; instead, they are continuously discovering problems, discussing solutions, implementing changes, reviewing and refining decisions, validating outcomes, and maintaining the system over time.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This entire workflow—spanning collaboration, decision-making, and iteration—leaves behind valuable traces in &lt;strong&gt;GitHub through issues, pull requests, discussions, and commits&lt;/strong&gt;, which together reveal how complex systems are actually built and evolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Github repository?
&lt;/h2&gt;

&lt;p&gt;A GitHub repository is created by developers, project maintainers, or organizations as a central place to store, organize, and manage a project’s code, documentation, issues, and collaboration history. Once created, it is used by a wide range of people, including developers who write and maintain code, contributors who fix bugs or add new features, reviewers who evaluate and approve changes, and non-developers such as UX researchers, product managers, and technical writers who explore the project to understand it or contribute documentation and feedback. &lt;/p&gt;

&lt;p&gt;GitHub repositories are important because they reveal not just the final software product but the entire development process behind it. Developers use them to collaborate, track issues, discuss and review changes, manage tasks, and maintain transparency in their work. Learning how repositories function helps in understanding real developer workflows, decision-making processes, and how complex software systems evolve over time in both open-source and professional environments.&lt;/p&gt;

&lt;p&gt;I am going to explain how developers and the open-source community work with entire GitHub repository in 5 simple steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 1. The Project Exists as a Living System
&lt;/h2&gt;

&lt;p&gt;Imagine that KServe already exists and is being used by people around the world. Its users include ML engineers who deploy and manage machine learning models, platform engineers who build and maintain the underlying infrastructure, MLOps teams who ensure smooth model lifecycle operations, Kubernetes administrators who handle cluster configuration and deployment, and researchers who experiment with and evaluate machine learning systems.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqusw5fcvly8x7g4ccab.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffqusw5fcvly8x7g4ccab.png" alt="Example" width="800" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most people think software development means typing code all day. In reality, a typical improvement starts with a real person running into a problem, and ends with millions of users getting a better experience. Here's how that journey unfolds, using KServe — a tool that helps AI models run in the cloud — as the example.&lt;br&gt;
Let me show you the big picture first, then zoom into each phase.&lt;/p&gt;

&lt;p&gt;Now let's look at each phase in plain language, with a closer diagram for the parts that need more detail. &lt;strong&gt;For example: A user(Engineer) deploys an inference service.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step :2 A User Encounters a Problem &amp;amp; Created the issue.
&lt;/h2&gt;

&lt;p&gt;Imagine you're an engineer who uses KServe to run an AI model. You follow all the instructions, but when you try to use it, nothing responds. You're not sure if you did something wrong, or if there's a bug in the software.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6im9sj2bghawkg9nysh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq6im9sj2bghawkg9nysh.png" alt="Steps" width="799" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So you do what most people do: check the logs, search the documentation, ask the community — and eventually open a "bug report" (called an issue on GitHub). This is where the real work begins, even though no one has touched code yet.&lt;/p&gt;

&lt;p&gt;When you file that issue, volunteer maintainers (people who help run the project) step in to classify it. Is this a bug? A misunderstanding? Something missing from the docs? They ask questions to narrow it down&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 3 Can I make it break on my machine?
&lt;/h2&gt;

&lt;p&gt;Before anyone can fix a problem, they have to be able to see the problem. An engineer sets up the same software environment as the user and tries to make the bug happen intentionally. This is called reproducing the bug.&lt;/p&gt;

&lt;p&gt;Once they can make it fail consistently, they start playing detective — tracing the path a request takes through the system, reading log files, and asking: where exactly does things go wrong?&lt;br&gt;
This phase is mostly thinking, not typing. Engineers build a mental map of how the system is supposed to behave, then look for where reality diverges from that map. It looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwwlapv9zeospjqzq683.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdwwlapv9zeospjqzq683.png" alt="Step: 3" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 4 Choosing the right fix (not just any fix)
&lt;/h2&gt;

&lt;p&gt;Once the root cause is found, the next question isn't can we fix it? — it's what's the safest way to fix it?&lt;/p&gt;

&lt;p&gt;In the KServe example, the bug was that a missing network port would cause a silent, invisible failure. Engineers debated three possible solutions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcijt81ipprqcn463cm08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcijt81ipprqcn463cm08.png" alt="Step: 4" width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This kind of debate — often hundreds of comment threads for just a few lines of code — is what separates good software from brittle software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step : 5 From code to released fix
&lt;/h2&gt;

&lt;p&gt;Only after all that thinking does actual coding begin. The engineer writes the fix in a separate "branch" (a safe copy of the code), then submits it as a "pull request" — essentially saying "here's my proposed change, please check my work."&lt;/p&gt;

&lt;p&gt;Other engineers review it, suggest improvements, and run automated tests. When everyone agrees it's safe, it gets merged into the main codebase and released.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihhaxdy1to1kxhdrcrus.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fihhaxdy1to1kxhdrcrus.png" alt="Step : 5" width="800" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The ending: and why it never really ends
&lt;/h2&gt;

&lt;p&gt;After the update is released, what changed for the user? Before: "It just doesn't work." After: "Configuration invalid: missing port." That's a small sentence, but it means the user now understands what to fix instead of guessing blindly.&lt;/p&gt;

&lt;p&gt;And here's the final truth: the moment one problem is solved, a user somewhere will notice the next thing that could be better. The loop starts again. That's not a flaw in open source — it's the whole point. Software improves because real people keep using it, keep running into its rough edges, and keep caring enough to speak up.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>cloudnative</category>
      <category>uxdesign</category>
      <category>devrel</category>
    </item>
    <item>
      <title>What Happens When Engineers Share Their Experience?</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Mon, 27 Apr 2026 22:45:34 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/please-engineers-share-your-feedback-it-helps-products-easy-to-use-47c1</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/please-engineers-share-your-feedback-it-helps-products-easy-to-use-47c1</guid>
      <description>&lt;p&gt;Through this article, I will share my real experiences, including the steps, process, and insights that helped me encourage engineers to easily and happily participate in usability 1:1 meetings to improve the KServe experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Power of sharing your feedback:
&lt;/h2&gt;

&lt;p&gt;Before we jump in, let’s take a moment to understand the power of feedback.&lt;/p&gt;

&lt;p&gt;Imagine you’re booking flight tickets for your entire family with an airline you really like. The overall experience is excellent—you enjoy the journey, there are plenty of entertainment options onboard, and both the complimentary and paid food and beverages are delicious. The airline even offers family-friendly meal options and services throughout the journey. From booking to boarding, everything feels smooth and well-designed. On top of that, they provide lounge access at a much more affordable price compared to other airlines.&lt;/p&gt;

&lt;p&gt;However, there’s one issue: the online check-in app doesn’t work. Because of that, you have to check in at the airport, which means standing in long lines and wasting time. It’s frustrating.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bv6se96nt1dbr0r9nao.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bv6se96nt1dbr0r9nao.png" alt="Image about airlines service example for sharing feedback" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even so, this was just a one-time issue, while the rest of your experience with the airline has consistently been great. Instead of switching to another airline, you might choose to share your feedback so they have a chance to improve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you don’t provide feedback, the airline may never know about the issue and won’t get the opportunity to fix it&lt;/strong&gt;. But if you do share it, they can improve the experience—not just for you, but for many others as well. Over time, this leads to a better product, happier customers, and increased trust in the brand.&lt;/p&gt;

&lt;p&gt;That’s the power of feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A single issue like a temporary failure in the online check-in system doesn’t define the entire service&lt;/strong&gt;. Behind the scenes, engineers and teams are constantly working to build and maintain systems that serve &lt;strong&gt;millions of users every day&lt;/strong&gt;. &lt;strong&gt;While mistakes can happen, feedback helps identify and resolve them&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of immediately switching to another airline and going through the &lt;strong&gt;effort of adapting to a new experience, simply sharing your feedback can lead to meaningful improvements&lt;/strong&gt;. The next time you fly, you might find that the issue has been resolved—and your experience is even smoother.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Feedback doesn’t just fix problems—it strengthens experiences.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Number of ways to share your feedback.
&lt;/h2&gt;

&lt;p&gt;There are many ways to share your feedback.&lt;/p&gt;

&lt;p&gt;For example, an airline team might call you and ask about your experience. During this &lt;strong&gt;phone conversation&lt;/strong&gt;, you can share your thoughts in detail this is known as an &lt;strong&gt;interview in user research&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Sometimes, they may ask you to walk through the &lt;strong&gt;online check-in process step by step, possibly over a video call&lt;/strong&gt;. This allows the UX team to observe how you interact with the system in real time and identify any difficulties or pain points you encounter. This method is called a &lt;strong&gt;usability study&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiylcc8qlpam5hbf4s25i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiylcc8qlpam5hbf4s25i.png" alt="Usability studies and other research methods" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, you might be asked to complete a short form in the application at the end of your journey—usually a 3–5 minute questionnaire about your recent experience. This is known as a &lt;strong&gt;survey in user research&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In all these ways, you are given opportunities to share your feedback, helping teams understand your experience and improve their services.&lt;/p&gt;



&lt;h2&gt;
  
  
  What is usability studies and how it can be conducted?
&lt;/h2&gt;

&lt;p&gt;Let’s learn what usability studies (User research's method) are and how I started a usability study project with K-Serve, which is one of the &lt;a href="https://youtu.be/Sw5uT4VkCHA?si=tPXDG6zH-Yk1QiDd" rel="noopener noreferrer"&gt;CNCF incubating&lt;/a&gt; projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo56t3r4lxellvyn7wkwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo56t3r4lxellvyn7wkwp.png" alt="usability studies explanation" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Usability studies are one of the key &lt;strong&gt;user research methods&lt;/strong&gt; used to understand engineers’ challenges in real world workflows. In this approach, engineers on the video call with UX designer or live in person in 1:1 meeting to share their screens and perform tasks such as deploying ML models using K-Serve or walking through how they debug issues.&lt;/p&gt;

&lt;p&gt;During these 1:1 meeting, UX designers don’t just listen also they observe. This gives them &lt;strong&gt;direct visibility into where friction occurs, which tools or documentation cause confusion, and where workflows break down&lt;/strong&gt;. These &lt;strong&gt;real time observations are critical for identifying gaps that might not surface through interviews or surveys alone&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Based on these 1:1 meeting, UX designers document their findings and create reports that highlight engineers’ pain points, usability issues, and opportunities for improving the overall K-Serve experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to conduct usability studies:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgcvzxc4ro8oc9o1luxg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgcvzxc4ro8oc9o1luxg.png" alt="usability steps" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Prepare tasks and guidelines for usability studies
&lt;/h3&gt;

&lt;p&gt;In this phase, UX designers prepare what they want to learn from the study.&lt;/p&gt;

&lt;p&gt;First, they create a list of tasks for engineers to perform. For example, in KServe, tasks might include: Deploying an ML model, Monitoring ML workloads, Debugging issues&lt;/p&gt;

&lt;p&gt;Once the tasks are ready, UX designers prepare follow-up questions. These questions help engineers share more details, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did you face any problems during this task?&lt;/li&gt;
&lt;li&gt;Was anything confusing or difficult?&lt;/li&gt;
&lt;li&gt;How do you think this process can be improved?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives engineers a chance to share their thoughts and overall experience with K-Serve. Next, UX designers create guidelines for the study. This includes:&lt;/p&gt;

&lt;p&gt;Choosing tools for the sessions (for example, Google Meet for 1:1 meetings), Deciding how to handle data (what can be shared publicly and what should stay confidential), Making sure any shared data is anonymous and combined (not personal or raw data), Planning the timeline for sessions and analysis, Deciding where and how to share the final results&lt;/p&gt;

&lt;p&gt;These steps help ensure the usability study is well-organized, respectful of participants’ privacy, and useful for improving the product.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Participant recruitment planning
&lt;/h3&gt;

&lt;p&gt;In this phase, the UX designer plans how to recruit participants and collect basic information about them.&lt;/p&gt;

&lt;p&gt;The UX designer creates a simple &lt;strong&gt;survey for engineers to sign up for usability studies&lt;/strong&gt;. This survey helps gather important details such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The engineer’s role and experience&lt;/li&gt;
&lt;li&gt;Their availability for a 1:1 session&lt;/li&gt;
&lt;li&gt;How they use KServe in their work&lt;/li&gt;
&lt;li&gt;The main challenges they are currently facing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This information helps both the UX designer and the engineer save time. &lt;strong&gt;The UX designer can understand the participant before the session and prepare better&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For example, if an engineer mentions that they face challenges during deployment, the UX designer can focus on deployment-related tasks during the session.&lt;/p&gt;

&lt;p&gt;Overall, this process makes it easier to recruit the right participants and helps the UX designer learn about their challenges in advance, leading to more focused and useful usability studies.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. During the Usability study 1:1 meeting:
&lt;/h3&gt;

&lt;p&gt;Once the usability session is scheduled, the UX designer observes the tasks the engineer performs and takes notes.&lt;/p&gt;

&lt;p&gt;With the engineer’s permission, the UX designer may record the session for study purposes. The recording will not be shared publicly—it will remain confidential and only be used by the UX team and KServe maintainers for research.&lt;/p&gt;

&lt;p&gt;At the beginning of the session, the UX designer will ask for consent to record. If an engineer is not comfortable being recorded, that is completely okay—they can still participate and share their experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Analysis - After the Usability studies:
&lt;/h3&gt;

&lt;p&gt;Once the UX designer completes usability studies with engineers (for example, with more than 10–20 participants), they begin analyzing the data.&lt;/p&gt;

&lt;p&gt;The UX designer uses analysis methods such as thematic analysis and pattern identification to find common themes and trends across all sessions. Based on this, they create a report that includes both key insights and metrics.&lt;/p&gt;

&lt;p&gt;For example, the &lt;strong&gt;report might show that 60% of engineers faced difficulties with the deployment process. A common pattern identified could be configuration complexity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this way, the UX designer creates a clear summary of findings without sharing any raw data.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Sharing the findings in community meetings for improvements:
&lt;/h3&gt;

&lt;p&gt;Once the UX designer has created the findings report, the results are shared with the KServe community to support improvements.&lt;/p&gt;

&lt;p&gt;The insights from the report are discussed in community meetings to help identify what can be improved in K-Serve. In some cases, the findings may also be shared in CNCF KubeCon talks to highlight the challenges engineers face while using K-Serve and to encourage broader discussions and solutions.&lt;/p&gt;

&lt;p&gt;This is how usability studies, through these five steps, can have a significant impact by making KServe easier for engineers to use.&lt;/p&gt;



&lt;h2&gt;
  
  
  Engineer Effort and Real-World Challenges in K-Serve:
&lt;/h2&gt;

&lt;p&gt;K-Serve contributors (engineers) are building tools for other engineers who use K-Serve to deploy and manage ML models. Often, contributors make a plan on the user requirements and begin building the product based on those engineers knows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzu3t89uhi5v9libucig9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzu3t89uhi5v9libucig9.png" alt="K-serve challenges" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the product reaches production and more engineers start using K-Serve in real environments, usability challenges begin to surface. As usage increases, engineers start noticing difficulties while working with the system. In my research, I have heard users say that it is “very difficult to use,” “needs to be easier,” or that they are “looking for alternatives,” or "they are trying to figure out which approach that we can began for ML deployment"&lt;/p&gt;

&lt;p&gt;However, there is still an opportunity to improve KServe significantly. By observing and listening closely to engineers—especially where they struggle in real workflows, we can identify meaningful usability gaps. Documenting and analyzing these insights can help make K-Serve easier to use for both current users and new engineers who are adopting it for the first time.&lt;/p&gt;

&lt;p&gt;Ultimately, this approach ensures that K-Serve evolves based on real user experiences rather than assumptions, making it more usable, accessible, and widely adopted in production environments.&lt;/p&gt;



&lt;h2&gt;
  
  
  Why engineers hesitate or afraid to share feedback:
&lt;/h2&gt;

&lt;p&gt;Engineers often work within environments that involve &lt;strong&gt;sensitive systems, production constraints&lt;/strong&gt;, and &lt;strong&gt;organizational policies&lt;/strong&gt;. Because of this, they may hesitate to participate in UX research (Usability studies), assuming it requires sharing confidential or restricted information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l1rmo6nh4jdf9tdejzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2l1rmo6nh4jdf9tdejzy.png" alt="Image description on Kserve usability test hesitation" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, UX research does not focus on internal data, architecture details, or anything proprietary. Instead, it focuses on the engineer’s experience and their &lt;strong&gt;workflows, challenges, and friction points.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where workflows slow down&lt;/li&gt;
&lt;li&gt;What feels overly complex or unclear&lt;/li&gt;
&lt;li&gt;What takes too long to configure, deploy, or debug&lt;/li&gt;
&lt;li&gt;What drives engineers to avoid certain features or switch tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, when engineers use &lt;a href="https://kserve.github.io/website/" rel="noopener noreferrer"&gt;KServe&lt;/a&gt; in production, they may encounter challenges in deployment, configuration, or maintenance. These challenges can increase &lt;strong&gt;cognitive load&lt;/strong&gt; and make the &lt;strong&gt;system feel overwhelming&lt;/strong&gt;. Importantly, sharing these experiences does not require revealing any confidential information only the difficulties encountered during usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When such feedback is not shared, these issues often remain unresolved&lt;/strong&gt;. Over time, this can &lt;strong&gt;lead engineers to seek alternative tools that are easier to use.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the other hand, when engineers provide even &lt;strong&gt;high-level feedback, it creates meaningful impact&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It &lt;strong&gt;reduces cognitive load across workflows&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;It &lt;strong&gt;improves existing tools and platforms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;It &lt;strong&gt;simplifies onboarding for new engineers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;It increases overall adoption within the engineering community&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;UX research, in this context, becomes a way for engineers to contribute beyond code by sharing their experiences to improve the ecosystem&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Even simple insights, such as "This step was confusing" or "This process took longer than expected" can directly influence product improvements.&lt;/p&gt;

&lt;p&gt;Ultimately, participation in UX research helps create better tools for engineers, by engineers without requiring any compromise on confidentiality.&lt;/p&gt;



&lt;h2&gt;
  
  
  Increase participation in usability studies:
&lt;/h2&gt;

&lt;p&gt;To increase participation in usability studies, we started reaching out directly to the community. we sent messages to more than 1,000 members in Slack threads across the KServe community channel and contributor channel. we also reached out to other CNCF platforms like Kubeflow, since many of them use KServe for model serving.&lt;/p&gt;

&lt;p&gt;To further increase reach and participation, we also started posting on LinkedIn to engage a wider audience and encourage more engineers to join the usability studies.&lt;/p&gt;

&lt;p&gt;We are still working on usability studies to understand the challenges engineers face while using KServe. In a future article, we will share the analysis process and the results we gather from these studies.&lt;/p&gt;



&lt;h2&gt;
  
  
  Takeways:
&lt;/h2&gt;

&lt;p&gt;It’s completely understandable that screen sharing and recordings during usability studies can feel sensitive or confidential. If you are not comfortable sharing certain information, there are still many flexible ways to participate and give feedback.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1dh3g4j7d3bx2h0f06l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh1dh3g4j7d3bx2h0f06l.png" alt="flexibility in testing options" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, if &lt;strong&gt;something confidential comes up during the session, you can ask the UX designer to pause the recording and then share your feedback&lt;/strong&gt;. You can also choose to participate &lt;strong&gt;without any recording at all and still explain your experience&lt;/strong&gt;. The UX designer will &lt;strong&gt;take notes and capture the key issues you mention&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you don’t have much time, you can let the UX designer know in advance. For instance, you can say you only have &lt;strong&gt;10–15 minutes to try a task like deploying a model&lt;/strong&gt; and want to quickly share the challenges you face. You can also join a &lt;strong&gt;short discussion or share your feedback&lt;/strong&gt; through a survey by listing the main issues you are experiencing.&lt;/p&gt;

&lt;p&gt;In this way, your feedback can still help improve KServe usability in a way that fits your comfort and availability.&lt;/p&gt;



&lt;h2&gt;
  
  
  Final thoughts:
&lt;/h2&gt;

&lt;p&gt;Usability studies create a strong feedback loop between engineers and UX researchers.&lt;/p&gt;

&lt;p&gt;They help to:&lt;/p&gt;

&lt;p&gt;Identify real-world challenges&lt;br&gt;
Improve developer experience&lt;br&gt;
Strengthen tools like KServe&lt;br&gt;
Build systems based on actual usage, not assumptions&lt;/p&gt;

&lt;p&gt;Most importantly, feedback turns individual experiences into shared improvements. Even small input from engineers can meaningfully shape the future of the platform.&lt;/p&gt;

</description>
      <category>cloudnative</category>
      <category>devrel</category>
      <category>kubernetes</category>
      <category>devex</category>
    </item>
    <item>
      <title>Design Systems : How They Shape Developer Experience in Modern Product Building</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Mon, 27 Apr 2026 17:09:46 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/design-systems-how-they-shape-developer-experience-in-modern-product-building-3cc0</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/design-systems-how-they-shape-developer-experience-in-modern-product-building-3cc0</guid>
      <description>&lt;p&gt;When I first started discussing and presenting system design concepts for one of my UX projects, many engineers on my team were surprised. Initially, they seemed confused about why I was explaining this information under the &lt;strong&gt;“design system”&lt;/strong&gt; title.&lt;/p&gt;

&lt;p&gt;This reaction made me reflect. After the meeting, I asked one of the engineers why there was confusion when I referred to “system design.” The developer explained that &lt;strong&gt;system design means something quite different in engineering compared to how it’s often interpreted in UX.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0qb47vkjnt1y05lsqst7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0qb47vkjnt1y05lsqst7.png" alt="Image description system level thinking" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That conversation led me to explore the topic further. I began researching to better understand what “system design” actually means from both a developer’s perspective and a UX perspective especially when you are working on &lt;strong&gt;developer experience platform&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As a result, I’m writing this article to clarify the &lt;strong&gt;differences between system-level design in UX and system design in engineering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s start with system design from a developer’s point of view:&lt;/p&gt;



&lt;h2&gt;
  
  
  System Design in developer's point of view
&lt;/h2&gt;

&lt;p&gt;System design is the process of defining the &lt;strong&gt;architecture&lt;/strong&gt;, &lt;strong&gt;infrastructure, data flow, and communication patterns of a software system&lt;/strong&gt;. It is the &lt;strong&gt;technical blueprint&lt;/strong&gt; that determines how a &lt;strong&gt;system is built, scaled, and maintained to meet both functional requirements and non-functional&lt;/strong&gt; requirements like &lt;strong&gt;performance, reliability, and security.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kiqve1x07ookykdprqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kiqve1x07ookykdprqd.png" alt="Explanation of design system in terms of developer point of view" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is it Important to Consider?
&lt;/h3&gt;

&lt;p&gt;System design plays a critical role in building reliable and scalable systems by addressing key challenges early in the development process. &lt;/p&gt;

&lt;p&gt;It helps &lt;strong&gt;prevent costly architectural mistakes&lt;/strong&gt; before they escalate into production crises, while ensuring the system can scale smoothly as user demand increases. &lt;/p&gt;

&lt;p&gt;A well thought out system design also defines how the system behaves under &lt;strong&gt;failure conditions, reducing the risk of outages and improving overall resilience&lt;/strong&gt;. Additionally, it aligns engineering decisions with business requirements such as SLAs, latency targets, and throughput expectations. &lt;/p&gt;

&lt;p&gt;By establishing clear patterns and boundaries from the beginning, system design ultimately minimizes technical debt and creates a strong foundation for long-term system stability and growth.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Will it Be Useful?
&lt;/h3&gt;

&lt;p&gt;System design provides engineering teams with a clear technical roadmap before any code is written, creating a shared understanding of how the system should be built. &lt;/p&gt;

&lt;p&gt;It reduces ambiguity in critical architectural decisions such as database selection, API design, and caching strategies, allowing teams to move forward with confidence. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2118wvxedfh1k7dqu1k5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2118wvxedfh1k7dqu1k5.png" alt="Design system in useful" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By thinking through the system early, teams can &lt;strong&gt;anticipate potential bottlenecks, failure points, and scaling challenges&lt;/strong&gt; in advance. It also enables faster onboarding of new engineers by offering clear documentation of the system architecture. &lt;/p&gt;

&lt;p&gt;Ultimately, &lt;strong&gt;strong system design supports the long-term operability and maintainability&lt;/strong&gt; of complex systems, making them easier to evolve and manage over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  When Can You Use it in Projects?
&lt;/h3&gt;

&lt;p&gt;System design becomes especially important at key moments in a product’s lifecycle. It plays a crucial role at the start of any new product or platform, &lt;strong&gt;before major architectural decisions are made&lt;/strong&gt;, helping teams establish a solid foundation. &lt;/p&gt;

&lt;p&gt;It is equally valuable when scaling an existing system that is reaching its performance or reliability limits, as it guides necessary improvements. &lt;/p&gt;

&lt;p&gt;During transitions, such as &lt;strong&gt;migrating from a monolith to a micro-services architecture, system design provides structure and direction&lt;/strong&gt;. It also &lt;strong&gt;supports onboarding new engineering&lt;/strong&gt; teams by offering &lt;strong&gt;clear architectural context&lt;/strong&gt;, and it helps organizations prepare their &lt;strong&gt;infrastructure for high-traffic events&lt;/strong&gt; or rapid user growth, ensuring the system can handle increased demand effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  If You Learn Design Systems, What Impact Can You Make?
&lt;/h3&gt;

&lt;p&gt;Strong system design enables engineers to build systems that are &lt;strong&gt;resilient, scalable, and production-ready&lt;/strong&gt; from day one. It empowers them to influence critical infrastructure decisions that can impact millions of users, while also reducing friction within engineering teams by establishing clear and reusable architectural patterns. Beyond technical outcomes, it helps individuals build credibility as senior technical voices in cross-functional product discussions. At the same time, it fosters a culture of incident prevention by encouraging proactive thinking around failure scenarios and system reliability.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foptfkiaa8m066jiouumy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foptfkiaa8m066jiouumy.png" alt="Image description engineer can work on these projects and make impact" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Kind of Projects Can You Work On?
&lt;/h3&gt;

&lt;p&gt;System design is especially critical in complex and high-impact environments where reliability and scalability are non-negotiable. It plays a key role in &lt;strong&gt;large-scale distributed systems&lt;/strong&gt; such as &lt;strong&gt;e-commerce platforms, streaming services, and fintech applications&lt;/strong&gt;, where millions of users depend on consistent performance. &lt;/p&gt;

&lt;p&gt;It is equally important in &lt;strong&gt;cloud-native&lt;/strong&gt; and &lt;strong&gt;Kubernetes-based infrastructure platforms&lt;/strong&gt;, where systems must be dynamic and resilient by design. In real-time systems like messaging apps or trading platforms, system design ensures low latency and high responsiveness. &lt;/p&gt;

&lt;p&gt;It also supports multi-region, globally distributed applications by enabling seamless operation across geographies. Additionally, system design is foundational for developer platforms, internal tooling, and API-first products, where clarity, consistency, and scalability directly impact developer experience and productivity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Examples of Design Systems (Developer / System Architecture):
&lt;/h3&gt;

&lt;p&gt;Examples of system design in real-world applications highlight how leading technology companies architect their platforms for scale and resilience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Netflix:&lt;/strong&gt; Microservices + chaos engineering for resilience&lt;br&gt;
&lt;strong&gt;Uber:&lt;/strong&gt; Real-time geolocation with event-driven architecture&lt;br&gt;
&lt;strong&gt;Airbnb:&lt;/strong&gt; Search ranking with distributed caching at scale&lt;br&gt;
&lt;strong&gt;Twitter/X:&lt;/strong&gt; Fan-out on write for timeline delivery at massive scale&lt;br&gt;
&lt;strong&gt;WhatsApp:&lt;/strong&gt; Handling billions of messages with minimal infrastructure, showcasing extreme efficiency in system design.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wd3uljyabg5nkmhu0mh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wd3uljyabg5nkmhu0mh.png" alt="Uber architecure example" width="799" height="749"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the example of the Uber system architecture and you can learn more from this blog: &lt;a href="https://www.uber.com/us/en/blog/microservice-architecture/" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Concepts of Design Systems:
&lt;/h3&gt;

&lt;p&gt;System design is built on several key components that ensure a system can operate efficiently at scale.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6l4gpqakb02lbx65pcny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6l4gpqakb02lbx65pcny.png" alt="Core concepts" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt; — horizontal and vertical scaling strategies for handling user growth.&lt;br&gt;
&lt;strong&gt;Availability &amp;amp; Reliability&lt;/strong&gt; — redundancy, failover, and uptime guarantees&lt;br&gt;
&lt;strong&gt;Data Storage&lt;/strong&gt; — relational, NoSQL, time-series, and blob storage trade-offs&lt;br&gt;
&lt;strong&gt;APIs &amp;amp; Communication&lt;/strong&gt; — REST, gRPC, GraphQL, and event-driven messaging patterns&lt;br&gt;
&lt;strong&gt;Caching&lt;/strong&gt; — Redis, CDN, and in-memory strategies for reducing load&lt;br&gt;
&lt;strong&gt;Load Balancing&lt;/strong&gt; — distributing traffic to eliminate single points of failure&lt;br&gt;
&lt;strong&gt;Observability&lt;/strong&gt; — logging, metrics, and distributed tracing as architectural requirements&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the Mental Model?
&lt;/h3&gt;

&lt;p&gt;A developer’s mental model for system design is centered on asking the &lt;strong&gt;right questions before building anything&lt;/strong&gt;. They begin by identifying both functional and non-functional requirements to understand what the &lt;strong&gt;system must do and how well it should perform&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;They then consider the read/write ratio to determine how it will influence data storage and access patterns. From there, they analyze potential bottlenecks across the system—whether in the database, network, or compute layer—to anticipate performance constraints.&lt;/p&gt;

&lt;p&gt;Developers also think critically about failure scenarios, defining what can go wrong and establishing clear recovery paths. Finally, they focus on &lt;strong&gt;how the system will be observed and maintained in production&lt;/strong&gt;, ensuring there are robust mechanisms for monitoring, debugging, and continuous improvement.&lt;/p&gt;

&lt;p&gt;📚 Developer System Design Resources with Links:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Designing Data-Intensive Applications&lt;/strong&gt; — Martin Kleppmann&lt;br&gt;
The definitive book on distributed systems, databases, and data architecture trade-offs. &lt;/p&gt;

&lt;p&gt;Official book site → &lt;a href="//dataintensive.net"&gt;dataintensive.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaw28le1fv717syzk5ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgaw28le1fv717syzk5ah.png" alt="Image description of book" width="799" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. System Design Primer&lt;/strong&gt; — GitHub&lt;br&gt;
Free, open source, comprehensive study guide covering everything from basics to advanced system design interviews. &lt;a href="//github.com/donnemartin/system-design-primer"&gt;Github Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. ByteByteGo&lt;/strong&gt; — Alex Xu&lt;br&gt;
Visual, beginner-friendly system design explanations covering real-world architectures like Netflix, Uber, and Twitter. &lt;a href="//bytebytego.com"&gt;Website Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Cloud Architecture Centers&lt;/strong&gt;&lt;br&gt;
Official cloud-native design pattern libraries from the three major cloud providers. AWS Architecture Center &lt;a href="//aws.amazon.com/architecture"&gt;Link&lt;/a&gt;, Google Cloud and Microsoft Azure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. High Scalability&lt;/strong&gt;&lt;br&gt;
Real-world architecture case studies from companies like YouTube, Netflix, WhatsApp, and more. &lt;a href="//highscalability.com"&gt;Website link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. CNCF Landscape&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0eyvipsmnrmwy6oycxip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0eyvipsmnrmwy6oycxip.png" alt="CNCF landscape" width="800" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The complete cloud native ecosystem reference — tools, projects, and categories across the entire CNCF landscape. &lt;a href="//landscape.cncf.io"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key insights&lt;/strong&gt; : The most powerful insight in system design is that the cost of a wrong architectural decision compounds exponentially over time — a trade-off made poorly at the design phase can take years and millions of dollars to unwind at scale. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers who internalize the mental model of asking the right questions before writing a single line of code become the engineers who build systems that not only work today but endure, scale, and recover gracefully for years to come&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now let's move on to UX designer perspective design system.&lt;/p&gt;



&lt;h2&gt;
  
  
  Design system in UX Designers point of view:
&lt;/h2&gt;

&lt;p&gt;A design system is a centralized collection of reusable UI components, design tokens, interaction patterns, typography, color palettes, spacing rules, and guidelines that ensure visual and experiential consistency across an entire product. It is the &lt;strong&gt;single source of truth for how a product looks, feels, and behaves&lt;/strong&gt; from the user's point of view.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcaenv66buyn3faq2cib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffcaenv66buyn3faq2cib.png" alt="Image description design system developers point of view" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is it Important to Consider?
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;well-designed&lt;/strong&gt; system ensures consistency across every screen and &lt;strong&gt;touchpoint a user interacts with, creating a unified experience throughout the product&lt;/strong&gt;. It embeds accessibility and inclusivity standards directly at the component level, rather than treating them as an afterthought in the design process. &lt;/p&gt;

&lt;p&gt;By standardizing patterns and decisions, it reduces design debt by eliminating repeated and inconsistent UI choices over time. It also creates a shared language between designers, developers, and product teams, enabling better collaboration and alignment. Ultimately, it builds user trust by delivering predictable and coherent experiences that feel familiar and reliable across the entire system.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Will it Be Useful?
&lt;/h3&gt;

&lt;p&gt;A design system significantly speeds up the design workflow by providing ready-to-use, tested components that reduce the need to build interfaces from scratch. &lt;/p&gt;

&lt;p&gt;It helps bridge the gap between design and engineering by establishing a shared component language that both teams can understand and use consistently. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fg9fe0yk5v0h2hn5328.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fg9fe0yk5v0h2hn5328.png" alt="Image description the power of design system" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This allows designers to focus more on solving complex user problems rather than repeatedly recreating basic UI elements. It also enables rapid prototyping and smoother, more consistent design handoffs between teams. Additionally, when a single component is updated, the improvement can instantly propagate across every product surface, ensuring consistency and efficiency at scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  When Can You Use it in Projects?
&lt;/h3&gt;

&lt;p&gt;A design system becomes especially important in several key scenarios within product development. It is essential when building a multi-product ecosystem that requires a consistent UI across different surfaces to maintain a &lt;strong&gt;unified user experience&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It is also valuable when a team is scaling and multiple designers are working in parallel, ensuring alignment and reducing inconsistencies. When the design-to-development handoff becomes slow, inconsistent, or error-prone, a design system helps streamline collaboration and improve accuracy. &lt;/p&gt;

&lt;p&gt;It is equally important when a product has matured enough to require standardization of its UI language for better coherence and maintainability. Finally, it plays a &lt;strong&gt;critical role when accessibility needs to be systematically enforced across the product, ensuring inclusive design&lt;/strong&gt; is built into every component from the start.&lt;/p&gt;

&lt;h3&gt;
  
  
  If You Learn Design Systems, What Impact Can You Make?
&lt;/h3&gt;

&lt;p&gt;A well-established design system helps elevate product quality and maintain &lt;strong&gt;brand consistency&lt;/strong&gt; at scale across every user touchpoint. It positions designers as strategic contributors who shape product direction, rather than focusing only on individual screens. &lt;/p&gt;

&lt;p&gt;By removing repetitive design decisions from the workflow, it enables faster and more efficient product delivery. It also supports the systematic adoption of accessibility and inclusive design practices across the organization, ensuring these principles are embedded throughout the product. &lt;/p&gt;

&lt;p&gt;In addition, it acts as a bridge between design vision and engineering execution, helping both teams stay aligned from concept to implementation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16yrzjw59bx870em34aw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F16yrzjw59bx870em34aw.png" alt="Image description about what impact make with design system" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Kind of Projects Can You Work On?
&lt;/h3&gt;

&lt;p&gt;Design systems are especially valuable in enterprise SaaS product design, where &lt;strong&gt;interfaces are often complex&lt;/strong&gt; and must support multiple user roles with different needs and permissions. &lt;/p&gt;

&lt;p&gt;They are also critical in the creation and governance of design systems within large product organizations, ensuring consistency, scalability, and long-term maintainability across teams. In developer tools and platform UI, where precision, information density, and efficiency are essential, design systems help maintain clarity and usability. &lt;/p&gt;

&lt;p&gt;They are equally important in mobile and cross-platform product design, where consistent component behavior is needed across different devices and environments. Additionally, design systems play a key role in &lt;strong&gt;open source contributions&lt;/strong&gt; such as Material Design, Carbon Design System, and Atlassian Design System, which help standardize and scale design practices across the broader industry.&lt;br&gt;
You can explore the &lt;a href="https://openmrs.org/" rel="noopener noreferrer"&gt;Open MRS website&lt;/a&gt; and their applications are using the Carbon design system to make consistent products among the OpenMRS platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  Examples of Design Systems:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fw3scxt5of7j0zmcmg1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fw3scxt5of7j0zmcmg1.png" alt="Example" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Material Design : Google - Comprehensive motion and component guidelines&lt;br&gt;
Carbon Design System : IBM - Enterprise accessibility and data-heavy UIs&lt;br&gt;
Atlassian Design System : Atlassian - Developer tool UI patterns&lt;br&gt;
Fluent UI : Microsoft - Cross-platform consistency across Office products&lt;br&gt;
Polaris: Shopify - E-commerce focused UX patterns&lt;br&gt;
Lightning Design System : Salesforce Enterprise CRM - UI standards&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Concepts of Design Systems
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Design Tokens&lt;/strong&gt; — the atomic values of color, spacing, typography, and elevation that feed every component&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component Library&lt;/strong&gt; — reusable UI building blocks like buttons, modals, forms, and navigation patterns&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusb05vz19xww6yqc7son.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusb05vz19xww6yqc7son.png" alt="Image description of core concepts" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pattern Library&lt;/strong&gt; — documented solutions to recurring UX problems like empty states, error handling, onboarding flows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessibility Standards&lt;/strong&gt; — WCAG compliance baked into every component by default&lt;br&gt;
&lt;strong&gt;Governance Model&lt;/strong&gt; — who owns, contributes to, and maintains the system over time&lt;br&gt;
&lt;strong&gt;Documentation&lt;/strong&gt; — the living guide that explains when and how to use every element.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the Mental Model?
&lt;/h3&gt;

&lt;p&gt;A UX designer approaches a design system by asking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What experience are we creating, and for whom?&lt;/li&gt;
&lt;li&gt;What are the most repeated UI patterns that need standardization?&lt;/li&gt;
&lt;li&gt;How do we ensure every component is accessible and inclusive by default?&lt;/li&gt;
&lt;li&gt;How does this component behave across different screen sizes and contexts?&lt;/li&gt;
&lt;li&gt;How do we govern and evolve this system as the product grows?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;UX Design System Resources&lt;/p&gt;

&lt;p&gt;&lt;a href="https://m3.material.io/" rel="noopener noreferrer"&gt;Google material design&lt;/a&gt; — Material Design documentation and guidelines&lt;br&gt;
&lt;a href="//carbondesignsystem.com"&gt;carbondesignsystem.com&lt;/a&gt; — IBM Carbon full documentation&lt;br&gt;
&lt;a href="//atlassian.design"&gt;atlassian.design&lt;/a&gt; — Atlassian design system patterns&lt;br&gt;
&lt;a href="//designsystemsrepo.com"&gt;designsystemsrepo.com&lt;/a&gt; — curated directory of public design systems&lt;br&gt;
Figma Community — open design system files and UI kits&lt;br&gt;
&lt;a href="//Storybook.js.org"&gt;Storybook.js.org&lt;/a&gt; — tool for building and documenting component libraries&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key insights&lt;/strong&gt;: A design system is never truly finished — it is a living product that grows with the organization, and the designers who treat it as such become the architects of consistent, trustworthy user experiences at scale. &lt;/p&gt;

&lt;p&gt;The deepest insight is that a design system is not about restricting creativity; it is about liberating designers to focus on the problems that truly require human judgment, while the system handles the repetitive decisions that slow teams down.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion:
&lt;/h3&gt;

&lt;p&gt;In such a way when you are working with the developer experience domain to understand what design system that discussing in the meetings. That could help you understand what design system the team is talking about and what design system decisions are making as per the requirements. &lt;/p&gt;

&lt;p&gt;From a developer’s perspective, a design system is often discussed and defined before development begins—it helps set the foundation for how things will be built.&lt;/p&gt;

&lt;p&gt;From a UX perspective, a design system typically evolves during the product-building phase, especially after research is completed, to ensure the experience is grounded in real user needs.&lt;/p&gt;

&lt;p&gt;At the end, both perspectives play a critical role in product development.&lt;/p&gt;

&lt;p&gt;Whether you’re designing the experience a user sees or the infrastructure that powers it, both disciplines share the same fundamental truth: &lt;strong&gt;great systems are built on intentional decisions, not accidental ones&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;UX thinking and developer system thinking are two sides of the same coin. Teams that bring both perspectives together build products that are not only technically sound but also genuinely human.&lt;/p&gt;

&lt;p&gt;I believe this explanation on differentiation about design system point of developer's and UX is different but these both are very important while building the real products. &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>cloudnative</category>
      <category>devex</category>
      <category>devrel</category>
    </item>
    <item>
      <title>🚀 “𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀 𝗶𝘀 𝗻𝗼𝘁 𝗷𝘂𝘀𝘁 𝗨𝗫—𝗶𝘁’𝘀 𝘀𝘆𝘀𝘁𝗲𝗺 𝘁𝗵𝗶𝗻𝗸𝗶𝗻𝗴.”

👉 DevEx Design Challenges Series — Now Complete: https://dev.to/priya_sajja_c336921bbda87/series/38724</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Sat, 25 Apr 2026 00:14:44 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/-devex-design-challenges-series-1p9l</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/-devex-design-challenges-series-1p9l</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://dev.to/priya_sajja_c336921bbda87/series/38724" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3otvb2z646ytpt1hl2rv.jpg" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://dev.to/priya_sajja_c336921bbda87/series/38724" rel="noopener noreferrer" class="c-link"&gt;
            Developer Experience designer challenges &amp;amp; Solutions Series' Articles - DEV Community
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            View Developer Experience designer challenges &amp;amp; Solutions Series' Articles on DEV Community
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" width="300" height="299"&gt;
          dev.to
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Challenge : 4 System-Level Challenges in Developer Experience (DevEx) Design</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Tue, 21 Apr 2026 23:30:22 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/challenge-4-system-level-challenges-in-developer-experience-devex-design-2fjl</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/challenge-4-system-level-challenges-in-developer-experience-devex-design-2fjl</guid>
      <description>&lt;p&gt;One of the most critical challenges in Developer Experience (DevEx) design is &lt;strong&gt;operating at the system level rather than the interface level.&lt;/strong&gt; DevEx is not simply UX applied to a technical domain—it requires &lt;strong&gt;designing across a distributed ecosystem of tools, infrastructure, and workflows&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Unlike traditional UX, where the focus is a single product or interface, DevEx involves understanding how developers interact with an entire toolchain. For example, when designing for Kubernetes, the scope extends beyond a single UI or feature. It includes CLI tools, infrastructure configurations, CI/CD pipelines, and collaboration patterns across teams.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmb31857solcnff1ekb1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmb31857solcnff1ekb1.png" alt="Image about the human thinking about the system" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Engineers typically work in &lt;strong&gt;fragmented, non-linear workflows&lt;/strong&gt;—switching between tools, environments (cloud, on-prem, multi-cluster), and communication channels. This constant context switching increases &lt;strong&gt;cognitive load&lt;/strong&gt; and &lt;strong&gt;makes it difficult to design seamless experiences.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The core challenge, therefore, is not just improving individual touch points, but &lt;strong&gt;understanding and optimizing the end-to-end system.&lt;/strong&gt; Effective DevEx design requires system-level thinking to reduce fragmentation, improve interoperability, and create cohesive workflows for engineers.&lt;/p&gt;

&lt;p&gt;In this article, I’ll break down these system-level challenges into five key areas, using a &lt;strong&gt;hybrid engineer persona operating in a multi-cluster environment&lt;/strong&gt; as a reference.&lt;/p&gt;



&lt;h2&gt;
  
  
  1. Invisible User Journeys:
&lt;/h2&gt;

&lt;p&gt;In traditional UX domains such as designing a &lt;strong&gt;hospital&lt;/strong&gt; digital ecosystem the user journeys or workflows are &lt;strong&gt;relatively deterministic and well-defined&lt;/strong&gt;. For example, a public facing hospital website typically follows a structured information architecture: organizational overview, service catalog, provider directory, and contact endpoints. This &lt;strong&gt;often extends into a patient portal&lt;/strong&gt;, which &lt;strong&gt;introduces authenticated workflows&lt;/strong&gt; such as appointment scheduling, access to electronic health records (EHR), diagnostic results, and medication management.&lt;/p&gt;

&lt;p&gt;From a system design standpoint, these two surfaces (&lt;strong&gt;marketing website and patient portal&lt;/strong&gt;) are loosely coupled but clearly integrated via identity, routing, and backend services. The &lt;strong&gt;interaction model is predictable, state transitions are well understood, and user flows can be explicitly mapped end-to-end&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5eck7ajp5eozwzxamu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5eck7ajp5eozwzxamu7.png" alt="Engineer mapping engineers workflows" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, when designing UX for developer platforms particularly in complex domains like multi-cluster infrastructure the concept of a “user journey (Engineer Workflows)” becomes significantly more &lt;strong&gt;abstract and non-deterministic&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Developer workflows are shaped by infrastructure &lt;strong&gt;topology, organizational constraints, and tooling ecosystems&lt;/strong&gt;. Consider the variability across multi-cluster environments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;platform engineer&lt;/strong&gt; deploying Kubernetes clusters across multi-cloud environments (e.g., AWS, Azure, GCP).&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;enterprise engineer&lt;/strong&gt; managing strictly on-premises clusters due to compliance requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edge engineers&lt;/strong&gt; deploying lightweight clusters across distributed edge locations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid setups&lt;/strong&gt; combining on-prem + cloud + edge infrastructure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these scenarios introduces different constraints around networking, identity, observability, and lifecycle management. Additionally, tooling fragmentation further diversifies workflows. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Teams using Rancher for centralized cluster management&lt;/li&gt;
&lt;li&gt;Organizations leveraging Azure Arc for unified control planes&lt;/li&gt;
&lt;li&gt;Developers interacting with clusters via Headlamp&lt;/li&gt;
&lt;li&gt;Internal platforms built on top of custom abstractions and proprietary orchestration layers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two engineers solving the same problem (e.g., cluster deployment or debugging) may follow completely different paths using different tools, scripts, or automation pipelines.&lt;/p&gt;

&lt;p&gt;Why These Are “Invisible Journeys (Invisible workflows)”&lt;/p&gt;

&lt;p&gt;Unlike traditional UX flows, developer journeys exhibit the following characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Non-linear execution paths:&lt;/strong&gt; Tasks such as cluster provisioning, scaling, or debugging do not follow a fixed sequence. They depend on runtime context, failures, and system state.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High degree of personalization:&lt;/strong&gt; Developers create scripts, CLIs, and automation pipelines tailored to their workflows. Two engineers solving the same problem (e.g., cluster autoscaling) may use entirely different approaches.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Toolchain-driven interactions:&lt;/strong&gt; The “interface” is often not a single UI but a combination of CLI tools, YAML configurations, APIs, CI/CD pipelines, and observability dashboards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Low visibility into real behavior:&lt;/strong&gt; Much of the workflow happens outside observable UI layers—in terminal sessions, scripts, or internal tools—making it difficult to capture through traditional UX methods.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Core UX Challenge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You cannot rely solely on predefined user flows, wireframes, or static journey maps. Instead, designing for developer platforms requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modeling workflow variability rather than enforcing a single “happy path”&lt;/li&gt;
&lt;li&gt;Understanding environment-specific constraints (cloud, on-prem, edge)&lt;/li&gt;
&lt;li&gt;Capturing real-world behaviors through contextual inquiry, shadowing, and telemetry&lt;/li&gt;
&lt;li&gt;Designing for composability and extensibility rather than rigid interfaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key Insight&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In developer focused systems, the “user journey” is not a fixed path—it is an emergent property of: &lt;strong&gt;Infrastructure architecture, Tooling ecosystem, Organizational practices&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is why these journeys are often invisible, they exist across fragmented systems and only become apparent through deep, context-rich research.&lt;/p&gt;



&lt;h2&gt;
  
  
  2. Designing for Systems, Not Screens:
&lt;/h2&gt;

&lt;p&gt;This section draws from hands on work within the Kubernetes multi-cluster research space, where the core challenge was not UI design, but &lt;strong&gt;modeling end-to-end developer workflows across heterogeneous environments&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5i8mu1gf1i28gyh3icp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5i8mu1gf1i28gyh3icp.png" alt="women explaining the workflows" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;During research synthesis, I constructed a &lt;strong&gt;hybrid engineer persona&lt;/strong&gt; based on &lt;strong&gt;raw qualitative and behavioral data&lt;/strong&gt;. The analysis revealed that multi-cluster operations do not follow a single deterministic workflow. Instead, engineers operate across three primary workflow paradigms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual-first workflows:&lt;/strong&gt; high cognitive control, low automation dependency&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid workflows&lt;/strong&gt; (automation + manual overrides): balanced control with selective automation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation-first workflows&lt;/strong&gt; (AI-assisted or fully automated): minimal manual intervention, high system trust&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each category introduced distinct tooling expectations and system constraints. For example:&lt;/p&gt;

&lt;p&gt;Some engineers required AI-augmented observability and decision support embedded into existing toolchains. Others preferred standalone orchestration platforms for multi-cluster lifecycle management. Enterprise-scale environments imposed organizational constraints, such as security policies, internal platform dependencies, and legacy integrations. Toolchains varied significantly, including internal systems, open-source ecosystems, and custom scripts.&lt;/p&gt;

&lt;p&gt;As a result, the research surfaced &lt;strong&gt;10+ distinct workflow variants&lt;/strong&gt;, each representing different combinations of:&lt;/p&gt;

&lt;p&gt;cluster management strategies, observability patterns, deployment models, organizational constraints&lt;/p&gt;

&lt;p&gt;This complexity makes it clear that designing a single multi-cluster UI is insufficient. The problem space requires &lt;strong&gt;system-level design thinking&lt;/strong&gt;, where the goal is to support workflow continuity across tools, not optimize isolated interfaces.&lt;/p&gt;

&lt;p&gt;System-Level Nature of DevEx: In Developer Experience (DevEx), workflows are inherently distributed across multiple touch points, not confined to a single interface. A typical developer journey may span: Documentation systems, CLI environments, Logging and observability platforms, Monitoring dashboards, Issue tracking systems like GitHub&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The “interface” is effectively the entire ecosystem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Core Challenge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You are not designing a screen, you are designing &lt;strong&gt;interoperability across a fragmented system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A failure in any single component such as ambiguous documentation, inconsistent CLI behavior, or poor observability signals can propagate and break the entire workflow chain.&lt;/p&gt;

&lt;p&gt;This is why &lt;strong&gt;DevEx design requires&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deep system awareness (APIs, pipelines, infra constraints)&lt;/li&gt;
&lt;li&gt;Workflow orchestration thinking, not just UI optimization&lt;/li&gt;
&lt;li&gt;Alignment across tools, teams, and environments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The outcome is not a better screen, it is a cohesive, resilient developer workflow system.&lt;/p&gt;



&lt;h2&gt;
  
  
  3. System Constraints Drive Design Decisions(Not Just UX)
&lt;/h2&gt;

&lt;p&gt;In distributed systems especially multi-cluster platforms design decisions are &lt;strong&gt;rarely driven by UX alone&lt;/strong&gt;. They are tightly coupled with &lt;strong&gt;underlying system architecture and operational realities.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnmz8h6mzxnlvgedqyor.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmnmz8h6mzxnlvgedqyor.png" alt="Image description about women explains about system constraints" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, in a multi-cluster environment (e.g., orchestrated via Kubernetes), engineers often decompose applications (such as e-commerce systems) into micro services and deploy them across multiple clusters. These placement decisions are influenced by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workload distribution strategies (latency, failover, cost optimization)&lt;/li&gt;
&lt;li&gt;Cluster topology (cloud, on-prem, edge)&lt;/li&gt;
&lt;li&gt;Service-to-service dependencies&lt;/li&gt;
&lt;li&gt;Data locality and compliance requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, the UI/UX of a multi-cluster management tool must reflect this complexity rather than abstract it away entirely. Technical Dependencies That Shape UX&lt;/p&gt;

&lt;p&gt;Design is constrained by several non-negotiable system factors:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend Architecture&lt;/strong&gt;: Microservices, service meshes (e.g., Istio), and distributed data stores dictate how information can be surfaced and interacted with.&lt;br&gt;
&lt;strong&gt;APIs and Contracts&lt;/strong&gt;: UX is bounded by available APIs (e.g., Kubernetes API). Limitations in API granularity, latency, or consistency directly impact what the interface can support.&lt;br&gt;
&lt;strong&gt;Infrastructure Constraints&lt;/strong&gt;: Resource quotas, network policies, and cluster heterogeneity (multi-cloud + on-prem + edge) influence both system behavior and UI responsiveness.&lt;br&gt;
&lt;strong&gt;Open Source Ecosystem Constraints&lt;/strong&gt;: Many platforms depend on upstream tools and CRDs (Custom Resource Definitions). Design must align with their capabilities and limitations rather than reinvent abstractions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Core Challenge&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even when research clearly identifies a more intuitive or efficient user experience, it may not be immediately implementable due to these constraints.&lt;/p&gt;

&lt;p&gt;This creates a fundamental tension such as UX wants simplicity and clarity, Systems introduce complexity and trade-offs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What This Requires from UX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Designing in this space means operating with a systems mindset:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand Technical Trade-offs: Evaluate latency vs. consistency, abstraction vs. control, and flexibility vs. complexity.&lt;/li&gt;
&lt;li&gt;Collaborate Deeply with Engineers: UX decisions must be co-designed with backend and platform engineers, not handed off after the fact. &lt;/li&gt;
&lt;li&gt;Design Within Constraints&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;goal&lt;/strong&gt; is not to ignore constraints but to &lt;strong&gt;make them visible, understandable, and manageable for users&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In highly technical domains like multi cluster systems, good UX is not about removing complexity. it’s about structuring and exposing it in a way that aligns with how engineers actually reason about distributed systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Additional Context: Platform &amp;amp; Ecosystem Constraints&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Constraints are not only technical they are also platform and ecosystem driven.&lt;/p&gt;

&lt;p&gt;In platforms like Rancher, any &lt;strong&gt;new feature or plugin must align&lt;/strong&gt; with Rancher’s architecture, permission model, and extension framework. Even if a UX problem is identified, the solution must stay within what the platform allows. Similarly, when building plugins in tools like Headlamp for ecosystems such as K-native, teams must account for: K-native APIs and resource models, Compatibility constraints, Extension boundaries and lifecycle&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;While some tools (like Headlamp) offer more flexibility, they still need to respect the constraints imposed by the target ecosystem (e.g., K- native).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Key takeaway:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even extensibility (plugins, integrations) operates within strict boundaries, &lt;strong&gt;UX solutions must align with platform permissions, APIs, and ecosystem&lt;/strong&gt; rules before they can become usable reality.&lt;/p&gt;



&lt;h2&gt;
  
  
  4. Consistency across a distributed ecosystem :
&lt;/h2&gt;

&lt;p&gt;Consistency across a distributed ecosystem is one of the most complex challenges in Developer Experience (DevEx) design. In modern systems, development responsibilities are inherently fragmented: one developer may focus on API design, another on backend services, another on frontend integration, while others handle database architecture or CI/CD pipelines. In parallel, especially in open-source or cloud-native ecosystems, different communities may own different domains—for example, one group concentrating on core multi-cluster operations such as deployment, while another focuses on multi-cluster networking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1uhx4vk88h5c8i1ryha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1uhx4vk88h5c8i1ryha.png" alt="Image description explains about the consistency across system" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This distribution of ownership introduces structural misalignment. In DevEx, the overall experience is not controlled by a single team but is instead shaped by multiple teams, contributors, and sometimes independent communities. As a result, &lt;strong&gt;inconsistencies naturally&lt;/strong&gt; emerge, terminology may vary across components, interaction patterns may differ between tools, and documentation often becomes fragmented or siloed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The core challenge&lt;/strong&gt;, therefore, is maintaining a coherent and consistent experience across this decentralized system. Achieving this requires not just &lt;strong&gt;strong communication&lt;/strong&gt;, but also &lt;strong&gt;shared standards&lt;/strong&gt;, &lt;strong&gt;aligned mental models&lt;/strong&gt;, and &lt;strong&gt;deliberate design governance&lt;/strong&gt; to ensure that, despite the distributed nature of development, the end-to-end experience feels unified to the user.&lt;/p&gt;



&lt;h2&gt;
  
  
  5. Unified experience &amp;amp; Thinking Beyond Features:
&lt;/h2&gt;

&lt;p&gt;In Developer Experience (DevEx), the &lt;strong&gt;product experience is not centered around the UI alone&lt;/strong&gt;, unlike traditional software products. Instead, it is a &lt;strong&gt;composite experience formed by documentation, CLI tools, APIs, and UI dashboards working together as a unified system&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Designing for DevEx requires treating these elements as interconnected surfaces rather than isolated components, where each one supports and reinforces the others to enable a seamless workflow. &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;core challenge&lt;/strong&gt; lies in &lt;strong&gt;ensuring strong cohesion&lt;/strong&gt; between them—how documentation guides CLI usage, how APIs are reflected in both CLI commands and UI actions, and how UI dashboards surface and simplify underlying system operations. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For instance, if the documentation is unclear or incomplete, even a well-designed UI becomes difficult to use effectively because developers rely on documentation and CLI workflows to understand system behavior and operational intent.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In traditional UX design, success is often measured by how well individual features, screens, and user flows are designed and visually presented. The focus tends to remain on isolated interactions and how each feature appears and behaves within a defined interface. However, in Developer Experience (DevEx), the emphasis shifts away from &lt;strong&gt;feature centric thinking&lt;/strong&gt; toward the &lt;strong&gt;efficiency of end-to-end workflows&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zl9ll1lkri5j42eq59d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zl9ll1lkri5j42eq59d.png" alt="Image description about unified experience" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What matters more is how &lt;strong&gt;quickly developers can complete tasks&lt;/strong&gt;, how &lt;strong&gt;smoothly they can move across tools and systems&lt;/strong&gt;, and how much &lt;strong&gt;cognitive effort is required to understand and operate the environment&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;In this context, success is not defined by the quality of a single screen or feature, but by the overall flow across documentation, CLI, APIs, and UI working together. &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;key challenge&lt;/strong&gt; is to move beyond asking “&lt;strong&gt;How does this feature look?&lt;/strong&gt;” and instead evaluate “&lt;strong&gt;How does this entire workflow feel and perform in real usage?&lt;/strong&gt;”&lt;/p&gt;



&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;The key takeaway is that DevEx UX goes far beyond improving individual interfaces; it is fundamentally about improving entire systems of work. Instead of focusing on isolated UI enhancements, the emphasis shifts toward understanding and optimizing how developers interact with interconnected tools, processes, and platforms across the full lifecycle of software delivery. &lt;/p&gt;

&lt;p&gt;This &lt;strong&gt;requires strong systems thinking&lt;/strong&gt; to see how components like APIs, CLI tools, documentation, and UI dashboards influence one another, along with &lt;strong&gt;technical awareness to understand how these systems actually behave in practice&lt;/strong&gt;. It also demands a &lt;strong&gt;deep understanding of developer workflow&lt;/strong&gt;s, including how tasks are executed end-to-end and where &lt;strong&gt;friction typically occurs&lt;/strong&gt;. When approached this way, the role of a UX practitioner evolves from being a &lt;strong&gt;traditional UX designer&lt;/strong&gt; focused on interface design to becoming an &lt;strong&gt;experience strategist who shapes and aligns complex technical ecosystems for efficiency, clarity, and scalability&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ux</category>
      <category>devex</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Challenge: 3 Making UX Work Understandable to Engineers</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Mon, 20 Apr 2026 22:25:20 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/challenge-3-making-ux-work-understandable-to-engineers-1kcb</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/challenge-3-making-ux-work-understandable-to-engineers-1kcb</guid>
      <description>&lt;p&gt;I want to explain this challenge through a real experience I had while working on improving the developer experience for &lt;a href="https://kserve.github.io/website/" rel="noopener noreferrer"&gt;KServe&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Because this is where I truly understood:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;UX work doesn’t fail because of bad research.&lt;/strong&gt;&lt;br&gt;
👉 &lt;strong&gt;It fails when developers don’t understand it fast enough to care.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhe0ffoqpeuj588jk5w6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhe0ffoqpeuj588jk5w6h.png" alt="Image explaining of the UX doesn't fail but the wrong presentation " width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  The Situation:
&lt;/h2&gt;

&lt;p&gt;We set out to improve usability for developers using KServe, specifically focusing on how they &lt;strong&gt;deploy ML models, manage inference services, and work within Kubernetes-based workflows&lt;/strong&gt;. As a UX team, we took a structured approach: &lt;strong&gt;we conducted a usability study, designed task-based scenarios, and collected feedback from real engineers&lt;/strong&gt; to &lt;strong&gt;anchor our decisions in actual developer needs&lt;/strong&gt;. We even received approval from maintainers, and everything seemed solid in theory. But when it came time to &lt;strong&gt;present this work to developers&lt;/strong&gt;… &lt;strong&gt;we struggled&lt;/strong&gt;.&lt;/p&gt;



&lt;h2&gt;
  
  
  What Actually Happened:
&lt;/h2&gt;

&lt;p&gt;In one of our community interactions, we presented a &lt;strong&gt;set of usability tasks&lt;/strong&gt;, our research approach, and &lt;strong&gt;what we wanted developers to do&lt;/strong&gt;. From a UX perspective, &lt;strong&gt;everything felt clear and well-structured&lt;/strong&gt; but from a developer’s perspective, it wasn’t landing the same way. The reaction was subtle but telling: &lt;strong&gt;people didn’t ask many questions, feedback was minimal, and engagement was low&lt;/strong&gt;. At first, it was easy to assume, “maybe people are just busy.” But looking deeper, the real issue became clear: &lt;strong&gt;we hadn’t explained the work in a way that aligned with how developers think.&lt;/strong&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Where We Went Wrong:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx1hco0g8wdcjrvj33g7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx1hco0g8wdcjrvj33g7.png" alt="Image is representing three what went wrong" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. We presented too much information at once
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Including multiple tasks, long end-to-end flows, and heavy contextual details&lt;/strong&gt;. From our side, it felt like organized research with clear structure, but from the developer’s perspective, it came across very differently. It felt like: &lt;strong&gt;“This will take time. I’ll come back later.&lt;/strong&gt;” And in real developer workflows, “later” often turns into never, which meant the &lt;strong&gt;key message and intent were easily lost in the volume.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. We Used UX Framing Instead of Developer Framing:
&lt;/h3&gt;

&lt;p&gt;We used UX framing instead of developer framing when explaining the work. We described it in terms of “usability study,” “user tasks,” and “feedback collection.” From our perspective, this language was standard and clear but developers interpreted it very differently. They were instead thinking: “What exactly do you want me to test?” “How long will this take?” and “What part of KServe is actually broken?” &lt;strong&gt;The gap wasn’t in the research itself, but in the fact that we didn’t clearly answer the practical, implementation focused questions&lt;/strong&gt; developers needed upfront.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. We Didn’t Anchor to Real Workflows:
&lt;/h3&gt;

&lt;p&gt;We were talking about tasks in general, without clearly anchoring them in real developer actions. Instead of connecting them directly to things like deploying a model, defining Kubernetes manifests, or troubleshooting inference latency and failures, the examples stayed too abstract. &lt;strong&gt;As a result, the link to their day to day workflow was weak and not immediately obvious&lt;/strong&gt;, making it harder for developers to see how the work applied to what they actually do.&lt;/p&gt;



&lt;h2&gt;
  
  
  The Turning Point:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv20vs51pfwy1vqr9cccq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv20vs51pfwy1vqr9cccq.png" alt="Image explains what is turning point is" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After seeing low engagement, we changed our approach completely. Instead of trying to “present UX properly,” we asked:&lt;/p&gt;

&lt;p&gt;👉 “How can we make this feel like a small, real developer task?”&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What We Changed (And Why It Worked):
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. One Task at a Time:
&lt;/h3&gt;

&lt;p&gt;We shifted to a &lt;strong&gt;one-task-at-a-time&lt;/strong&gt; approach instead of sharing everything at once. Rather than overwhelming engineers with a full set of activities, we started sending one small, focused task per engineer. &lt;strong&gt;For example:&lt;/strong&gt; try a specific setup step, tell us where you get stuck, and share what feels confusing during the process.&lt;/p&gt;

&lt;p&gt;This approach worked because it &lt;strong&gt;reduced time commitment&lt;/strong&gt;, &lt;strong&gt;made the request feel actionable, and fit naturally into their existing workflow&lt;/strong&gt;. Instead of feeling like a large study or formal exercise, the task now felt simple and approachable like: “I can quickly try this.”&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Short, Direct Communication (Often via DM)
&lt;/h3&gt;

&lt;p&gt;We shifted to short, direct communication (often via DM) instead of relying only on meetings. Rather than scheduling long discussions, we reached out to engineers individually, sent simple, step-by-step instructions, and asked focused, specific questions. This approach changed the response rate significantly because it better matched how developers prefer to work. Developers tend to favor asynchronous communication, clear and explicit asks, and minimal overhead, so &lt;strong&gt;reducing friction made it much easier&lt;/strong&gt; for them to respond and engage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyg0jzvxyks4r93e2zkz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyg0jzvxyks4r93e2zkz6.png" alt="Image described about 5 steps" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. We Stopped Explaining “UX” — and Started Showing Friction
&lt;/h3&gt;

&lt;p&gt;We &lt;strong&gt;stopped explaining “UX” in abstract terms&lt;/strong&gt; and started showing real friction instead. Instead of saying, “We are conducting a usability study,” we shifted to something more direct and anchored in actual behavior: &lt;strong&gt;“We noticed developers get stuck during this step , can you try it and confirm?&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;That small shift made a big difference because it made the problem real, made it relevant to their experience, and made it easier to respond without extra context or effort.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Strong Documentation Built Trust:
&lt;/h3&gt;

&lt;p&gt;Once we started getting feedback, the next challenge emerged: “How did you reach these conclusions?” To address this, we improved how we documented our findings, focusing on clearly capturing what we observed, the patterns across users, the common failure points, and how the insights were derived. We made the reasoning explicit by showing a clear flow: &lt;strong&gt;Raw feedback → Patterns → Insight → Recommendation.&lt;/strong&gt; This step became especially important because developers don’t just accept results at face value—they want to trace the logic and understand how each conclusion was formed. Present the documentation along with the presentation or part of the results that explains how did you reach these conclusions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Repeating in Community Meetings:
&lt;/h3&gt;

&lt;p&gt;Another important learning came from repeating in community meetings. In environments like KServe, not everyone attends every meeting and the context resets frequently, which means people often &lt;strong&gt;miss earlier explanations&lt;/strong&gt;. To address this, we re-presented the work multiple times, explained it again across different sessions, and shared updates incrementally over time.&lt;/p&gt;

&lt;p&gt;At first, this approach felt repetitive, but it turned out to be essential. In reality, it significantly improved awareness, increased participation, and built stronger trust within the community.&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  A Simple Question That Changed My Entire Feedback Strategy:
&lt;/h2&gt;

&lt;p&gt;One moment really changed how I think about presenting UX work. I was in a developer team meeting where I presented a persona, and at the end, I simply asked: “Can I get your feedback?” The response I received was unexpected: “What feedback do you want from us?”&lt;br&gt;
That question caught me off guard. From my perspective, I had explained the work, walked through the persona, and assumed it was obvious what kind of input I needed. But from their perspective, it wasn’t clear at all they &lt;strong&gt;needed more specific context&lt;/strong&gt; and direction on what to focus on.&lt;/p&gt;

&lt;p&gt;I was presenting in the same way I typically do in UX-focused meetings, assuming the format would translate. But developers don’t think in the same way, and they don’t automatically understand what a persona is, why it matters, or what kind of feedback is expected from them.&lt;br&gt;
So when &lt;strong&gt;I asked for “feedback&lt;/strong&gt;,” it was &lt;strong&gt;too vague and open-ended&lt;/strong&gt;. And that’s exactly why the response came back as: &lt;strong&gt;“What exactly do you want from us?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After that experience, I changed how I structured my presentation approach. Instead of jumping straight into the persona, I began explaining it step by step, starting with the fundamentals. I now start with the basics (very important)—clearly outlining what a persona is, why we are creating it, and how it will be used in the context of the work. Then present the process of persona creation form the research data and finally explain the actual persona that you created form the raw data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For example,&lt;/strong&gt; I created a persona of a hybrid engineer who deploys clusters across multi-cloud, on-prem, and edge environments.&lt;/p&gt;

&lt;p&gt;When presenting this persona in a meeting, you can ask for feedback like this:&lt;/p&gt;

&lt;p&gt;“If you are an engineer deploying clusters across cloud, on-prem, and edge environments, does this persona reflect your problems, goals, workflows, and tools?”&lt;/p&gt;

&lt;p&gt;You can also ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Does this persona represent your day-to-day tasks as a hybrid engineer, or is something missing?”&lt;/p&gt;

&lt;p&gt;“Do these goals and pain points resonate with your experience?”&lt;/p&gt;

&lt;p&gt;“Is there anything that doesn’t match your workflow or feels completely different?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Based on their feedback, you can refine the persona by adding missing tasks, adjusting goals, or removing elements that don’t align with real-world workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Changed After This:&lt;/strong&gt; Once I started asking specific, targeted questions, things began to shift. Developers responded more frequently, feedback became more detailed, and conversations turned more meaningful and insightful.&lt;/p&gt;

&lt;p&gt;Instead of silence, I started hearing responses like: “This part is correct, but we also struggle with…”, “We don’t use this tool—we use something else,” and “This step is missing in real workflows.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key insight:&lt;/strong&gt; The problem wasn’t that developers didn’t want to give feedback—it was that I didn’t clearly ask for the right kind of feedback.&lt;/p&gt;

&lt;p&gt;When you explain the context, show your process, and ask specific, targeted questions, developers know exactly how to respond. And that’s when UX feedback actually starts working.&lt;/p&gt;



&lt;h2&gt;
  
  
  What Changed After This:
&lt;/h2&gt;

&lt;p&gt;Once we adapted to developer behavior, the quality of interaction changed noticeably. &lt;strong&gt;Feedback became more specific, engineers engaged more actively&lt;/strong&gt;, and &lt;strong&gt;conversations became deeper&lt;/strong&gt; and more &lt;strong&gt;meaningful&lt;/strong&gt;. Instead of silence or minimal responses, we started hearing things like: “Yeah, this step is confusing because…”, “I had to check another doc for this”, and “This part could be simplified.”&lt;/p&gt;

&lt;p&gt;That’s when it became clear: 👉 &lt;strong&gt;the UX work itself didn’t change — the way we communicated it did.&lt;/strong&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  The Real Insight:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcuhatu3i8k4basscha03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcuhatu3i8k4basscha03.png" alt="Real insight illustration" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This experience completely changed how I think about presenting UX in DevEx. It’s not about having perfect slides, using heavy UX terminology, or relying on structured frameworks. Instead, it’s about something much more practical and aligned with the audience.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;It’s about making your work feel like part of a developer’s workflow&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;If developers don’t understand your UX work, it’s not because they don’t care—it’s usually because it doesn’t fit their mental model, doesn’t align with their workflow, or feels too heavy and abstract to act on.&lt;/p&gt;

&lt;p&gt;But when you break things into small tasks, show real friction points, speak in terms of their actual work, and provide traceable logic behind decisions, something shifts.&lt;/p&gt;

&lt;p&gt;UX stops being seen as &lt;strong&gt;“design work”&lt;/strong&gt;… and starts being understood as &lt;strong&gt;engineering value&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>machinelearning</category>
      <category>ux</category>
      <category>devex</category>
    </item>
    <item>
      <title>Challenge : 2 The Project Selection Trap</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Fri, 17 Apr 2026 23:25:19 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/challenge-2-the-project-selection-trap-3okm</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/challenge-2-the-project-selection-trap-3okm</guid>
      <description>&lt;h2&gt;
  
  
  Section: 1 Choosing the Right Project And Where You Can Truly Contribute
&lt;/h2&gt;

&lt;p&gt;Another major challenge in Developer Experience (DevEx) design is choosing where to contribute. In the cloud-native ecosystem, different projects require completely different skills and levels of understanding. For example:&lt;/p&gt;

&lt;p&gt;OpenTelemetry → requires knowledge of observability, telemetry data, and sometimes UI dashboards&lt;br&gt;
Kubernetes / multi-cluster systems → involve infrastructure, deployment workflows, and cluster management&lt;br&gt;
Kyverno → focuses on policies, governance, and configuration validation&lt;br&gt;
Cilium → involves networking, security, and low-level system behavior&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this is challenging
&lt;/h3&gt;

&lt;p&gt;As a UX/DevEx designer, you may struggle with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where should I start?&lt;/li&gt;
&lt;li&gt;Which project matches my current skills?&lt;/li&gt;
&lt;li&gt;Do I need deep technical expertise before contributing?&lt;/li&gt;
&lt;li&gt;What kind of UX problems exist in each domain?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each area has different types of user problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Observability → understanding data and dashboards&lt;/li&gt;
&lt;li&gt;Infrastructure → complex setup and debugging&lt;/li&gt;
&lt;li&gt;Policy tools → configuration clarity and errors&lt;/li&gt;
&lt;li&gt;Networking → invisible systems and hard-to-debug issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s &lt;strong&gt;easy to feel stuck or intimidated&lt;/strong&gt;, especially at the &lt;strong&gt;beginning&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2vqwttn17mrm9ngjqhd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa2vqwttn17mrm9ngjqhd.png" alt="Choosing the right project illustration sketch" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I started my journey in Developer Experience (DevEx), I made a mistake that slowed down my growth more than anything else:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;I chose too many complex projects at the same time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I was trying to work across multiple domains Kubernetes cluster related problems and networking-heavy systems like Cilium. While these areas are part of the same ecosystem, they require very different types of thinking. The result?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I felt overwhelmed&lt;/li&gt;
&lt;li&gt;I couldn’t focus deeply&lt;/li&gt;
&lt;li&gt;I struggled to understand problems clearly&lt;/li&gt;
&lt;li&gt;And I couldn’t deliver meaningful outcomes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That experience taught me a critical lesson:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Choosing the right project matters more than choosing the most advanced one.&lt;/strong&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  What I Discovered: Where UX Designers Can Actually Make an Impact
&lt;/h2&gt;

&lt;p&gt;As a UX designer in DevEx, your value is not in mastering the most complex systems first—it’s in identifying where users (developers) struggle the most.&lt;/p&gt;

&lt;p&gt;There are several high-impact areas where UX can make a real difference:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Documentation Experience (An Underrated Opportunity)
&lt;/h3&gt;

&lt;p&gt;Many people say: “&lt;strong&gt;Contribute to documentation&lt;/strong&gt;.”&lt;br&gt;
But &lt;strong&gt;very few explain what that actually means especially from a UX perspective&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Documentation is not just about writing content.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;It’s about designing a complete learning and decision making experience for developers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where Documentation Breaks&lt;/strong&gt; (From a UX Perspective)&lt;/p&gt;

&lt;p&gt;In many developer tools, documentation has hidden usability gaps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Broken user flows&lt;/strong&gt; :Steps are written, but the journey is missing. Developers don’t know what comes next or how steps connect.&lt;br&gt;
&lt;strong&gt;Unclear navigation&lt;/strong&gt;: Important pages are hard to find. Users jump between tabs, GitHub, and docs trying to complete one task.&lt;br&gt;
&lt;strong&gt;No real-world context&lt;/strong&gt; :Docs explain how something works—but not when or why to use it.&lt;br&gt;
&lt;strong&gt;Decision-making gaps&lt;/strong&gt;: Multiple options are listed without guidance, leaving users confused.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegxdyjiubpltklxqog6r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fegxdyjiubpltklxqog6r.png" alt="Kserve documentation page" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Real Example&lt;/strong&gt; In platforms like &lt;a href="https://kserve.github.io/website/" rel="noopener noreferrer"&gt;KServe&lt;/a&gt;, there are multiple ways to deploy ML models. But the documentation often doesn’t clearly answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which method is easiest for beginners?&lt;/li&gt;
&lt;li&gt;Which approach is best for production?&lt;/li&gt;
&lt;li&gt;What are the trade-offs between options?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So developers are forced to: Read multiple pages, Watch videos, Experiment through trial and error&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;This slows them down and increases frustration.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What UX Designers Can Actually Do
&lt;/h3&gt;

&lt;p&gt;This is where UX becomes powerful. You’re not just “improving docs”—you’re reducing cognitive load.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Design Task-Based Flows:&lt;/strong&gt; Instead of scattered pages, structure documentation around real tasks:“Deploy your first model”, “Which method is use and why and when in real world use-case”, Update with the buttons for easier navigation.&lt;/p&gt;

&lt;p&gt;👉 Help users move step-by-step without confusion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Add Decision Guidance&lt;/strong&gt; Turn choices into clear recommendations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“If you are a &lt;strong&gt;beginner → use this method&lt;/strong&gt;”&lt;/li&gt;
&lt;li&gt;“If you &lt;strong&gt;need scalability → choose this approach&lt;/strong&gt;”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This removes guesswork.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Improve Navigation &amp;amp; Information Architecture&lt;/strong&gt; Group related content logically, Add clear entry points (Getting Started, Tutorials, Advanced), Reduce unnecessary jumping between pages&lt;/p&gt;

&lt;p&gt;👉 Make information easy to find, not just available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Fill the “Missing Middle”&lt;/strong&gt; : &lt;br&gt;
Most docs jump from basic → advanced too quickly.&lt;/p&gt;

&lt;p&gt;UX can help by adding: Intermediate steps, Visual flows, Real use-case examples&lt;/p&gt;

&lt;p&gt;👉 This is where most users actually struggle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Connect UI + Documentation&lt;/strong&gt; : Many docs are disconnected from the actual product UI.&lt;/p&gt;

&lt;p&gt;You can: &lt;strong&gt;Map UI screens to documentation&lt;/strong&gt; steps, &lt;strong&gt;Add screenshots or flows&lt;/strong&gt;, &lt;strong&gt;Align terminology&lt;/strong&gt; between &lt;strong&gt;product and docs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 This creates a smoother experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why designing the documentation is important:&lt;/strong&gt; Documentation is often the first experience a developer has with a product.&lt;/p&gt;

&lt;p&gt;If it’s confusing: &lt;strong&gt;Adoption drops&lt;/strong&gt;, &lt;strong&gt;Frustration increases&lt;/strong&gt;, &lt;strong&gt;Support questions grow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If it’s &lt;strong&gt;well-designed&lt;/strong&gt;: &lt;strong&gt;Learning becomes faster, Confidence increases, Products feel easier even if they’re complex.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 Great documentation is not written. It’s designed.&lt;/p&gt;

&lt;p&gt;And for UX designers entering DevEx, this is one of the highest-impact, lowest-barrier areas to start contributing.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Website &amp;amp; Navigation Design
&lt;/h3&gt;

&lt;p&gt;Many developer tools are powerful—but their websites don’t reflect that. Common issues include: Poor navigation, Difficulty finding the right documentation, No task-oriented structure&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fniku2fryk9k8bb5jxbs6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fniku2fryk9k8bb5jxbs6.png" alt="Cilium website home page image" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you compare:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cilium.io/" rel="noopener noreferrer"&gt;Cilium&lt;/a&gt; → clean UI, consistent design system, strong navigation&lt;br&gt;
Other platforms → minimal UI but lacking usability clarity&lt;/p&gt;

&lt;p&gt;👉 This creates opportunities to: Redesign navigation, Improve information architecture, Build consistent &lt;a href="https://m3.material.io/" rel="noopener noreferrer"&gt;design systems&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuv23jnamjsgyiwsgg8va.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuv23jnamjsgyiwsgg8va.png" alt="Material design system website image" width="799" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Developer Workflows &amp;amp; Tools
&lt;/h3&gt;

&lt;p&gt;Engineers use &lt;strong&gt;complex tools every day&lt;/strong&gt; and small UX improvements can create huge impact.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkih2hpp9foi2u9gptexv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkih2hpp9foi2u9gptexv.png" alt="Grafana website home page" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can contribute by:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simplifying workflows&lt;/strong&gt; : For example - Deploy ML models using Kserve, debugging a multi cluster issue.&lt;br&gt;
&lt;strong&gt;Improving dashboards&lt;/strong&gt; : For example - Observability(improve UI for &lt;a href="https://prometheus.io/" rel="noopener noreferrer"&gt;Prometheus&lt;/a&gt;, &lt;a href="https://grafana.com/grafana/dashboards/" rel="noopener noreferrer"&gt;Grafana&lt;/a&gt;)&lt;br&gt;
&lt;strong&gt;Making errors easier to understand&lt;/strong&gt; : For example - Simplified documentation.&lt;br&gt;
&lt;strong&gt;Supporting usability studies with better UX insights&lt;/strong&gt;: For example improve Kserve usability to identify problems who use Kserve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Even small improvements here can significantly improve productivity.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Section : 2 Expanding Your Impact: Beyond Just One Domain
&lt;/h2&gt;

&lt;p&gt;One of the biggest mindset shifts in my journey was realizing this:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;DevEx UX is not limited to a single domain like networking or observability&lt;/strong&gt;. There are other multiple paths where you can contribute meaningfully based on your interests and strengths.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Work Across Different Engineering Roles:
&lt;/h3&gt;

&lt;p&gt;You can align your UX work with different engineering domains, such as:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2gycicjsjhuj2892z8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2gycicjsjhuj2892z8f.png" alt="Engineer role image" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.cncf.io/blog/2025/11/19/what-is-platform-engineering/" rel="noopener noreferrer"&gt;Platform Engineering&lt;/a&gt;&lt;/strong&gt; → Focus on internal developer platforms, tools, and workflows&lt;br&gt;
&lt;strong&gt;&lt;a href="https://www.redhat.com/en/topics/devops/what-is-devops" rel="noopener noreferrer"&gt;DevOps Engineering&lt;/a&gt;&lt;/strong&gt; → Improve CI/CD pipelines, deployment experiences, and operational workflows&lt;/p&gt;

&lt;p&gt;Each of these areas comes with its own: Tools, Practices, Pain points&lt;/p&gt;

&lt;p&gt;👉 Which means more opportunities to identify user problems and design better solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Contribute Beyond Technical Domains
&lt;/h3&gt;

&lt;p&gt;Not all impactful work is tied directly to systems like networking or infrastructure.&lt;/p&gt;

&lt;p&gt;There are also initiatives focused on improving the overall developer experience across organizations and communities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feip9ia2wc3ikfhpgss7o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feip9ia2wc3ikfhpgss7o.png" alt="Image of skecth for contribute beyond technical domain" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Organization-wide developer experience improvements&lt;/strong&gt;(&lt;a href="https://github.com/cncf/toc/issues/1658" rel="noopener noreferrer"&gt;TAG Developer Experience&lt;/a&gt;), &lt;a href="https://github.com/cncf/toc" rel="noopener noreferrer"&gt;TOC - echnical Oversight Committee&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internal tooling usability&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-team collaboration challenges&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These areas focus less on what the system does and more on &lt;strong&gt;how people interact with it.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Contribute to Community &amp;amp; Experience-Focused Groups
&lt;/h3&gt;

&lt;p&gt;In open-source ecosystems like &lt;a href="https://kubernetes.io/" rel="noopener noreferrer"&gt;Kubernetes&lt;/a&gt;, there are dedicated groups focused entirely on &lt;strong&gt;improving contributor and developer experience&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbez2uid886ix8y2jq911.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbez2uid886ix8y2jq911.png" alt="Contribute Experience skecth" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One great example is: &lt;a href="https://github.com/kubernetes/community/blob/main/sig-contributor-experience/README.md" rel="noopener noreferrer"&gt;Kubernetes SIG Contributor Experience&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This group works on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improving onboarding for new contributors&lt;/li&gt;
&lt;li&gt;Helping teams (SIGs) collaborate effectively&lt;/li&gt;
&lt;li&gt;Identifying challenges contributors face&lt;/li&gt;
&lt;li&gt;Creating better processes and guidance&lt;/li&gt;
&lt;li&gt;Supporting teams in maintaining healthy project structures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Instead of building features, they focus on making it easier for &lt;strong&gt;people to contribute and succeed&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why This Matters : This expands how you think about DevEx UX:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It’s not just about systems&lt;/li&gt;
&lt;li&gt;It’s not just about UI&lt;/li&gt;
&lt;li&gt;It’s about people, workflows, and collaboration at scale&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key Insight&lt;/p&gt;

&lt;p&gt;👉 You can contribute in multiple ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deep technical domains (like networking, observability)&lt;/li&gt;
&lt;li&gt;Engineering workflows (platform, DevOps)&lt;/li&gt;
&lt;li&gt;Organization-level experience improvements&lt;/li&gt;
&lt;li&gt;Community and contributor experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You &lt;strong&gt;don’t have to choose the hardest path&lt;/strong&gt; you have to choose where you can &lt;strong&gt;create the most impact&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Section: 3 The Real Challenge: How to Choose the Right Project
&lt;/h2&gt;

&lt;p&gt;After struggling early on, I changed my approach completely.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6ksfmyvv8jcka30o9mm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6ksfmyvv8jcka30o9mm.png" alt="Image is describing the real challenges" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Start with the UX Problem (Not the Technology)
&lt;/h3&gt;

&lt;p&gt;Before choosing a project, ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is this a documentation problem?&lt;/li&gt;
&lt;li&gt;A workflow complexity issue?&lt;/li&gt;
&lt;li&gt;A UI or visualization gap?&lt;/li&gt;
&lt;li&gt;A debugging or error clarity problem?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This helps you align your &lt;strong&gt;strengths with real needs&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Look for Visible UX Gaps
&lt;/h3&gt;

&lt;p&gt;Some areas are easier to start with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation-heavy projects&lt;/li&gt;
&lt;li&gt;Onboarding flows&lt;/li&gt;
&lt;li&gt;Developer workflows&lt;/li&gt;
&lt;li&gt;Github: good first issue-Specially explained UX problem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These provide clear &lt;strong&gt;opportunities for UX impact&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Collaborate with Engineers
&lt;/h3&gt;

&lt;p&gt;Don’t assume, &lt;strong&gt;ask&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is hardest to debug?&lt;/li&gt;
&lt;li&gt;What takes the most time?&lt;/li&gt;
&lt;li&gt;Where do new users struggle?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 This gives you real insights into developer pain points.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Don’t Avoid Complexity Approach It Gradually.
&lt;/h3&gt;

&lt;p&gt;Domains like networking or multi-cluster systems can feel overwhelming at a time. But: You don’t need to understand everything at once, Start from the user perspective, Focus on simplifying one problem at a time, for example understand networking completely then jump into infrastructure. &lt;/p&gt;

&lt;p&gt;👉 Your &lt;strong&gt;technical understanding will grow naturally over time&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;Choosing a DevEx project is not about picking the most advanced system.&lt;/p&gt;

&lt;p&gt;It’s about identifying:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where developers struggle the most&lt;/li&gt;
&lt;li&gt;Where UX can bring clarity&lt;/li&gt;
&lt;li&gt;Where you can contribute with your current skills&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Start small. Focus on real problems. Grow into complexity step by step.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>opensource</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Challenge 1: The Learning Curve Feels Endless (and Unclear)</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Thu, 16 Apr 2026 22:52:25 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/developer-experience-devex-designer-challenges-and-how-to-overcome-them-part-i-5941</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/developer-experience-devex-designer-challenges-and-how-to-overcome-them-part-i-5941</guid>
      <description>&lt;p&gt;&lt;strong&gt;When I moved from a general UX role into Developer Experience (DevEx) design, I thought the transition would be simple.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Same UX process… just a more technical domain. But my own journey quickly proved otherwise.&lt;/p&gt;

&lt;p&gt;I come from an Electronics and Communication Engineering background, which helped me &lt;strong&gt;understand systems&lt;/strong&gt; thinking early on. During my UX journey, I also learned HTML, CSS, and JavaScript, and later worked in a &lt;strong&gt;startup where I led both web development and UX efforts. I was involved in everything from planning and design to development and production.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because of this, I thought I had a strong foundation. But when I stepped into Kubernetes and DevEx… &lt;strong&gt;Everything felt wide, complex, and undefined.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnr570hbd5oe8s0pqbf01.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnr570hbd5oe8s0pqbf01.png" alt="Image explains that person is confused with lot of learning" width="799" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Where the Confusion Started
&lt;/h3&gt;

&lt;p&gt;As I began exploring Kubernetes and developer platforms, I realized something:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉 DevEx is not just UX in a technical space, It's a completely different design problem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;There isn’t a single learning path in DevEx.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Depending on the project, the &lt;strong&gt;expectations kept shifting&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some required understanding CLI tools&lt;/li&gt;
&lt;li&gt;Others focused on improving documentation UX&lt;/li&gt;
&lt;li&gt;Some needed API-level understanding&lt;/li&gt;
&lt;li&gt;Others required mapping full developer workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even when I started contributing to open source, I struggled with questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What should I learn first?&lt;/li&gt;
&lt;li&gt;How technical do I need to go?&lt;/li&gt;
&lt;li&gt;Am I even focusing on the right thing?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I initially tried to learn everything — Kubernetes concepts, tools, workflows, GitHub contributions…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That approach didn’t work.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Changed Everything:
&lt;/h3&gt;

&lt;p&gt;The turning point in my journey came during my first meaningful open-source contribution.&lt;/p&gt;

&lt;p&gt;I found a &lt;strong&gt;“good first issue”&lt;/strong&gt; where &lt;strong&gt;engineers were struggling with a confusing UI.&lt;/strong&gt; The interface had &lt;strong&gt;multiple repetitive actions&lt;/strong&gt; represented as buttons, which &lt;strong&gt;created usability issues&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At that moment, I realized:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;I don’t need to know everything about Kubernetes to contribute&lt;/strong&gt;&lt;br&gt;
👉 &lt;strong&gt;I need to understand just enough to solve the right problem&lt;/strong&gt;&lt;br&gt;
I focused on:&lt;/p&gt;

&lt;p&gt;Understanding the user flow&lt;br&gt;
Identifying UX friction&lt;br&gt;
Collaborating with engineers to explain my solution&lt;/p&gt;

&lt;p&gt;That experience helped me bridge UX and developer needs — and more importantly, it reshaped how I approached learning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution: Learn Based on Context, Not Completeness
&lt;/h3&gt;

&lt;p&gt;One of the biggest lessons from my journey is this:&lt;/p&gt;

&lt;p&gt;👉 In DevEx, the problem is not lack of learning — it's lack of direction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fedos5f4qik14iji3477f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fedos5f4qik14iji3477f.png" alt="Solution for the challenge" width="799" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s what actually worked:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Start with the Developer Workflow
&lt;/h4&gt;

&lt;p&gt;Before learning tools, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the developer trying to do?&lt;/li&gt;
&lt;li&gt;What does success look like?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploying a model&lt;/li&gt;
&lt;li&gt;Setting up a Kubernetes cluster&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives clarity on what actually matters.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Go Deep Only Where Needed
&lt;/h4&gt;

&lt;p&gt;In my case:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;While exploring Kubernetes → I focused on core concepts + workflows&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;During my contribution → I focused on UI/UX clarity&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don’t need everything at once. You need relevance.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Learn “Just Enough” Technical Depth
&lt;/h4&gt;

&lt;p&gt;My background helped, but I still had to adjust how I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus on &lt;strong&gt;concepts over code&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Understand &lt;strong&gt;flows over implementation&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Learn enough to &lt;strong&gt;ask better questions&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4. Developers as Learning Partners
&lt;/h4&gt;

&lt;p&gt;One of the most underrated accelerators in my journey:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asking engineers to walk through real workflows&lt;/li&gt;
&lt;li&gt;Observing how they actually use tools&lt;/li&gt;
&lt;li&gt;Clarifying assumptions early&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This not only improved my understanding, it also built trust.&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Build a System Mental Model
&lt;/h4&gt;

&lt;p&gt;Over time, I stopped thinking in silos like: “CLI vs API vs UI”&lt;br&gt;
Instead, I started seeing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How everything connects&lt;/li&gt;
&lt;li&gt;Where developers struggle&lt;/li&gt;
&lt;li&gt;How experiences break across tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That shift is what truly &lt;strong&gt;defines DevEx thinking&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My journey into Kubernetes and DevEx taught me something important:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;You don’t need to learn everything&lt;/strong&gt;.&lt;br&gt;
👉 &lt;strong&gt;You need to learn what matters for the problem you're solving&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The real skill in DevEx is not technical depth alone, it's knowing where to focus and why.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>opensource</category>
      <category>discuss</category>
      <category>devex</category>
    </item>
    <item>
      <title>How we derived behavioral and motivational patterns for user persona?</title>
      <dc:creator>Pavanipriya Sajja</dc:creator>
      <pubDate>Thu, 12 Mar 2026 17:34:14 +0000</pubDate>
      <link>https://dev.to/priya_sajja_c336921bbda87/how-we-derived-behavioral-and-motivational-patterns-for-user-persona-15gn</link>
      <guid>https://dev.to/priya_sajja_c336921bbda87/how-we-derived-behavioral-and-motivational-patterns-for-user-persona-15gn</guid>
      <description>&lt;p&gt;This article explains end to end process of the methodology used to identify and derive behavioral and motivational patterns from UX research data collected on multi-cluster Kubernetes operations. &lt;/p&gt;

&lt;p&gt;The analysis draws on a Google Sheets sample dataset containing 20 verbatim quotes, 20 pain point themes, and 20 desired solutions — 60 data points in total — used here as a working example to illustrate how patterns are surfaced, calculated, and translated into actionable persona insights. &lt;/p&gt;

&lt;p&gt;Here is the link for the google sheets: 

&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://docs.google.com/spreadsheets/d/1yOrKrQ8XQzJLkm3O7DrZzHXBOEowlSGJ4iFIK5ZsGpI/edit?usp=sharing..." class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flh7-us.googleusercontent.com%2Fdocs%2FAHkbwyI_9q2KMg6Dyx1qj2pgYs1usbYkYn0gogS9NkIu82CEomdvtJQcAG1p8wHJ7MfuG6CuZENYRwu86smvgCRMI4q28giyLzgKepE0f-e1C6iQPncsPBg%3Dw1200-h630-p" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://docs.google.com/spreadsheets/d/1yOrKrQ8XQzJLkm3O7DrZzHXBOEowlSGJ4iFIK5ZsGpI/edit?usp=sharing..." rel="noopener noreferrer" class="c-link"&gt;
            Sample Raw Data - Google Sheets
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fspreadsheets%2Fspreadsheets_2023q4.ico"&gt;
          docs.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


.

&lt;p&gt;The goal of this methodology is to move beyond surface-level pain points and equip product, design, and engineering teams with a deeper understanding of how platform engineers, SREs, and related roles actually behave and what outcomes they are genuinely optimizing for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did we Derived Behavioral Patterns?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Behavioral patterns are identified by looking at &lt;strong&gt;what people are actually doing&lt;/strong&gt; in response to a problem — the observable actions, workarounds, and habits described in the data. The question we asked of each data point was: "What is this person doing right now to cope with this situation?"&lt;/p&gt;

&lt;p&gt;We grouped responses that described similar actions — not similar topics — and named the underlying behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our Worked Example:&lt;/strong&gt; "Workaround Accumulation"&lt;/p&gt;

&lt;p&gt;These three raw data points were the anchors:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Cost visibility is nearly zero at the namespace level. We have no easy way to map spend to teams without custom Prometheus dashboards that we build and maintain ourselves."&lt;/p&gt;

&lt;p&gt;"GitOps drift detection is useful but noisy. ArgoCD sends so many sync notifications that engineers create automation to silence them."&lt;/p&gt;

&lt;p&gt;"Capacity planning for multi-tenant clusters requires manual analysis... we rely on gut feel and occasional spreadsheets."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On the surface, these look like three separate problems: cost, notifications, and capacity. But the &lt;strong&gt;behavior&lt;/strong&gt; across all three is identical — the platform doesn't provide what's needed, so the engineer builds something themselves. Custom dashboard. Silencing automation. Spreadsheet.&lt;/p&gt;

&lt;p&gt;The critical observation is the second half of each quote: "that we build and maintain ourselves," "create automation to silence them," "occasional spreadsheets." These aren't solutions — they're debt. Each workaround introduces something that can break, drift, or fall out of date.&lt;/p&gt;

&lt;p&gt;That's what distinguishes this as a &lt;strong&gt;behavioral pattern&lt;/strong&gt; rather than just a pain point cluster: it's a repeating action (self-build), triggered by a repeating condition (platform gap), producing a repeating consequence (maintenance burden).&lt;/p&gt;

&lt;p&gt;The pattern name — "Workaround Accumulation" that captures both the behavior and its compounding nature over time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8dndjys4vs424pswfis.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz8dndjys4vs424pswfis.png" alt="This instructional sketch distinguishes behavioral patterns, which focus on observable actions and "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did we Derived Motivational Patterns&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Motivational patterns require going one layer deeper. Instead of asking "what are they doing?", we asked "&lt;strong&gt;why are they doing it&lt;/strong&gt; — what outcome are they actually trying to reach?" This is where you look past the stated problem to the underlying goal.&lt;/p&gt;

&lt;p&gt;The method is essentially asking "what would success feel like to this person?" and finding where multiple people converge on the same answer, even if they're describing different problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Our Worked Example:&lt;/strong&gt; "Desire for Speed with Confidence"&lt;/p&gt;

&lt;p&gt;These three data points pointed us here:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"A dry-run mode for NetworkPolicy that shows which traffic flows would be blocked before the policy is applied."&lt;/p&gt;

&lt;p&gt;"A visual RBAC policy editor that validates configurations before applying them to the cluster."&lt;/p&gt;

&lt;p&gt;"Lightweight remote dev environments that mirror staging infra so engineers can test against real dependencies locally."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The surface topics are completely different — networking, access control, local development. But if you ask "what is the engineer actually trying to achieve?" across all three, the answer converges: &lt;strong&gt;they want to act quickly, but they need to know it won't break something first.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Notice what they're NOT asking for. They're not asking to slow down. They're not asking for approval gates or more review cycles. They're asking for earlier feedback so they can move confidently. Dry-run, visual validation, staging parity — all of these are mechanisms that move the moment of truth earlier in the workflow, before consequences become real.&lt;/p&gt;

&lt;p&gt;This is what separates a motivational pattern from a feature request. The feature request is "build a dry-run mode." The motivation underneath it is "I want to move fast without causing outages." Once you see that motivation, you realize a dry-run mode, a staging mirror, and a policy validator are all answering the same psychological need — and that a product team solving for just one of them is only partially addressing what the engineer actually wants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Core Methodological Difference&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Behavioral Pattern&lt;/th&gt;
&lt;th&gt;Motivational Pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Question asked&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;What are they doing?&lt;/td&gt;
&lt;td&gt;Why are they doing it?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data cues&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Verbs: building, jumping, silencing, ignoring&lt;/td&gt;
&lt;td&gt;Goals implied: "so I can," "without," "before"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Grouping logic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Same action across different contexts&lt;/td&gt;
&lt;td&gt;Same underlying goal across different actions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Risk if missed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;You fix the symptom, not the habit&lt;/td&gt;
&lt;td&gt;You build features that don't address the real need&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;behavioral patterns show platform teams what is happening today, while motivational patterns show product and tooling teams what engineers are actually optimizing for, which is where the most actionable design direction lives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to integrate this patterns into persona:&lt;/strong&gt; &lt;br&gt;
There are a few ways to integrate these patterns into your personas depending on your audience &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0vujb57nisgrxvchkce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0vujb57nisgrxvchkce.png" alt="This instructional sketch illustrates three ways to map user research: by embedding a "&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Embedded Section within each persona&lt;/strong&gt; You add a "Behavioral &amp;amp; Motivational Profile" block directly inside each persona card, right after Goals or Frustrations. Clean and self-contained.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Cross-persona Pattern Matrix&lt;/strong&gt; A separate table or section that maps each pattern to the personas it affects. Better for showing systemic themes across all four personas&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Pattern as a Quote + Insight block&lt;/strong&gt; Each pattern is anchored by a real verbatim quote from your research(Qualitative and quantitative) data, followed by the behavioral or motivational insight.&lt;/p&gt;

&lt;p&gt;We can also include &lt;strong&gt;behavioral and motivational patterns&lt;/strong&gt; in percentage format. Presenting these patterns with percentages makes the insights more credible and easier to reference or cite within the persona.&lt;/p&gt;

&lt;p&gt;Again, let’s go back to the sample raw data. The dataset contains &lt;strong&gt;20 qualitative responses (verbatim quotes), 20 pain point themes, and 20 desired solutions&lt;/strong&gt;, which gives us &lt;strong&gt;60 data&lt;/strong&gt; points in total.&lt;/p&gt;

&lt;p&gt;However, in practice, the &lt;strong&gt;20 verbatim quotes serve as the primary evidence base for identifying behavioral patterns&lt;/strong&gt;, because they describe the engineers’ actual actions, experiences, and workflows.&lt;/p&gt;

&lt;p&gt;Here's my approach to calculate percentages honestly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method:&lt;/strong&gt; &lt;strong&gt;Evidence Mapping&lt;/strong&gt; For each behavioral pattern, I'll count how many of the 20 raw responses contain explicit evidence of that behavior — not just the topic, but the actual action being described.&lt;/p&gt;

&lt;p&gt;Let me map this now (Based on the sample research data):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Behavioral Pattern&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Responses with direct evidence&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;% of 20 responses&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Reactive Debugging Over Proactive Monitoring&lt;/td&gt;
&lt;td&gt;Responses 1, 14, 5 (jumping dashboards, blocked traffic, silent misconfigs)&lt;/td&gt;
&lt;td&gt;3/20 = 15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workaround Accumulation&lt;/td&gt;
&lt;td&gt;Responses 7, 15, 19 (custom dashboards, spreadsheets, silencing automation)&lt;/td&gt;
&lt;td&gt;3/20 = 15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context Switching as Default Workflow&lt;/td&gt;
&lt;td&gt;Responses 1, 3, 11 (three dashboards, six wikis, fragmented secrets)&lt;/td&gt;
&lt;td&gt;3/20 = 15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tribal Knowledge Dependency&lt;/td&gt;
&lt;td&gt;Responses 3, 16, 9 (scattered docs, deep controller knowledge, CRD research)&lt;/td&gt;
&lt;td&gt;3/20 = 15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standardization Avoidance&lt;/td&gt;
&lt;td&gt;Responses 8, 11, 13 (mixed rollback, mixed secrets, brittle local dev)&lt;/td&gt;
&lt;td&gt;3/20 = 15%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alert Desensitization&lt;/td&gt;
&lt;td&gt;Responses 10, 19 (ignoring alerts, silencing GitOps notifications)&lt;/td&gt;
&lt;td&gt;2/20 = 10%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The honest point I want to highlight here is that 20 responses represent a small qualitative sample, so percentages derived from this data may appear more statistically precise than they actually are.&lt;/p&gt;

&lt;p&gt;When working with a larger dataset—for example, more than 100 responses &lt;strong&gt;(n ≥ 100)&lt;/strong&gt; — &lt;strong&gt;the percentages become more reliable and meaningful. That is where percentage-based insights should ideally come from.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between the straight percentage version and the detailed version when presenting behavioral and motivational patterns in a persona card? Which approach is the best way to present these patterns?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There are two approaches:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Straight Percentage Version (Quantitative Layer)&lt;/strong&gt; This approach presents behavioral or motivational patterns using only numerical insights derived from the research data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh36itjzteqf7r9oelgcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh36itjzteqf7r9oelgcv.png" alt="This instructional sketch illustrates the "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Behavioral Pattern:&lt;/strong&gt; Reactive Debugging Observed in 68% of respondents&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Raw data:&lt;/strong&gt; Engineers wait for failures to surface before investigating, jumping between tools after the fact rather than catching issues proactively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to read and scan quickly&lt;/li&gt;
&lt;li&gt;Looks data-driven and credible&lt;/li&gt;
&lt;li&gt;Works well for presentations and executive summaries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Limitations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lacks context about why users behave that way&lt;/li&gt;
&lt;li&gt;May oversimplify complex behaviors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now let’s learn about another approach: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Detailed Version (Qualitative Layer):&lt;/strong&gt; This approach combines behavioral patterns with contextual explanations, quotes from research participants, and the underlying trigger behind the behavior.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoih6rycfn3zg05uikha.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoih6rycfn3zg05uikha.png" alt="This instructional sketch illustrates the "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of Behavioral Pattern:&lt;/strong&gt; Reactive Debugging Over Proactive Monitoring&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quote:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“When a pod crashes, I need to jump between three dashboards just to find the root cause.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Trigger:&lt;/strong&gt; Lack of integrated observability tools&lt;br&gt;
&lt;strong&gt;Action:&lt;/strong&gt; Manual investigation across multiple tools&lt;br&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; Hours lost during each incident&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides deeper insight and context&lt;/li&gt;
&lt;li&gt;Shows the reasoning behind behaviors&lt;/li&gt;
&lt;li&gt;Stronger for research reports and documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Limitations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Longer and harder to scan quickly&lt;/li&gt;
&lt;li&gt;Less suitable for compact persona cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Which Is Best For Each Pattern Type&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the key insight — &lt;strong&gt;they serve different pattern types differently.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz98dtd9w5f48982geky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz98dtd9w5f48982geky.png" alt="This instructional sketch compares mapping techniques, recommending a hybrid percentage-and-quote format for observable behavioral patterns and a more authentic "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Behavioral patterns&lt;/strong&gt; can carry percentages because behavior is observable and countable. &lt;strong&gt;"X% of respondents&lt;/strong&gt; described workaround-building behavior" is a defensible, citable claim.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best Practice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most effective approach is usually a &lt;strong&gt;hybrid format&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use percentages for credibility&lt;/li&gt;
&lt;li&gt;Add a short explanation or quote for context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Motivational patterns&lt;/strong&gt; should almost never be percentages. Motivations are inferred, not directly stated. Saying "72% are motivated by speed with confidence" would be misleading — no one said that directly, you derived it. &lt;strong&gt;A quote + insight format&lt;/strong&gt; is far more honest and persuasive here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The reason for including behavioral and motivational patterns is based on five main purposes&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A persona without behavioral and motivational patterns only tells you &lt;strong&gt;who the person is&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A persona with these patterns shows &lt;strong&gt;how the person thinks and what motivates their decisions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This difference is important because design and product decisions are not based on demographics or job titles. They are based on understanding &lt;strong&gt;how people behave in real situations and what outcomes they are trying to achieve&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmklvrc5njiaepfg0tsrz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmklvrc5njiaepfg0tsrz.png" alt="This instructional sketch synthesizes methods for mapping behavioral and motivational patterns, illustrating how to integrate these insights into persona cards and matrices to shift team focus from descriptive snapshots to predictive, outcome-based design decisions."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Move from Descriptive to Predictive:&lt;/strong&gt; Without patterns, a persona describes a person at a snapshot in time. With patterns, it lets you predict how that person will behave in a new situation you haven't researched yet. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; For example — once you know Alex (Platform Engineer) has a Workaround Accumulation behavioral pattern, you can predict that if you ship a feature with gaps, Alex won't file a bug report. He'll build around it. That prediction changes how you design the feature in the first place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Make personas useful for decisions that go beyond what was directly researched.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Explain Why Pain Points Exist, Not Just That They Do:&lt;/strong&gt; Pain points alone tell you what's broken. Behavioral and motivational patterns tell you &lt;strong&gt;why it keeps being broken&lt;/strong&gt; even when people know it's a problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Alert desensitization is a great example from sample raw data. The pain point is "too many noisy alerts." But the behavioral pattern — engineers actively suppressing alerts as a coping mechanism — explains why just reducing alert volume won't fix it. You've broken trust. &lt;/p&gt;

&lt;p&gt;The motivational pattern underneath, cognitive offloading — tells you the real design target: engineers need the system to carry the triage burden, not just send fewer notifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Surface the root cause behind the symptom so solutions address the right problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Create Shared Language Across Teams:&lt;/strong&gt; When a designer, a PM, and an engineer all read the same persona card, they need to walk away with the same understanding of the user. Job titles and tools lists don't achieve that — they're interpreted differently by different disciplines.&lt;/p&gt;

&lt;p&gt;Behavioral and motivational patterns are &lt;strong&gt;discipline-neutral&lt;/strong&gt;. "Reactive debugging over proactive monitoring" means the same thing to a backend engineer as it does to a UX researcher. It becomes a shorthand the whole team can reference in standups, design reviews, and roadmap conversations &lt;strong&gt;without needing to re-explain the research&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Give cross-functional teams a common reference point rooted in user reality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Prevent Solution-First Thinking:&lt;/strong&gt; Without motivational patterns especially, teams default to building what users asked for rather than what users actually need. Your data is full of this gap, users asked for a dry-run mode for NetworkPolicy, but the motivation underneath is "I want to act fast without causing outages." Those are different design briefs.&lt;/p&gt;

&lt;p&gt;If a PM only reads the pain points and desired solutions sections of a persona, they'll build a feature checklist. If they also read the &lt;strong&gt;motivational patterns, they'll ask "does this solution actually address the underlying motivation, or just the surface request?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Shift teams from feature-building to outcome-building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Make Personas Defensible in a Research Context:&lt;/strong&gt; A persona card that only contains job title, tools, and frustrations reads as anecdotal. Reviewers will ask — how do you know this is representative?&lt;/p&gt;

&lt;p&gt;Behavioral and motivational patterns — especially when tied back to evidence from your &lt;strong&gt;(n&amp;gt;100)&lt;/strong&gt; research respondent — demonstrate that the &lt;strong&gt;persona was derived from systematic analysis&lt;/strong&gt;, not assembled from assumptions. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;They show the reasoning chain: here is what people said, here is the pattern we observed across multiple respondents, here is what that tells us about this persona type.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; Establish research credibility and make the personas publishable and citable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Behavioral and motivational patterns are what elevate a &lt;strong&gt;persona from a static profile into a practical decision-making tool&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;By grounding each pattern in observable actions and inferred goals — backed by evidence from the research dataset — teams can predict user behavior, address root causes rather than symptoms, and build toward outcomes rather than feature checklists.&lt;/strong&gt; &lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>learning</category>
      <category>design</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
