<?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: Timothy Opango</title>
    <description>The latest articles on DEV Community by Timothy Opango (@opango_timmy14).</description>
    <link>https://dev.to/opango_timmy14</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%2F3911686%2F6a61d68a-09e4-417c-81ec-fd4ee066242c.jpg</url>
      <title>DEV Community: Timothy Opango</title>
      <link>https://dev.to/opango_timmy14</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/opango_timmy14"/>
    <language>en</language>
    <item>
      <title>Rugby Fundamentals as Software Concepts - Mapping the Pitch to your Code Base</title>
      <dc:creator>Timothy Opango</dc:creator>
      <pubDate>Sat, 23 May 2026 15:35:29 +0000</pubDate>
      <link>https://dev.to/opango_timmy14/rugby-fundamentals-as-software-concepts-mapping-the-pitch-to-your-code-base-2fj7</link>
      <guid>https://dev.to/opango_timmy14/rugby-fundamentals-as-software-concepts-mapping-the-pitch-to-your-code-base-2fj7</guid>
      <description>&lt;p&gt;Welcome back to the series and as stated earlier, I am a developer who lives and breathes both clean codes and muddy rucks. In the last post, we established that rugby and software engineering share deep structural similarities and today we're diving straight into the fundamentals.&lt;br&gt;
This post is all about taking rugby's core mechanics and mapping them directly onto software architecture, team dynamics and development workflows. Think of it as translating rugby playbook into system design patterns.&lt;/p&gt;
&lt;h2&gt;
  
  
  1. The Scrum: Self-Organizing Teams and Architecture
&lt;/h2&gt;

&lt;p&gt;In rugby, the scrum is where eight forwards from each team bind together in a highly structured yet dynamic formation to compete for the ball. It's an organized chaos that everyone has a role, but success depends on collective power, timing and adaptation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software parallel:&lt;/strong&gt; Agile Scrum + Micro services Architecture&lt;br&gt;
Just like a rugby scrum, your development team binds together in sprints. Each member has a specialized position, but the unit must move as one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Simple scrum team state machine (Python)
&lt;/span&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ScrumTeam&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
  &lt;span class="nf"&gt;def__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;roles&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;product_owner&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Sets direction&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;scrum_master&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Removes obstructions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;developers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivers value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sprint_state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Planning&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;engage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;all_roles_bound&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
      &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Scrum engaged - Forward momentum achieved.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sprint_state&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivering&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key takeaway:&lt;/strong&gt; Strong scrums win ball. Strong team ship features. Weak binding = collapsed scrum =  lost possession = failed sprint.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The Ruck: Resource Contention and Quick Decision Loops
&lt;/h2&gt;

&lt;p&gt;After a tackle, players form a ruck - a pile of bodies contending for a clean ball. The team that wins the ruck recycles possession faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In tech terms:&lt;/strong&gt; This is your resource bottleneck, merge conflicts or hot path optimization.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First player to the breakdown = first to acquire lock&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Support arrives quickly = better resource allocation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Clean ball out = faster deployment pipeline&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Ruck inspired resource management in code (Python)
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;handle_breakdown&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
  &lt;span class="n"&gt;support&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;active_support_players&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;support&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_contested&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;recycle_clean_resource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;turnover_possession&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; In code reviews or incidence response, treat it like a ruck. Arrive fast, commit low and drive forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The Maul: Building Momentum and Iterative Progress
&lt;/h2&gt;

&lt;p&gt;A maul forms when the ball carrier is held up but the team drives forward together. It's slow, powerful and terrifying for the opposition if executed well.&lt;br&gt;
&lt;strong&gt;Software analogy:&lt;/strong&gt; This is your long-running feature development or platform migration. Slow but unstoppable when the whole team is bound to the same objective.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One player with the ball (Product champion)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Team driving together (Cross-functional support)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gaining territory meter by meter (Incremental value delivery)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Line-outs and Phases of Play: Modular Design and State Management
&lt;/h2&gt;

&lt;p&gt;Line-outs are like calling specific plays from your playbook after the ball has gone out of play. They are structured, rehearsed but full of deception.&lt;br&gt;
Phases of play represent continuous attack through multiple waves until a breakthrough or error.&lt;br&gt;
&lt;strong&gt;This maps to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;State machines in your application&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Event-driven architecture&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CI/CD pipelines with multiple stages&lt;br&gt;
&lt;strong&gt;Forwards vs backs:&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Forwards = back-end team. They do the dirty heavy work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backs = front-end team. They provide the flair and finishing.&lt;br&gt;
A good product needs both because you can't have beautiful UI without solid foundations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Practical Lessons You Can Apply
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Team topology - Design your teams like rugby positions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Feedback loops - Every ruck is an opportunity to improve the next phase&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Momentum management - Never loose forward progress&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role specialisation +  collective ownership - Props don't try to be wingers but everyone supports the maul&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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%2Fjp9tjrzibc479eruymq0.jpeg" 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%2Fjp9tjrzibc479eruymq0.jpeg" alt=" " width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Why a Rugby Obsessed Developer is Writing This Series</title>
      <dc:creator>Timothy Opango</dc:creator>
      <pubDate>Sat, 16 May 2026 13:45:57 +0000</pubDate>
      <link>https://dev.to/opango_timmy14/why-a-rugby-obsessed-developer-is-writing-this-series-4md6</link>
      <guid>https://dev.to/opango_timmy14/why-a-rugby-obsessed-developer-is-writing-this-series-4md6</guid>
      <description>&lt;p&gt;Hey dev.to community,&lt;br&gt;
My name is Timothy. I am a software developer by day and a rugby fanatic by... well, every other available moment. I've spent some time building systems and debugging and I've also spent just as many hours getting smashed in rucks, chasing breakdowns and screaming at referees(sorry, refs).&lt;br&gt;
For a long time I kept this two worlds separate. Then one day it hit me, rugby and software engineering are weirdly similar. Both are chaotic, high stakes, team-based, require important decisions, constant iteration and a strange mix of brute force and beautiful strategy.&lt;br&gt;
The realisation became the spark of this series: &lt;strong&gt;Rugby and Code: Tackling Tech Like a Foward.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What to Expect in This Series&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Over the next 10 posts, I'm going to explore the beautiful game through the eyes of a developer (and occasionally the other way around). We'll cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How rugby concept map directly to software architecture and team practices&lt;/li&gt;
&lt;li&gt;Real tech being used in professional rugby&lt;/li&gt;
&lt;li&gt;Building rugby-related applications&lt;/li&gt;
&lt;li&gt;Emerging tech in the sport&lt;/li&gt;
&lt;li&gt;Leadership, resilience and culture lessons that translate between the pitch and the sprint board&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you play rugby, only know it from Rugby 7's or Rugby World Cup or are completely new to the sport, this series is for you. If you love analogies that actually make sense and practical takeaways you can use in your work, you're in the right place.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;My Rugby and Tech Background (Quick Version)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I started playing rugby in school. I was never the biggest or fastest guy on the pitch, so I had to rely on positioning, reading the game and technical understanding. That mindset transferred straight into coding.&lt;br&gt;
Over the years I've analysed match data just for fun, coached junior players while thinking about feedback loops and iteration and watched how professional teams use technology to get marginal gains.&lt;br&gt;
Rugby taught me more about system thinking, resilience under pressure and true teamwork than many stand-ups and retrospectives ever did.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Beautiful Chaos We'll Explore&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Think about it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A scrum is literally a self-organising team fighting for possession, sounds familiar to any agile team?&lt;/li&gt;
&lt;li&gt;A ruck is resource contention and quick decision making&lt;/li&gt;
&lt;li&gt;Phases of play are like deployment pipelines. You want clean ball, quick recycling and forward momentum.&lt;/li&gt;
&lt;li&gt;One moment of individual brilliance can change everything, but it only works because of the other 14 other people doing their jobs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sounds like any successful software project you've worked on?&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why This Matters Now&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Rugby is going through its own digital transformation just like our industry. GPS trackers, AI referee assistance(TMO), performance analytics, fan engagement platforms and many more. The sport is becoming a living laboratory for many technologies we work with daily.&lt;br&gt;
In this series we'll look under the hood at what's actually happening and extract lessons we can apply as builders.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>How Real Growth Happens in Software Development</title>
      <dc:creator>Timothy Opango</dc:creator>
      <pubDate>Tue, 12 May 2026 14:25:09 +0000</pubDate>
      <link>https://dev.to/opango_timmy14/how-real-growth-happens-in-software-development-55b9</link>
      <guid>https://dev.to/opango_timmy14/how-real-growth-happens-in-software-development-55b9</guid>
      <description>&lt;p&gt;Most learning resources focus on clean examples and ideal outcomes. You follow steps, write some code and everything works. It feels productive but it rarely reflects how real development actually happens. Real growth starts when things stop working.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Constraints change everything&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It’s easy to write code when there are no rules. You can always pick the fastest or simplest approach and move on. But introduce operation limitations, performance requirements, strict rule and everything changes. You’re forced to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think before coding&lt;/li&gt;
&lt;li&gt;Evaluate alternatives&lt;/li&gt;
&lt;li&gt;Optimize intentionally instead of accidentally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Constraints push you out of autopilot and into problem-solving mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The gap between “working” and “robust”&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There’s a big difference between code that works once and code that works consistently.At first, you might:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Assume inputs are always valid&lt;/li&gt;
&lt;li&gt;Ignore edge cases&lt;/li&gt;
&lt;li&gt;Skip error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then reality hits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paths break&lt;/li&gt;
&lt;li&gt;Inputs vary&lt;/li&gt;
&lt;li&gt;Environments behave differently&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s when you start learning what robustness really means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Writing defensive code&lt;/li&gt;
&lt;li&gt;Handling failure gracefully&lt;/li&gt;
&lt;li&gt;Designing for unpredictability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Structure is not optional&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As systems grow, unstructured code quickly becomes a problem.Without clear boundaries, you end up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logic scattered everywhere&lt;/li&gt;
&lt;li&gt;Hard-to-test components&lt;/li&gt;
&lt;li&gt;Tight coupling between parts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With structure, everything improves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code becomes easier to reason about&lt;/li&gt;
&lt;li&gt;Changes become safer&lt;/li&gt;
&lt;li&gt;Bugs become easier to isolate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good structure isn’t about perfection, it’s about control.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The importance of environment awareness&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A piece of code doesn’t run in isolation. It runs in an environment and that environment matters more than most people expect. Differences in file systems, dependencies and runtime configurations can completely change behavior. Understanding this forces you to think beyond your local setup and consider portability and consistency across systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Debugging is where learning happens&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Writing code feels productive. Debugging feels frustrating. But debugging is where the real understanding comes from. When something breaks, you’re forced to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trace execution step by step&lt;/li&gt;
&lt;li&gt;Question assumptions&lt;/li&gt;
&lt;li&gt;Understand how components interact&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Over time, this builds intuition—the kind you can’t get from tutorials.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Iteration beats perfection&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One of the biggest shifts in mindset is moving away from trying to get everything right the first time. Real progress looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build something simple&lt;/li&gt;
&lt;li&gt;Break it&lt;/li&gt;
&lt;li&gt;Understand why it broke&lt;/li&gt;
&lt;li&gt;Improve it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repeat that cycle enough times and your skill level compounds.&lt;/p&gt;

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

&lt;p&gt;If you want to grow as a developer, focus less on getting things right immediately and more on understanding why things go wrong.Because in practice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code will fail&lt;/li&gt;
&lt;li&gt;Assumptions will break&lt;/li&gt;
&lt;li&gt;Systems will behave unexpectedly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your ability to navigate that uncertainty is what truly defines your skill. Not what you can build when everything works, but what you can fix when it doesn’t.&lt;/p&gt;

</description>
      <category>career</category>
      <category>learning</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
