<?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: Emmaculate Jane Akinyi Odhiambo</title>
    <description>The latest articles on DEV Community by Emmaculate Jane Akinyi Odhiambo (@emma_jane).</description>
    <link>https://dev.to/emma_jane</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%2F3915344%2Fd8b9b8ec-0538-4812-9640-7bb90931517d.png</url>
      <title>DEV Community: Emmaculate Jane Akinyi Odhiambo</title>
      <link>https://dev.to/emma_jane</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emma_jane"/>
    <language>en</language>
    <item>
      <title>Not everything needs an app</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Sat, 01 Aug 2026 10:32:32 +0000</pubDate>
      <link>https://dev.to/emma_jane/not-everything-needs-an-app-30e4</link>
      <guid>https://dev.to/emma_jane/not-everything-needs-an-app-30e4</guid>
      <description>&lt;p&gt;If you are making me download a whole mobile app just for me to use it twice a year, then maybe you should just go back to user Experience classes. Correct me if I'm wrong but supposed to be downloading an app so that I can maybe pay a bill or even book an appointment or maybe just viewing the menu Seriously. Don't get me wrong native apps definitely have their space like banking, fitness training, tracking apps, gaming e.tc all that, things that heavily rely on your phone's hardware but this other app's please just make a website&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>ux</category>
      <category>webdev</category>
      <category>website</category>
    </item>
    <item>
      <title>Cache-Aside with REDIS</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Sat, 01 Aug 2026 10:13:59 +0000</pubDate>
      <link>https://dev.to/emma_jane/cache-aside-with-redis-2ei1</link>
      <guid>https://dev.to/emma_jane/cache-aside-with-redis-2ei1</guid>
      <description>&lt;p&gt;Every time you open a amazon product or you refresh the same page, do you think that amazon sends a request to the database again. If millions of people are looking at the same product wouldn't that mean 1,000+ database queries and that's extremely expensive. So how do big companies avoid that? There's something called REDIS. REDIS is an in-memory cache, an in-memory cache simply means it stores data on RAM instead of disk cache cause RAM is much faster. REDIS can return data in just a few milliseconds but here's is the most interesting part REDIS doesn't just magically know what data to store and that's where a cache strategy known as a CACHE ASIDE comes in. A user request product 15 and the application ask REDISs, do you have product 15 REDIS says no. This is something known as CACHE MISS, simply means the requested data is not in the CACHE so the application goes to the database and finds product 15 it turns it to the application. Now here's the clever part before sending the product back to the user the application first stores a copy inside REDIS this is called POPULATING THE CACHE now REDIS remembers product 15 and finally the application sends back the product to the user a few seconds later another user requests product 15 again the application asks REDIS and this time REDIS replies product 15 is there. This is called CACHE HIT, it simply means that the requested data is in the cache so the application returns the product immediately and the database is never touched and that is why cache responses are so much faster.&lt;/p&gt;

&lt;p&gt;Now let's imagine the product price changes from maybe 999 to 899 but remember the cache stills remember the former price. The cache contains stale data, Stale data simply means that the cache has outdated information. To fix this after updating the database the application deletes the product from REDIS and this is called CACHE INVALIDATION not because the data was bad but simply because it was incorrect data so now when another customer comes in and requests product 15, the application ask REDIS but remember the product was deleted so what will REDIS say, i don't have this product another cache miss so what does the application do, the application goes to the database because the product is unavailable here and then it goes to the database it finds the updated product 15 with the updated price so now it stores a copy in REDIS and then sends a response back to the user with the updated price. From that point on everybody receives the latest data directly from REDIS and remember REDIS is at the CACHE, CACHE aside is the cashing strategy. There are several caching strategies, CACHE aside is just one of the most common but it's not the only one.&lt;/p&gt;

&lt;p&gt;Next time we'll explore different caching strategies and why CACHE aside is not used by some companies at all&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>database</category>
      <category>performance</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Many believe AI can write code, fix bugs, build features, and eventually replace software engineers. The reality is different. AI is an incredible co-pilot, but it doesn't understand users, business goals, or the trade-offs behind building great software.</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Wed, 15 Jul 2026 19:11:38 +0000</pubDate>
      <link>https://dev.to/emma_jane/many-believe-ai-can-write-code-fix-bugs-build-features-and-eventually-replace-software-5g0k</link>
      <guid>https://dev.to/emma_jane/many-believe-ai-can-write-code-fix-bugs-build-features-and-eventually-replace-software-5g0k</guid>
      <description></description>
      <category>ai</category>
      <category>career</category>
      <category>discuss</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>AI Won't Replace Great Engineers—It Will Amplify Them</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Wed, 15 Jul 2026 19:07:05 +0000</pubDate>
      <link>https://dev.to/emma_jane/ai-wont-replace-great-engineers-it-will-amplify-them-40ka</link>
      <guid>https://dev.to/emma_jane/ai-wont-replace-great-engineers-it-will-amplify-them-40ka</guid>
      <description>&lt;p&gt;I came across this image today, and it perfectly captures one of the biggest misconceptions about AI in software development.&lt;/p&gt;

&lt;p&gt;People often think AI can:&lt;/p&gt;

&lt;p&gt;Write code.&lt;br&gt;
Fix bugs.&lt;br&gt;
Build entire features.&lt;br&gt;
Replace software engineers.&lt;/p&gt;

&lt;p&gt;The reality is different.&lt;/p&gt;

&lt;p&gt;AI is an incredible coding partner, but it doesn't understand your users, your business goals, or the trade-offs that make a product successful. Those are still engineering decisions.&lt;/p&gt;

&lt;p&gt;As developers, we are responsible for:&lt;/p&gt;

&lt;p&gt;Breaking complex problems into manageable pieces.&lt;br&gt;
Designing scalable and maintainable solutions.&lt;br&gt;
Understanding context and user needs.&lt;br&gt;
Testing edge cases and ensuring quality.&lt;br&gt;
Collaborating with teams and stakeholders.&lt;br&gt;
Taking ownership when things go wrong.&lt;/p&gt;

&lt;p&gt;AI helps us move faster by handling repetitive tasks, generating boilerplate code, explaining unfamiliar concepts, and speeding up debugging. But shipping valuable software still requires human judgment.&lt;/p&gt;

&lt;p&gt;I've found that the best results come when engineers and AI work together—not when one tries to replace the other.&lt;/p&gt;

&lt;p&gt;The future belongs to developers who know how to think, not just how to type code.&lt;/p&gt;

&lt;p&gt;AI is a multiplier. Your engineering mindset is the advantage.&lt;/p&gt;

&lt;p&gt;💬 Discussion: What's one way AI has made you a better developer without replacing your role?&lt;/p&gt;

&lt;h1&gt;
  
  
  DEVCommunity #SoftwareEngineering #AI #Programming #Developers #Coding #ProductDevelopment #Tech #MachineLearning #BuildInPublic
&lt;/h1&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl4pozyub5hgmxzm7tn1p.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl4pozyub5hgmxzm7tn1p.jpg" alt=" " width="706" height="879"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Being a Full-stack Developer</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Fri, 05 Jun 2026 11:55:45 +0000</pubDate>
      <link>https://dev.to/emma_jane/being-a-full-stack-developer-14mf</link>
      <guid>https://dev.to/emma_jane/being-a-full-stack-developer-14mf</guid>
      <description>&lt;p&gt;Let's be honest about what "Full-Stack" actually requires. 🧵&lt;/p&gt;

&lt;p&gt;That fancy title covers FOUR completely different disciplines:&lt;/p&gt;

&lt;p&gt;1️⃣ FrontEnd — HTML, CSS, JS + React/Vue/Angular&lt;br&gt;
2️⃣ BackEnd — Node, Python, PHP + API design + Redis&lt;br&gt;
3️⃣ Database — SQL (PostgreSQL/MySQL) + NoSQL + Message queues&lt;br&gt;
4️⃣ DevOps — Docker, Kubernetes, AWS + CI/CD pipelines&lt;/p&gt;

&lt;p&gt;That's not one skill. That's four careers in one job description.&lt;/p&gt;

&lt;p&gt;So here's my advice:&lt;/p&gt;

&lt;p&gt;→ Don't panic looking at the full list&lt;br&gt;
→ Don't skip fundamentals to chase frameworks&lt;br&gt;
→ Don't call yourself full-stack until you've shipped something real at each layer&lt;/p&gt;

&lt;p&gt;Start with Frontend (HTML → CSS → JS → one framework).&lt;br&gt;
Then Backend (one language, REST APIs, one database).&lt;br&gt;
Then learn DevOps when you have something worth deploying.&lt;/p&gt;

&lt;p&gt;The roadmap is real. The shortcut is not.&lt;/p&gt;

&lt;p&gt;Save this. Come back to it in 6 months. You'll be surprised how far you've moved.&lt;/p&gt;

&lt;h1&gt;
  
  
  FullStackDeveloper #TechCareer #LearnToCode #BackEnd #FrontEnd #Database #DevOps
&lt;/h1&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>learning</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Who is a full-Stack Developer</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Fri, 05 Jun 2026 11:50:10 +0000</pubDate>
      <link>https://dev.to/emma_jane/who-is-a-full-stack-developer-3dne</link>
      <guid>https://dev.to/emma_jane/who-is-a-full-stack-developer-3dne</guid>
      <description>&lt;p&gt;🚀 Everyone wants to be a "Full-Stack Developer" — but what does that actually mean?&lt;/p&gt;

&lt;p&gt;Here's the honest breakdown:&lt;/p&gt;

&lt;p&gt;💻 FrontEnd — What users SEE&lt;br&gt;
→ Start with HTML, CSS &amp;amp; JavaScript (the holy trinity)&lt;br&gt;
→ Then pick a framework: React, Vue, or Angular&lt;br&gt;
→ Polish it with Material UI or Bootstrap&lt;/p&gt;

&lt;p&gt;⚙️ BackEnd — What makes things WORK&lt;br&gt;
→ Choose your language: Node.js, Python, PHP, or Ruby&lt;br&gt;
→ Learn how APIs and server logic connect everything&lt;br&gt;
→ Redis for caching — because speed matters&lt;/p&gt;

&lt;p&gt;🗄️ DataBase — Where data LIVES&lt;br&gt;
→ SQL first (MySQL, PostgreSQL) — this is non-negotiable&lt;br&gt;
→ Then explore NoSQL: MongoDB, Cassandra, Elasticsearch&lt;br&gt;
→ Message queues (Kafka, RabbitMQ) for scalable systems&lt;/p&gt;

&lt;p&gt;☁️ DevOps — How code gets DEPLOYED&lt;br&gt;
→ Learn Docker before Kubernetes&lt;br&gt;
→ Pick a cloud: AWS, Azure, or GCP&lt;br&gt;
→ Automate with Ansible, Chef, or Jenkins&lt;/p&gt;

&lt;p&gt;The biggest mistake most developers make?&lt;br&gt;
Trying to learn ALL of this at once.&lt;/p&gt;

&lt;p&gt;Here's what actually works:&lt;br&gt;
✅ Master one layer completely&lt;br&gt;
✅ Build a real project with it&lt;br&gt;
✅ Then move to the next layer&lt;/p&gt;

&lt;p&gt;You don't need every tool on this list.&lt;br&gt;
You need DEPTH in a few, and awareness of the rest.&lt;/p&gt;

&lt;p&gt;That's what separates a real full-stack engineer from someone who just watched tutorials.&lt;/p&gt;

&lt;p&gt;Which layer are you currently working on? Drop it below 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  FullStack #WebDevelopment #Programming #SoftwareEngineering #DevOps #CareerGro
&lt;/h1&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%2F28ijh58iou43xi3kbasq.jpg" 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%2F28ijh58iou43xi3kbasq.jpg" alt=" " width="719" height="897"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Productivity Booster</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Tue, 02 Jun 2026 08:49:38 +0000</pubDate>
      <link>https://dev.to/emma_jane/productivity-booster-3fk3</link>
      <guid>https://dev.to/emma_jane/productivity-booster-3fk3</guid>
      <description>&lt;p&gt;Here are 5 simple things I started doing that completely changed my productivity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The 20-Minute Rule for Being Stuck&lt;br&gt;
If I cannot solve a bug or configuration error within 20 minutes, I stop guessing. I force myself to look at the official documentation, search the &lt;a href="https://dev.to/"&gt;DEV Community&lt;/a&gt;, or ask a colleague. This saves hours of aimless troubleshooting.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Writing Down the Goal Before Coding&lt;br&gt;
Before typing a single line of code, I write down exactly what I am trying to build in plain text. Having a clear roadmap prevents feature creep and keeps my pull requests small and focused.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Turning Off Non-Urgent Notifications&lt;br&gt;
Context switching is a productivity killer. I close my email client and mute general chat channels for two blocks of 90 minutes each day. The uninterrupted focus allows me to enter a state of deep flow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reading Code, Not Just Writing It&lt;br&gt;
Every week, I spend 30 minutes reading open-source repositories or pulling up code written by senior engineers on my team. Seeing how others structure their solutions expands my perspective.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Committing Small, Committing Often&lt;br&gt;
Instead of waiting until the end of the day to make one massive commit, I commit every time a small sub-task works. It serves as a safety net and makes my Git history clean and easy to follow.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Simple Habits</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Tue, 26 May 2026 05:37:21 +0000</pubDate>
      <link>https://dev.to/emma_jane/simple-habits-48j</link>
      <guid>https://dev.to/emma_jane/simple-habits-48j</guid>
      <description>&lt;p&gt;We often think that becoming a better software engineer requires mastering complex frameworks or algorithms. However, I found that the biggest improvements in my workflow came from tiny, daily habits.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why go is great for beginners</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Mon, 18 May 2026 12:23:38 +0000</pubDate>
      <link>https://dev.to/emma_jane/why-go-is-great-for-beginners-3597</link>
      <guid>https://dev.to/emma_jane/why-go-is-great-for-beginners-3597</guid>
      <description>&lt;p&gt;Go is one of the easiest programming languages for beginners to learn.&lt;/p&gt;

&lt;p&gt;It has simple syntax, fast performance, and strong support for building modern applications. Many developers use Go for web development, APIs, and backend systems.&lt;/p&gt;

&lt;p&gt;One thing beginners enjoy about Go is its readability. The code is clean and easier to understand compared to many other languages.&lt;/p&gt;

&lt;p&gt;Go also helps developers learn important programming concepts like functions, loops, structs, and concurrency in a simple way.&lt;/p&gt;

&lt;p&gt;If you are starting your programming journey, Go is a great language to explore.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>I’m a software developer currently exploring Go, and I wanted my first project to be simple, fun, and practical. So I built a CLI tool that converts plain text into ASCII art—something like turning “Hello” into stylized text using characters.</title>
      <dc:creator>Emmaculate Jane Akinyi Odhiambo</dc:creator>
      <pubDate>Wed, 06 May 2026 07:20:51 +0000</pubDate>
      <link>https://dev.to/emma_jane/im-a-software-developer-currently-exploring-go-and-i-wanted-my-first-project-to-be-simple-fun-4i6m</link>
      <guid>https://dev.to/emma_jane/im-a-software-developer-currently-exploring-go-and-i-wanted-my-first-project-to-be-simple-fun-4i6m</guid>
      <description></description>
      <category>beginners</category>
      <category>cli</category>
      <category>go</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
