<?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: Kimberley Madoya</title>
    <description>The latest articles on DEV Community by Kimberley Madoya (@madoyakimberley).</description>
    <link>https://dev.to/madoyakimberley</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3976383%2F7653c2fa-3d45-4e1b-a03b-12b083bdb67e.jpeg</url>
      <title>DEV Community: Kimberley Madoya</title>
      <link>https://dev.to/madoyakimberley</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/madoyakimberley"/>
    <language>en</language>
    <item>
      <title>Why Every Developer Needs a Strong Test Suite (Even If You Hate Writing Tests)</title>
      <dc:creator>Kimberley Madoya</dc:creator>
      <pubDate>Sat, 20 Jun 2026 12:23:23 +0000</pubDate>
      <link>https://dev.to/madoyakimberley/why-every-serious-developer-needs-a-strong-test-suite-even-if-you-hate-writing-tests-b2m</link>
      <guid>https://dev.to/madoyakimberley/why-every-serious-developer-needs-a-strong-test-suite-even-if-you-hate-writing-tests-b2m</guid>
      <description>&lt;p&gt;I used to think tests were a waste of time. &lt;/p&gt;

&lt;p&gt;"Ship fast, fix later" was my motto. Until I spent three painful weeks debugging a production issue that a simple test would have caught in 30 seconds.&lt;/p&gt;

&lt;p&gt;That was the day I became a believer.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Harsh Reality Most Solo Developers Ignore
&lt;/h3&gt;

&lt;p&gt;If you're a freelancer or indie hacker building real products for clients, here’s what happens without good tests:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You make a "small change" and something unrelated breaks&lt;/li&gt;
&lt;li&gt;Clients find bugs you should have caught&lt;/li&gt;
&lt;li&gt;Refactoring becomes terrifying&lt;/li&gt;
&lt;li&gt;You lose sleep before every deployment&lt;/li&gt;
&lt;li&gt;Your reputation slowly takes hits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A solid test suite changes all of that.&lt;/p&gt;

&lt;h3&gt;
  
  
  What a Test Suite Actually Gives You
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Confidence to Move Fast&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
You can refactor, add features, or upgrade dependencies without fear.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Living Documentation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Your tests explain how the system should behave — better than comments ever could.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Early Bug Detection&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Catch issues before they reach the client or production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Better Architecture&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Writing testable code forces you to write cleaner, more modular code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Professional Credibility&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
When clients or senior devs review your code, a good test suite immediately signals seriousness.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The Test Suite Pyramid I Actually Use
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unit Tests&lt;/strong&gt; (70%) → Test individual functions and components&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration Tests&lt;/strong&gt; (20%) → Test how different parts work together (API + DB)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End-to-End Tests&lt;/strong&gt; (10%) → Critical user flows (login → checkout → etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I don't aim for 100% coverage. I aim for &lt;strong&gt;high-value coverage&lt;/strong&gt; — especially around business logic and critical paths.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thought
&lt;/h3&gt;

&lt;p&gt;Writing tests feels slow at first.&lt;/p&gt;

&lt;p&gt;But it compounds. Every month you have tests, you move faster and sleep better.&lt;/p&gt;

&lt;p&gt;The developers who ship reliable software consistently aren't necessarily the smartest — they're usually the ones who learned to respect testing.&lt;/p&gt;

&lt;p&gt;Have you built a strong test suite habit yet? Or are you still in the "I'll test it manually" phase?&lt;/p&gt;

&lt;p&gt;Drop your experience below. Let's talk.&lt;/p&gt;

</description>
      <category>development</category>
      <category>webdev</category>
      <category>software</category>
      <category>testing</category>
    </item>
    <item>
      <title>From Blank Terminal to Shipping a Real Client Project: My First Year of Coding</title>
      <dc:creator>Kimberley Madoya</dc:creator>
      <pubDate>Tue, 09 Jun 2026 18:22:37 +0000</pubDate>
      <link>https://dev.to/madoyakimberley/from-blank-terminal-to-shipping-a-real-client-project-my-first-year-of-coding-44mf</link>
      <guid>https://dev.to/madoyakimberley/from-blank-terminal-to-shipping-a-real-client-project-my-first-year-of-coding-44mf</guid>
      <description>&lt;p&gt;Exactly one year ago, my terminal was a blank slate. I started where almost everyone does , wrestling with HTML, CSS, and JavaScript, trying to understand the web pixel by pixel.&lt;/p&gt;

&lt;p&gt;What began as curiosity quickly turned into a full obsession. I went from building simple static pages to diving deep into full-stack development. Here’s what that intense first year of constant building, breaking things, and shipping real projects has looked like.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Leap into Modern Frameworks
&lt;/h2&gt;

&lt;p&gt;Once vanilla JavaScript started feeling limiting, I jumped into &lt;strong&gt;React&lt;/strong&gt;. Component-based thinking completely changed how I approached interfaces. Then came &lt;strong&gt;Next.js&lt;/strong&gt; — it bridged client-side beauty with server-side power and pushed me into a true full-stack mindset.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ultimate Test: Lynvista Safaris
&lt;/h2&gt;

&lt;p&gt;The biggest challenge was building &lt;a href="https://lynvistasafaris.com" rel="noopener noreferrer"&gt;lynvistasafaris.com&lt;/a&gt;, a live travel booking platform for a real client. This project forced me far beyond tutorials and into real engineering problems.&lt;/p&gt;

&lt;p&gt;I had to implement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Payment infrastructure&lt;/strong&gt; from scratch with Daraja API (M-Pesa STK pushes) and Paystack for international transactions.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;robust database layer&lt;/strong&gt; using Drizzle ORM + MySQL.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom business logic&lt;/strong&gt;, including a multi-currency pricing system with special validation rules for currencies like GBP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It was messy , many late nights debugging webhooks, schema mismatches, and edge cases , but shipping it taught me more than any course ever could.&lt;/p&gt;

&lt;h2&gt;
  
  
  What One Year Taught Me
&lt;/h2&gt;

&lt;p&gt;Syntax is just a tool. The real skill is learning how to break down complex problems, debug effectively, and keep iterating even when things break in production.&lt;/p&gt;

&lt;p&gt;I’m incredibly proud of the progress I’ve made in 365 days (402 contributions later), but I know I’m still at the very beginning. For the next phase, I’m focused on shipping more projects, writing about the crazy bugs I encounter, and deepening my architectural and full-stack skills.&lt;/p&gt;

&lt;p&gt;If you want to see what I’m building right now, check out my &lt;a href="https://github.com/madoyakimberley" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
