<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Deborah Emeni on Medium]]></title>
        <description><![CDATA[Stories by Deborah Emeni on Medium]]></description>
        <link>https://medium.com/@deborahemeni?source=rss-806463fe1fac------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*q_VGmSTnDICev2jsaI9uJw@2x.jpeg</url>
            <title>Stories by Deborah Emeni on Medium</title>
            <link>https://medium.com/@deborahemeni?source=rss-806463fe1fac------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 23:24:53 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@deborahemeni/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[I built a 3D game about my Nigerian childhood (and I’m not a game developer)]]></title>
            <link>https://deborahemeni.medium.com/i-built-a-3d-game-about-my-nigerian-childhood-and-im-not-a-game-developer-e33b19e34903?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/e33b19e34903</guid>
            <category><![CDATA[game-development]]></category>
            <category><![CDATA[indie-game]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[nigeria]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Mon, 02 Nov 2026 13:31:21 GMT</pubDate>
            <atom:updated>2026-11-02T19:56:46.634Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K_WpaINLkmxrXf474tGmzA.png" /></figure><p>If you grew up in Nigeria, there is one sentence that can stop your heart in the middle of cartoons:</p><p><strong>“My pikin, come o.”</strong></p><p>You know what’s coming. An errand. Go and buy bread. Go and buy salt. Go to Iya Toyin’s shop, and <em>count your change o.</em> And as you’re walking out of the gate, you hear the final warning:</p><p>“If I count this money and one naira is missing…”</p><p>So I did what any normal adult would do with that memory. I turned it into a 3D game. 😂</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gDBmVNUrG9aIOjkMNPSchw.jpeg" /></figure><h3>So what is Pikin Days?</h3><p><a href="https://pikindays.com/">Pikin Days</a> is a free 3D browser game where you <strong>relive your Nigerian childhood, one memory at a time.</strong> Each episode is a different slice of growing up.</p><p><strong>Episode 1 is “Hold Your Change”</strong>: run errands for the family and bring back the <em>complete</em> change. You pick your child, pick who is sending you (Mama, Papa, Grandma, Aunty, Uncle…), and off you go.</p><p>On the way you have to:</p><ul><li>find the right shop and buy the <strong>right</strong> item (salt and sugar are not the same o!)</li><li>count your change, because sellers are not always honest</li><li>dodge okadas, kekes and buses that are not slowing down for anybody</li><li>run from <strong>Bingo</strong>, the neighbour’s dog who has never liked you</li><li>decide if you’ll stop and play football with your friends… while Mama’s patience is running out</li><li>get home before she sends someone to come and look for you</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XS8D1yum_REbwcXc8C6pXA.jpeg" /></figure><p>At the end, Mama gives you a <strong>trust rating</strong>. I got a C on my own game. Mama said, <em>“Was it for tomorrow I sent you?”</em> I felt that. 😭</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LYUSG6jMawmnr0Msnf2oug.jpeg" /></figure><h3>Why I built it</h3><p>Honestly? Nostalgia, and curiosity.</p><p>The memories in this game are ones many Nigerians share, especially those of us who grew up in the 90s and early 2000s: the kerosene lantern when NEPA took light, everybody shouting <strong>“Up NEPA!”</strong> when it came back, the secret spoonful of powdered milk and the white lips that gave you away. I kept thinking: <em>what if you could walk inside those memories?</em></p><p>The other half was curiosity. I write about developer tools for a living. I explain how things work. But I had never built something like this end to end, a real 3D world in the browser that real people play, and I wanted to know what that actually feels like from the inside.</p><p>Spoiler: it feels like joy, panic, and a lot of testing on your phone at 6am.</p><h3>How I built it (without being a game developer)</h3><p>Here’s the stack:</p><ul><li><strong>Three.js</strong> to build a living 3D Nigerian street (the stalls, the people, the okadas, the goats) that runs right in your phone’s browser, no download needed</li><li><strong>Mixamo</strong> for the character animations. I went in myself to choose and fit every walk, run and reaction, so the kids move like real kids</li><li><strong>Rapier</strong> for physics, so the child doesn’t walk through walls or get trapped behind the bread seller’s table (more on that later 👀)</li><li><strong>Vite + TypeScript</strong> for a fast, typed codebase that could keep up with daily updates</li><li><strong>ElevenLabs</strong> for the voices: Mama, the sellers, and the drivers shouting “Comot for road!” Honestly, this part was stressful. Getting the voices to sound truly Nigerian took so many tries, and a lot of takes sounded more London than Lagos 😅 I listened to every single line and kept only the ones that felt right</li><li>A <strong>static site with a serverless backend</strong> for game stats, player votes, feedback and a private admin dashboard I use to see where players drop off</li></ul><p>And the most important part of the workflow: <strong>I built it with an AI coding agent as my engineering team.</strong></p><p>Now, before anybody says “so the AI built it”: no. The agent typed a lot of the code, the way a calculator does a lot of the maths. But it didn’t decide what to build, how it should feel, or when it was good enough. That was me.</p><p>Here’s what my side of the work actually looked like:</p><ul><li><strong>Designing the game.</strong> The errands, counting your change, Mama’s patience running out, the trust rating, Bingo, the friends’ games that tempt you off your errand. The idea, the rules and the feel of it all.</li><li><strong>Making it feel Nigerian.</strong> An AI doesn’t know that a seller says “thank you, go well” <em>after</em> you buy, not before, or that “Comot for road!” hits different from “Please move.” Every street detail, voice line and memory went through me.</li><li><strong>Writing very precise instructions.</strong> Not “make the camera better”, but “when the child turns, the camera must follow behind them quickly; one-finger drag only turns the view and never zooms; most players are not gamers.” Turns out a technical writing background is a superpower here.</li><li><strong>Setting the rules.</strong> No real brands. No adult is ever hostile to a child. Children are never shown doing heavy labour. Nothing goes live until I say the word “push”.</li><li><strong>Running releases like a real product.</strong> Preview links for every change, version numbers, rollbacks ready, a stats dashboard locked behind secure sign-in, and beta testers before big updates.</li><li><strong>Testing like my life depended on it.</strong> On my phone, in different browsers, inside different apps, held upright and sideways.</li><li><strong>Asking for proof.</strong> This one I learned the hard way. “Done” and “done and verified” are not the same thing. So I started asking for screenshots and screen recordings of every fix, plus an honest table of what was <em>verified</em>, what was <em>not verified</em> and what was <em>hidden</em>.</li></ul><p>It felt a lot like being a product manager, a game designer, a QA tester, a writer and a very strict Nigerian aunty, all at once.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jmWNpQNu9wgS1sfeUzy2rw.jpeg" /></figure><h3>Launch night: we broke the free tier 🎉</h3><p>I posted the game on X, went to bed happy, and woke up to my stats dashboard throwing errors.</p><iframe src="https://cdn.embedly.com/widgets/media.html?type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=twitter&amp;url=https%3A//x.com/__deb_by/status/2114057303460913562&amp;image=https%3A//i.embed.ly/1/image%3Furl%3Dhttps%253A%252F%252Fpbs.twimg.com%252Famplify_video_thumb%252F2114056819249164288%252Fimg%252Fpu49epnWATBhk8BU%253Fformat%253Dwebp%2526name%253Dlarge%26key%3Da19fcc184b9711e1b4764040d3dc5c07" width="500" height="281" frameborder="0" scrolling="no"><a href="https://medium.com/media/12b804933a58c595b8d5acc8cb822b80/href">https://medium.com/media/12b804933a58c595b8d5acc8cb822b80/href</a></iframe><p>The reason? People were actually playing, and on day one I’d hit my hosting provider’s free limit of <strong>1,000 database writes a day</strong>. Every game start, every vote and every bit of feedback was a write. I upgraded to the $5 plan, made the dashboard read without writing, and batched the counts.</p><p>Was it annoying? Yes. Was it also the best problem to have on launch day? Also yes. 🥹</p><h3>The bug that was hiding in plain sight</h3><p>A few days after launch, a player messaged me: the game was stuck on <strong>“Turn your phone sideways to play”</strong>. Even after turning their phone. Since launch.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0DKGobkxFEm2FnSlQUoV-A.jpeg" /></figure><p>And here’s the crazy part: <strong>I had seen this myself.</strong> I’d opened my own link from X, got the same screen, tapped “Open in browser”, and moved on. I genuinely thought it was just my phone.</p><p>It wasn’t my phone. It was everybody.</p><p>When you tap a link inside X, TikTok, Instagram or WhatsApp, it doesn’t open in Safari or Chrome. It opens in the app’s own mini browser. Many of them never rotate, or they rotate but never tell the page it happened. My game was waiting patiently for a “the phone is sideways now” signal that was never going to come. So people were stuck at the door.</p><p>My dashboard had been trying to tell me too. There were <strong>188 bounces on the title screen</strong>. People came, got stuck, and left without saying a word.</p><p>That taught me two things I won’t forget:</p><ol><li><strong>If you hit something weird and work around it, your players will hit it too, and most of them won’t know the workaround.</strong> Your little workarounds are clues.</li><li><strong>Most players don’t report bugs. They just leave.</strong> For every person who messages you, assume many more quietly closed the tab.</li></ol><p>The quick fix was to check the screen’s width and height every half second instead of waiting for a rotation event. The <em>real</em> fix was bigger: rebuild the game to play <strong>upright</strong>. If the game works holding your phone normally, it doesn’t matter what the app’s browser does.</p><p>Before, held upright, the game was squashed. After the phone-first rebuild:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pbc1mnW4H5LVy-mYr35_4g.jpeg" /></figure><h3>What the players (and the numbers) told me</h3><p>In the first week: <strong>140 games started and 40 new players</strong>, and that’s not counting most of launch day, when my stats were the thing that broke 😅. It also doesn’t count everyone who never made it past the title screen because of the sideways bug. But of those who did play, only <strong>31%</strong> finished the first errand, and only <strong>2 games</strong> made it through a full day of errands.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Pao0YKXNFFMaSy2-72Y8-g.png" /></figure><p>Ouch. But useful ouch. Combine that with the feedback and the picture got very clear:</p><ul><li>“The conversations are too slow.”</li><li>“I got stuck behind the bread seller’s table and had to leave the game.”</li><li>“When I lost my money and found it, going home was the only option, but my time was running out.”</li><li>“My energy wears out too fast.”</li></ul><p>Some of these weren’t just annoying, they were blockers. If you get stuck behind a table with no way out, you don’t send feedback. You close the tab.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eCXHHVCWn8Z3oZk7GIK-2A.png" /></figure><p>And when <em>I</em> sat down and played for an hour on my phone, I found even more:</p><ul><li>the seller said “thank you, go well” before I’d even bought anything</li><li>a driver shouted three different lines at me, back to back, while I was standing at a table, not even on the road</li><li>a goat walked straight through the wall of a gutter 🐐</li><li>my friends invited me to play police and thief, said “oya let’s go!”… and then we all just stood there</li><li>football was being played on top of the suwe grid</li><li>running out of time sent me on the <strong>exact same errand</strong> again, with the same list and the same shop. That one hurt, because the whole point of the game is that every errand feels different</li></ul><p>So I made a few rules for myself that I’d now apply to any product:</p><ul><li><strong>One message on screen at a time.</strong> Ever.</li><li><strong>Max about 12 words on a card.</strong> If they have to read, they won’t play.</li><li><strong>No pop-up bigger than ~60% of the screen.</strong></li><li><strong>A player must never be stuck, confused, or overwhelmed.</strong> Not for one second.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*j5Apv-AD73i3l3qyuuACEA.jpeg" /></figure><h3>The update: share your funniest moments</h3><p>The newest update plays upright, opens properly from any app, follows you with a smoother camera, gives drivers their own (very dramatic) voices, and lets you save your funniest moments as short clips: Bingo chasing you, a close call with an okada, coming home late and facing Mama…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/360/1*TvoCrCO0TzKHFAc6Qx8xqw.gif" /></figure><p>…and then share them straight to WhatsApp, TikTok or X.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*rZDWYCLHK0_faWozlGKFoA.gif" /></figure><h3>What I learned</h3><p>If you remember nothing else from this post:</p><p>1. <strong>Test where your users actually are</strong>. Not on your laptop. On a phone, from inside the apps people will share your link in.<br>2. <strong>Your dashboard is your quiet users talking</strong>. Bounces and drop-offs are feedback. Read them like messages.<br>3. <strong>If it feels weird to you, it’s broken for them</strong>. I worked around a bug myself and assumed it was just me. Your little workarounds are your players’ dead ends.<br>4. <strong>Working with AI is a skill</strong>. Be specific, set rules, and ask for proof. “It says it’s done” is not a test.<br>5. <strong>Never ship what you haven’t touched</strong>. Preview links, a quick play on my own phone, and a rollback ready every single time. The one time I rushed, I got a squashed game on live.<br>6. <strong>Ship, then listen</strong>. I found more in one week of real players than in weeks of building alone. Finding a big bug days after launch isn’t failure; that’s exactly what an MVP is for.<br>7. <strong>Make it personal</strong>. The bits people loved most were never the tech. It was Bingo, “Up NEPA!”, and Mama’s report card lines.</p><h3>What’s next</h3><p>Players get to vote on what comes next in the game, and <strong>“Up NEPA!”</strong> is currently winning with 60% of the vote. 💡 So yes, there will be a light-is-back moment. Also on my list: more errand types, more friends’ games (suwe is coming back once I get the hopping right), and more memories to collect.</p><p>It’s been a busy few weeks, so I’m taking a short break before the next update. But the game is live and free to play.</p><p>👉🏾 <strong>Play Pikin Days:</strong> <a href="https://pikindays.com/">pikindays.com</a></p><p>And tell me in the comments: <strong>what’s the most nostalgic thing you remember from your childhood errands?</strong> Mine is the walk home, counting the change three times, praying the seller didn’t cheat me. 😅</p><p><em>Originally published at </em><a href="https://dev.to/deborahemeni1/i-built-a-3d-game-about-my-nigerian-childhood-and-im-not-a-game-developer-281g"><em>https://dev.to</em></a><em> on November 2, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e33b19e34903" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AEO vs SEO: How to Optimize Technical Content for AI Answer Engines]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://deborahemeni.medium.com/aeo-vs-seo-how-to-optimize-technical-content-for-ai-answer-engines-6cece2d523b5?source=rss-806463fe1fac------2"><img src="https://cdn-images-1.medium.com/max/2240/1*ViCp59iw5RDB3qZWcT3F0g.png" width="2240"></a></p><p class="medium-feed-snippet">AEO (Answer Engine Optimization) is the practice of structuring content so it can be directly extracted, summarized, and cited by&#x2026;</p><p class="medium-feed-link"><a href="https://deborahemeni.medium.com/aeo-vs-seo-how-to-optimize-technical-content-for-ai-answer-engines-6cece2d523b5?source=rss-806463fe1fac------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://deborahemeni.medium.com/aeo-vs-seo-how-to-optimize-technical-content-for-ai-answer-engines-6cece2d523b5?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/6cece2d523b5</guid>
            <category><![CDATA[seo]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[content-marketing]]></category>
            <category><![CDATA[technical-writing]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Thu, 05 Mar 2026 08:38:07 GMT</pubDate>
            <atom:updated>2026-03-05T08:38:07.831Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Technical Writing in the Age of AI: What Is the Role Becoming?]]></title>
            <link>https://deborahemeni.medium.com/technical-writing-in-the-age-of-ai-what-is-the-role-becoming-63e489080673?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/63e489080673</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[technical-writing]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Mon, 02 Mar 2026 08:53:44 GMT</pubDate>
            <atom:updated>2026-03-02T09:12:17.832Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bj8hN9HkZzVt9j8qxvlvSA.png" /></figure><p>With everything happening around AI, coding agents, automation, and shifting hiring trends, I found myself thinking seriously about the future of technical writing.</p><p>Not from a place of fear but from a place of responsibility.</p><p>If the industry is changing this quickly, then it makes sense to pause and ask: <em>what is this role evolving into? And what skills will matter most over the next few years?</em></p><p>After observing trends, reading industry conversations, experimenting with AI tools, and reflecting on my own experience in developer-focused environments, one thing feels clear:</p><blockquote><em>The role of the technical writer is not disappearing.</em></blockquote><p>It is becoming more structured, more strategic, and more technical.</p><h3>The Shift Is Already Happening</h3><p>For a long time, documentation was primarily written for humans. The goal was clarity, flow, and pedagogy.</p><p>Now documentation has multiple consumers:</p><ul><li>Developers</li><li>Large Language Models used for training</li><li>AI agents retrieving information in real time</li></ul><p>That changes the game.</p><p>AI systems do not “read” documentation the way humans do. They retrieve chunks, infer structure, and fill in gaps. When documentation is inconsistent, ambiguous, or loosely structured, agents compensate. And compensation often leads to hallucination.</p><p>This means documentation is no longer just explanatory content. It is becoming a reliability layer.</p><p>Well-structured documentation reduces incorrect API usage, lowers support tickets, improves onboarding, and increasingly affects how AI systems interact with products.</p><p>That is a significant shift.</p><h3>From Content Producer to Documentation Architect</h3><p>The traditional view of technical writing focused on producing clear guides and references.</p><p>The emerging version of the role looks different.</p><p>It includes:</p><ul><li>Designing structured knowledge systems</li><li>Thinking in terms of schemas and information architecture</li><li>Ensuring canonical references are consistent and versioned</li><li>Writing with both human and machine consumption in mind</li><li>Collaborating closely with engineering on accuracy and edge cases</li></ul><p>In many ways, documentation is becoming infrastructure.</p><p>And infrastructure requires systems thinking.</p><h3>AI Does Not Replace the Role. It Raises the Bar.</h3><p><em>There is a common narrative that AI will replace writers.</em></p><p>What I am seeing instead is that AI raises the standard.</p><p>If anything, weak documentation becomes more exposed in an AI-driven environment. Ambiguity becomes more costly. Inconsistent naming becomes more visible. Missing edge cases become more problematic.</p><p>This does not eliminate the need for technical writers.</p><p>It demands stronger ones.</p><h3>Skills Technical Writers Should Consider Building</h3><p>Based on current trends, here are areas that I feel are increasingly important:</p><h4>1. Information Architecture</h4><p>Clear structure is no longer optional. Writers need to think in terms of:</p><ul><li>Explicit hierarchies</li><li>Stable terminology</li><li>Clear input and output examples</li><li>Deterministic instructions</li></ul><p>Structure supports both humans and machines.</p><h4>2. API Literacy</h4><p>Understanding how APIs are designed, versioned, and consumed makes documentation stronger. Writers do not need to become backend engineers, but comfort with technical specifications is becoming more valuable.</p><h4>3. Docs-as-Code Workflows</h4><p>Version control, pull requests, structured content, and collaboration within engineering workflows are becoming standard expectations in many organizations.</p><h4>4. Understanding AI Retrieval Behavior</h4><p>Writers do not need to build machine learning models. But understanding how AI systems retrieve and use documentation helps in designing content that is less ambiguous and more reliable.</p><p>This includes awareness of:</p><ul><li>Chunking</li><li>Context windows</li><li>Retrieval-Augmented Generation systems</li><li>Evaluation-driven improvements</li></ul><h4>5. Strategic Thinking</h4><p>Documentation impacts adoption, support load, onboarding speed, and now AI accuracy. Being able to articulate that impact elevates the role from cost center to strategic function.</p><h3>Where I Think the Role Is Heading</h3><p>If I had to summarize it simply, I’d say:</p><p><em>Technical writing is evolving from writing documents to designing knowledge systems.</em></p><p>It is becoming more cross-functional.<br>-&gt; More structured.<br>-&gt; More technical.<br>-&gt; More influential.</p><p>And that is not a downgrade. It is an expansion.</p><p>The industry is shifting. The tools are evolving. Expectations are changing.</p><p>The opportunity is to evolve intentionally alongside them.</p><p>I am curious how others see this shift.</p><p>What do you think technical writing is becoming in the age of AI and agents?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=63e489080673" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Conceptual Topics in Documentation]]></title>
            <link>https://deborahemeni.medium.com/conceptual-topics-in-documentation-e71b56a6e652?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/e71b56a6e652</guid>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[api-documentation]]></category>
            <category><![CDATA[technical-writing]]></category>
            <category><![CDATA[documentation]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Fri, 10 May 2024 20:56:29 GMT</pubDate>
            <atom:updated>2026-03-02T09:24:25.472Z</atom:updated>
            <content:encoded><![CDATA[<p>In learning how to write documentation, such as API documentation, you would encounter “Conceptual Topics.”</p><p>These include product overviews, quick reference guides, getting started tutorials, and more.</p><p>Understanding these topics is crucial because it helps you organize the information in your technical documentation.</p><p>By reading this article, you will learn about these conceptual topics.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RdGxmVFKya90omYhqPFhjg.jpeg" /><figcaption>Image from freepik</figcaption></figure><h3>What are Conceptual Topics in Documentation?</h3><p>Conceptual Topics provide users with a comprehensive understanding of how to use the API (Application Programming Interface).</p><p>They don’t just serve as mere reference materials; they provide guidance and context for the users to understand and use the API. They include:</p><ul><li>Product Overviews</li><li>Getting Started Tutorials</li><li>Authentication and Authorization</li><li>Status and Error codes</li><li>Rate limiting and Thresholds</li><li>Quick Reference Guides</li><li>Glossaries</li></ul><p>Next, let’s discuss these conceptual topics in detail.</p><h3>Product Overviews</h3><p>Behind every technical documentation is a need or problem it’s trying to solve.</p><p>The company behind the documentation has a product or solution to market to its target audience.</p><p>And they do this by exposing the products via their API. But there’s a roadblock here, which is the target audience understanding the purpose of the API and how it solves their problem.</p><p>Now, this is where “Product Overviews” come in.</p><p>The first thing the users do when they visit the documentation is to understand the API’s purpose and functionality.</p><p>So, the Product Overview is like the initial point of contact for the users, describing how the API addresses the users’ needs or challenges.</p><p>For example, the <a href="https://developers.squarespace.com/commerce-apis/products-overview">Squarespace documentation</a> provides a product overview as highlighted below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*y_DMrhF3-Lg2eRlP" /></figure><p>From reading the Product API overview of Squarespace, you can tell its <strong>purpose</strong> and <strong>functionality</strong>.</p><p>In addition, the product overview also contains information about the limitations, use cases, and technical requirements.</p><h3>Getting Started Tutorials</h3><p>Okay! Now, the users understand the purpose of the API, its functionality, use cases, limitations, and technical requirements, but these are all just theories, right?</p><p>There’s no action yet. Some of the users will be curious to try the API out quickly.</p><p>This is where the Getting Started Tutorials come in.</p><p>Usually, you’ll have a link to the Getting Started Tutorials page immediately after the Product Overview page.</p><p>So, what’s the purpose of the Getting Started Tutorials?</p><p>It involves several key steps, which include obtaining API keys, setting up a development environment, and making basic API calls.</p><p>If you’re not a developer, these may sound a bit vague, so let’s go into them a little bit to see what happens in each step:</p><h4><strong>Obtaining API keys</strong></h4><p>API keys are like the secret keys that give you access to an API; you can call them unique identifiers.</p><p>When a user tries requesting the API, they are required to possess an API key, which grants them access by authenticating their request.</p><p>Getting an API key depends on the API provider, but we’re not going into that.</p><p>But usually, you would find information on how to get the API key in the API documentation.</p><h4><strong>Setting up a development environment</strong></h4><p>For users to be able to interact with the API, they would certainly need to set up a development environment, which would involve installing the necessary software and libraries.</p><h4><strong>Making basic API calls</strong></h4><p>Once the users have their API key and development environment set up, the next step is to make basic API calls. Making API calls means sending <a href="https://www.codecademy.com/article/http-requests">HTTP requests</a> to the <a href="https://www.cloudflare.com/en-gb/learning/security/api/what-is-api-endpoint/">API’s endpoints</a> and handling the responses.</p><p>A good example of documentation that includes a Getting Started Tutorial is the <a href="https://developers.google.com/maps/documentation/javascript/get-api-key">Google Maps JavaScript Documentation</a>. It does the following:</p><ul><li>Explains the purpose of API keys and how they work in the context of the Google Maps JavaScript API</li><li>Guides users through the process with step-by-step instructions on how to create an API key</li><li>Guides users through the initial steps of setting up their development environment and making basic API calls by explaining how to use the API key in their projects.</li></ul><p>With this, developers can quickly get up and running with the Google Maps JavaScript API. Look at how it looks below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*y0zlk1e3gow_fghx" /></figure><h3>Authentication and Authorization</h3><p>The companies want to ensure that only legitimate users or applications can access the API or carry out specific actions.</p><p>They want to protect their data and resources from unauthorized access. Achieving this requires documentation of information about authentication and authorization.</p><p>What are they?</p><p>Authentication is the process of verifying that the requester of the API, whether it be a user or application, is who they claim to be.</p><p>As discussed earlier, one common method of authentication is through the use of API keys.</p><p>This section in the documentation explains how to authenticate requests. For example, in a request made to an API like “https://api.example.com/data?key=YOUR_API_KEY”, the API key is added as a <a href="https://www.branch.io/glossary/query-parameters/">query parameter</a> or can be included in the <a href="https://developer.mozilla.org/en-US/docs/Glossary/Request_header">request header</a>.</p><p>Sometimes, authentication may fail due to invalid or expired API keys. This section also covers what error messages to expect in such situations, known as “Error handling.”</p><p>Authorization, on the other hand, determines the actions an authenticated user or application is permitted to perform.</p><p>Users must be authorized or granted permission before accessing specific resources or performing actions within the API.</p><p>Authorization can be based on different access levels, such as free and pro tiers, each with distinct permissions.</p><p>In essence, this section should guide users on handling authorization.</p><p>It should include information on how users can specify their access level or permissions when making requests, such as adding additional headers or parameters like an access token or a specific flag indicating desired permissions.</p><p>Check out the <a href="https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28">GitHub API documentation</a> to see these in action:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*hIxmxu1SHeWNlSDw" /></figure><h3>Status and Error codes</h3><p>The outcome of the API requests made by developers would vary.</p><p>So, it’s important to provide information about the outcome of the API requests. These include status and error codes.</p><p>By providing information about the status and error codes, developers can understand whether their requests were successful, how to fix issues, or what went wrong.</p><p>What are these status codes?</p><p>You can call them standard <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status">HTTP Status codes</a>. They are predefined codes that indicate the general outcome of an HTTP request.</p><p>For example, “200 OK” means the request was successful, while “404 Not Found” indicates that the requested resource could not be found. These are just some examples of status codes.</p><p>Also, note that API documentation often defines its own status and error codes.</p><p>This is where custom status and error codes come in.</p><p>They provide specific feedback to developers. They are called custom because they are unique to the API and can provide detailed information about the request’s outcome.</p><p>For example, an API might return a custom “429 Too Many Requests” status code when a rate limit has been exceeded.</p><p>To see an example of documentation with well-documented status and error codes, check out the <a href="https://mailchimp.com/developer/marketing/docs/errors/">Mailchimp API documentation</a>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ikkEGWZEKsEEYy-3" /></figure><h3>Rate limiting and Thresholds</h3><p>Companies or API providers worry about the reliability and performance of the API and ensuring that <a href="https://www.cloudflare.com/learning/ddos/glossary/denial-of-service/#:~:text=of%2Dservice%20attack%3F-,A%20denial%2Dof%2Dservice%20(DoS)%20attack%20is%20a,interrupting%20the%20device&#39;s%20normal%20functioning.">DoS (Denial of Service) attacks</a> are prevented.</p><p>They do this by limiting the number of requests a user or application can make to the API within a certain timeframe.</p><p>This process is called “rate limiting”. It ensures that all users get a fair usage of the API and protects the API from abuse or overuse. It also saves the cost of transmitting data and maintaining servers.</p><p>So, this section of the documentation provides information about how the limits are enforced and how users can manage their usage to avoid being blocked.</p><p>For example, <a href="https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28">GitHub’s API Documentation</a> provides rate limits for unauthenticated requests, authenticated requests, and requests made using OAuth tokens.</p><p>The unauthenticated requests are limited to 60 per hour, while authenticated requests have higher limits depending on the type of token used. This is how the rate limit section looks:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*onappYHPQP4Auxs1" /></figure><h3>Quick Reference Guides</h3><p>Some users are experienced and wouldn’t want to go through the detailed documentation to find what they are looking for.</p><p>These users would prefer quickly looking up an accessible resource in the documentation that they can read or glance through to understand the API’s structure, endpoints, <a href="https://rapidapi.com/blog/api-glossary/parameters/">parameters</a>, and <a href="https://sendbird.com/learn/what-is-an-api-response">responses</a>.</p><p>This accessible resource is called the “Quick Reference Guides” because it concisely summarizes the API’s endpoints, parameters, and responses.</p><p>Check out <a href="https://docs.stripe.com/api">Stripe API documentation</a>. It has a user-friendly Quick Reference Guide, as shown below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*kR8Kj--MSwM84nhx" /></figure><h3>Glossaries</h3><p>Many terminologies will be used throughout the documentation, and some of these terms may be difficult for users, especially those new to the technology, to understand.</p><p>To ensure that every user can understand the technical terms and concepts, including a “Glossary” section is important.</p><p>In other words, the Glossary is a comprehensive resource that defines technical terms and concepts used throughout the documentation.</p><p>For example, the <a href="https://cloud.google.com/apigee/docs/api-platform/reference/glossary">documentation</a> for Apigee includes a great Glossary section, as shown below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*vtpSrgl-16jQVnCQ" /></figure><h3>What’s more?</h3><p>You’ve learned so far about the conceptual topics with real-world examples. Another section that can fall under the conceptual topics is “Best Practices.”</p><p>This section provides recommendations on better API use, including handling errors and optimizing performance. This section aims to help the users avoid common pitfalls and follow recommended patterns for using the API.</p><p>Review the Documentation samples mentioned in this article to become more familiar with how these conceptual topics are written!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e71b56a6e652" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Beginner’s Introduction to DevOps]]></title>
            <link>https://deborahemeni.medium.com/a-beginners-introduction-to-devops-9f552826113f?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/9f552826113f</guid>
            <category><![CDATA[cicd]]></category>
            <category><![CDATA[devops]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Sun, 12 Mar 2023 17:44:13 GMT</pubDate>
            <atom:updated>2023-03-12T18:18:25.920Z</atom:updated>
            <content:encoded><![CDATA[<blockquote>We live in a society where customer satisfaction and application performance are critical to the success of any software product designed for human consumption. Since developers build applications, they are prone to errors, which may affect code quality. As a result, necessary updates and changes may need to be integrated into the software in real time without interfering with the application’s performance.</blockquote><blockquote>Many organizations have realized in recent years that using the set of practices involved in DevOps is the key to a faster release cycle of quality software, including collaboration between Developers and Operations teams.</blockquote><p>This article will teach you about DevOps, the Software Development Life Cycle (SDLC), its limitations, and the advantages of DevOps over the traditional system. You’ll also learn DevOps practices, terminology, and case studies.</p><h3>Table of Contents</h3><blockquote><a href="#0a53">What is DevOps?</a></blockquote><blockquote><a href="#66ef">Understanding the SDLC</a></blockquote><blockquote><a href="#bccc">A system architecture for an e-learning platform</a></blockquote><blockquote><a href="#75f9">Limitations of the Traditional SDLC</a></blockquote><blockquote><a href="#d080">Benefits of DevOps over the traditional system</a></blockquote><blockquote><a href="#27f3">Set of Practices and Terms used in DevOps</a></blockquote><blockquote><a href="#1395">Case Studies: Examples of Companies implementing DevOps practices</a></blockquote><blockquote><a href="#5e53">Conclusion</a></blockquote><blockquote><a href="#2f50">Resources</a></blockquote><h3>What is DevOps?</h3><p>DevOps is a set of practices that fosters collaboration between IT teams and software developers to automate the operations involved in both development and IT to achieve faster software deployment and code quality.</p><p><em>**I know, that’s a lot of buzzwords, but don’t worry, you’ll understand better as you read on**</em></p><p>You must first understand the Software Development Life Cycle process before diving into DevOps.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/446/0*xKDuDHCUuEYK_qlp" /></figure><h3>Understanding the SDLC</h3><p>The Software Development Life Cycle comprises processes/stages that follow a hierarchical pattern. These stages are as follows:</p><ul><li><strong>Planning Stage</strong> — — This is where the project’s scope (features and functions) and everything needed to develop the project are defined.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/801/0*hx3aMKlk4tpod83G" /></figure><ul><li><strong>Analysis Stage</strong> — This is where we analyze the requirements that have been gathered, which could be the components (i.e. the building blocks that would make up the system). For example, the hardware, software, data exchange mechanisms, data itself, interfaces that promote interaction between the components and sub-systems, and network infrastructure for the application’s running and deployment.</li></ul><p>Then, we define their use cases and apply our findings to conceptualize the system architecture, which defines how the system components will collaborate to achieve the project’s end goal.</p><p>See the illustration below to understand better what a system architecture entails:</p><h3>A system architecture for an e-learning platform</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*6WIw4tPVJtfZhJLw" /></figure><ul><li><strong>Design stage</strong> — The next stage is to create a detailed design from the software architecture, which includes the user interface and database schema.</li></ul><p>Below is an illustration of a System design:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/0*E9aoo_GVN0us1Q-r" /></figure><ul><li><strong>Implementation stage </strong>— This is where the integration of the components that have been designed happens — the writing of the code and unit tests.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rpmv11lUcK0JxadK" /></figure><ul><li><strong>Testing stage</strong> — This is the stage where the software is tested to find errors or bugs before production.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*WhiAr4pPMJ0nKO8o" /></figure><ul><li><strong>Deployment stage </strong>— This is when the application is made available for users to install.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*979mut5OyNHcg5OD" /></figure><ul><li><strong>Maintenance stage</strong> — This is where the software is monitored to detect problems, fix them, or make necessary updates.</li></ul><p>The stages listed above can be carried out using different methodologies, such as the <strong>Waterfall </strong>model (which employs a sequential approach) and the <strong>Agile </strong>methodology (which uses an iterative approach).</p><p>The Waterfall model requires the completion of each stage before moving on to the next. In contrast, Agile focuses on continuous feedback and communication between a team of developers and customers to ensure that the software developed meets the needs and requirements of the customers.</p><p>I’ll emphasize the Agile methodology because it is DevOps&#39;s SDLC method. What kind of practices happens in the Agile methodology?</p><ul><li>Continuous planning and prioritization of work</li><li>Continuous integration and testing of code</li><li>Continuous delivery of working software</li><li>Regular retrospectives to evaluate and improve the process</li></ul><h3>Limitations of the Traditional SDLC</h3><p>The Waterfall model was the traditional SDLC methodology before DevOps, and it has several limitations, including the following:</p><ul><li><strong>Lack of flexibility</strong>: When changes are made to the software later on, there is no going back to make any updates because the model uses a linear approach. It would mean restarting the entire SDLC from scratch.</li><li><strong>Lack of customer involvement</strong>: When developing a product for human consumption, including customers in the SDLC process is critical to ensure that the product meets the customer’s needs. <em>**I mean, what’s the point of a product that customers don’t find useful, right?**</em></li><li><strong>Slow development</strong>: The Waterfall model’s architecture makes it much more challenging to develop and make software available to users.</li><li><strong>High Cost</strong>: With the sequential approach to SDLC, a significant amount of testing, which is costly, will be required because there is no going back if an error occurs in the future.</li></ul><p>Because of these limitations, many organizations have shifted to an iterative approach to SDLC management. DevOps, on the other hand, employs a flexible and iterative approach — the Agile methodology.</p><p>Let’s look at some of the advantages DevOps provides to compensate for the limitations of traditional SDLC.</p><h3>Benefits of DevOps over the traditional system</h3><p>DevOps has several benefits compared to traditional SDLC (Software Development Life Cycle). They include the following:</p><ul><li><strong>Flexibility</strong>: DevOps is designed to be flexible, compensating for the lack of flexibility caused by traditional SDLC methodologies. The speed with which DevOps responds to and updates software demonstrates flexibility.</li><li><strong>Collaboration</strong>: DevOps encourages teamwork and collaboration between development and operations teams.</li><li><strong>Quality</strong>: DevOps enhances code quality through automated testing and infrastructure as code.</li><li><strong>Customer satisfaction</strong>: DevOps allows customers to participate in the SDLC process, resulting in software that meets the customer’s needs.</li><li><strong>Cost</strong>: DevOps significantly reduces costs by employing an iterative rather than a sequential approach, which typically necessitates rework.</li><li><strong>Faster release cycles</strong>: DevOps reduces the time it takes to release software by automating collaboration between development and operations teams.</li></ul><p><em>Next, let’s look at some of the DevOps practices and terminologies</em></p><h3>Set of Practices and Terms used in DevOps</h3><p>As you learn DevOps, you will come across these terms, and it is good practice to understand what they mean and how they work. Let’s look at some of them:</p><ul><li><strong>Continuous Integration</strong> &amp; <strong>Continuous Delivery</strong> (CD/CD):: DevOps ensures that every piece of code tested by developers is integrated as soon as possible. Also, DevOps ensures software changes are automatically built, tested, and deployed to production.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/318/0*rZbQ3LumrCxJCdng" /></figure><ul><li><strong>Infrastructure as Code</strong> (IAC): To configure and manage infrastructures, DevOps employs tools such as <a href="https://www.ansible.com/">Ansible</a>, <a href="https://www.puppet.com/docs/puppet/6/puppet_overview.html">Puppet</a>, and <a href="https://www.chef.io/">Chef</a>.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/982/0*wwIL53ALQycN_MJC" /></figure><ul><li><strong>Automated Testing</strong>: DevOps automates testing such as <a href="https://g.co/kgs/SCM5iT">unit testing</a>, <a href="https://g.co/kgs/UdErUC">integration testing</a>, and <a href="https://g.co/kgs/Srh86X">acceptance testing</a>.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cLoGVB19rY6126Ao" /></figure><ul><li><strong>Monitoring and Logging</strong>: DevOps also monitors the system’s performance to identify any problems or errors affecting the system’s overall performance.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/744/0*H1VOO2PaAmZ7wazM" /></figure><ul><li><strong>Collaboration and Communication</strong>: DevOps promotes teamwork and communication between development and operations teams.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*oQfjV2BhOGkhw8nA" /></figure><ul><li><strong>Agile Methodologies</strong>: DevOps employs Agile methodologies such as <a href="https://g.co/kgs/s2jcxS">Scrum</a> to respond to software changes and provide continuous customer feedback.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/699/0*CIDCzZIJuniU5Bd0" /></figure><ul><li><strong>Automation Tools</strong>: I’ve mentioned several times that DevOps uses automation. Several tools, including <a href="https://www.jenkins.io/">Jenkins</a>, <a href="https://www.docker.com/">Docker</a>, and <a href="https://kubernetes.io/">Kubernetes</a>, automate the process.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/0*eRdMzpYNfEcMbIuD" /></figure><ul><li><strong>Version Control</strong>: A code change management system allowing developers to track changes and collaborate.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/300/0*j0cFP1Cr9j5LhOEg" /></figure><p><em>**Before learning a new technology, it is critical to understand real-world applications of the technology. It provides a better idea of what you can create with that technology!**</em></p><p>Next, we’ll look at some real-world DevOps use cases.</p><h3>Case Studies: Examples of Companies implementing DevOps practices</h3><p>These organizations use DevOps practices such as Continous Integration and Delivery, automated testing, and containerization to easily and quickly deliver new services, features, and high-quality software.</p><ul><li><a href="https://www.google.com/">Google</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*KEmIvNTtEpoEWmwD" /></figure><ul><li><a href="https://www.microsoft.com/en-ng">Microsoft</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*hPSIc30worx9-bQG" /></figure><ul><li><a href="https://www.netflix.com/ng/">Netflix</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*l6LmBv2UpZAa_XnT" /></figure><ul><li><a href="https://www.amazon.com/">Amazon</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oyv5sKbvuS6baS76" /></figure><h3>Conclusion</h3><p>In this article, we explored what DevOps is, the limitations of the traditional SDLC and the benefits DevOps offers. We also covered the set of practices in DevOps and showed some real-world case studies.</p><h3>Resources</h3><p>You may find the following resources useful:</p><ul><li><a href="https://www.redhat.com/en/topics/devops/what-is-ci-cd">Continuous Integration &amp; Continuous Delivery</a> (CI/CD)</li><li><a href="https://www.redhat.com/en/topics/automation/what-is-infrastructure-as-code-iac">Infrastructure as Code</a> (IAC)</li><li><a href="https://www.guru99.com/automation-testing.html">Automated testing</a></li><li><a href="https://www.appdynamics.com/product/how-it-works/application-analytics/log-analytics/monitoring-vs-logging-best-practices#~best-practices-for-integrating-logging-and-monitoring">Monitoring and Logging</a></li><li><a href="https://about.gitlab.com/blog/2020/11/23/collaboration-communication-best-practices/">Collaboration and Communication</a></li><li><a href="https://blog.hubspot.com/website/devops-vs-agile">Agile Methodologies</a></li><li><a href="https://cloudify.co/devops-automation-tools-the-ultimate-list/">Automation Tools</a></li><li><a href="https://learn.microsoft.com/en-us/devops/develop/git/what-is-version-control">Version Control</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9f552826113f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[My Experience as DSC Lead for University of Port Harcourt, Nigeria.]]></title>
            <link>https://deborahemeni.medium.com/my-experience-as-dsc-lead-for-university-of-port-harcourt-nigeria-17c79ca6e605?source=rss-806463fe1fac------2</link>
            <guid isPermaLink="false">https://medium.com/p/17c79ca6e605</guid>
            <category><![CDATA[google]]></category>
            <category><![CDATA[dsc-google]]></category>
            <category><![CDATA[google-developer]]></category>
            <category><![CDATA[my-experience]]></category>
            <category><![CDATA[google-developer-group]]></category>
            <dc:creator><![CDATA[Deborah Emeni]]></dc:creator>
            <pubDate>Sun, 30 Aug 2020 22:18:20 GMT</pubDate>
            <atom:updated>2021-12-29T23:42:19.121Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AkKNDf6CkheV1nuroky5gw.jpeg" /><figcaption>Developers Student Club @University of Port Harcourt, 2019-2020.</figcaption></figure><p>I became a member of the Developers Student Club, a Program organized by Google Developers that is present in various Universities across the globe, in my first year as a Computer Science Student at the University of Port Harcourt. My goal was to apply the basic knowledge of Programming that I was being taught by Lecturers in my Department and become very good at Programming.</p><p>When I joined DSC in the year 2018, I met a lot of awesome and friendly Students, most were in same Department, Computer Science. Being a friendly person, It didn’t take me a long time to get acquainted with all the DSC members.</p><p>We had Meetups, Workshops as well as Hackathons at the Computer Science Lab in my School. Ray Okaah was the DSC Lead at that time. I did my best to attend all the meetups I was able to. I wasn’t conversant with any Programming Language when I became a member of DSC, I was just keen on learning.</p><p>During the meetups, We were paired into groups according to our stacks and levels in Technology (Newbie, Beginner and Intermediate levels) and were assigned mentors to lead each group. I always paid attention and loved how things were done by the previous DSC Lead, Ray Okaah. I didn’t know that one day, I will be the DSC Lead for my School! 😃.</p><p>On some days of the meetups we had, I would volunteer to help teach the Newbies in frontend Web Development, HTML and CSS (which was what I was good at to some extent at that time). To be honest, I was so excited doing that.</p><p>On a particular evening, Ray Okaah, the previous DSC Lead, reached out to me and informed me that his tenure as the DSC Lead was coming to an end and he will be replaced with someone else capable of leading the community. He said he has noticed me and felt that I would make a good Leader for the DSC.</p><p>I was astonished and at the same time glad that he considered me, but still tensed about being a Lead!😱😱 I told him that I wasn’t sure I would be able to lead a whole Club of about 100+ persons. I mentioned that I didn’t feel good enough and lacked enough experience in Programming and Tech in general to be able to lead a club with Tech Professionals. Ray convinced me that it wasn’t as difficult as it seemed and he sees a good leader in me. I was still tensed and hardly convinced. So, he gave me some time to think about it after assuring me that he will help me in the Application process and I should not be scared. Phewww….😥😪😪</p><p>I decided that I was going to take the shot 😊😊 and I started the application process. I made a YouTube Application Video, which was part of the DSC Lead application requirements. 👇💗💗</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FaRgjSYtsY5I%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DaRgjSYtsY5I&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FaRgjSYtsY5I%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/43f25bcebebf964fbea41da29b86a0a8/href">https://medium.com/media/43f25bcebebf964fbea41da29b86a0a8/href</a></iframe><p>It was an interesting process 😊💗😃💗. So my interview was scheduled, and I had a video interview. The questions asked were basically what was asked in the application form. So I had no issues answering the questions the interviewer asked. 😊</p><p>After a few months, I received a congratulatory email from DSC, saying that I had been chosen as the DSC Lead for my school!!!😍🥰🥰💃💃I was introduced by Ray to the club as his successor DSC Lead at a meetup.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/302/1*RKTarFO3QDyRwgAO2-CbOQ.png" /><figcaption>Congratulatory email</figcaption></figure><p>Then I was invited to a Google Summit in Accra, Ghana at Swiss Spirit Hotel Alisa Accra.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4tvHisCBqcYt3t04eRKjug.jpeg" /></figure><p>I was so excited! as my trip was being sponsored out of Nigeria to meet and connect with Google Developer Relations Sub-Saharan Africa, Women Tech Makers Ambassadors as well as the rest of the DSC leads. I was really excited! That was my first trip in a plane and first time traveling outside Nigeria!😂💃</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/576/1*iYqUBQ8GRSER6giGOOhlUA.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/811/1*JjhGM2-ADHYKx3TfOYMxRQ.jpeg" /><figcaption>Pictures of me at the Summit.</figcaption></figure><p>The summit was a success and a thrilling experience! never to be forgotten💗😍😊. I met and made friends with a lot of Developers and Google Developers Relations Team. I must say it was an amazing experience!💗💗💗</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FIysRgPnKU5_SCTKLE4aSA.jpeg" /></figure><p>During the summit at Accra, sessions were held at the halls with all the Developers Student Club Leads, we had speakers and hosts, Erica Hanson(Developer Relations Program Manager, Google, Global Lead for Developers Student Club) Auwal MS(Program Manager <a href="https://medium.com/u/991272e72e68">Google Developers</a> @DSCSSA) , Ada Nduka Oyom, Aniedi Udo and some other Google Developers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Uh7PcTN8EGWgbgnxiX8Q-g.jpeg" /></figure><p>We also had some of the past DSC Leads as speakers, share their experience as DSC Leads and we were also told what we were expected to do as DSC Leads in our various schools when we returned to our various Countries.😊</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9VO82_CFOaa1Nh5IvEJksQ.jpeg" /></figure><p>I also attended the DevFest at Accra. It was a wonderful experience! I learnt a lot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6ahFTiPfT0deIHCi5Gl52Q.jpeg" /></figure><p>I traveled back to Nigeria, and back to my University. I began with choosing my Core Team Members, who were active members of the DSC. I chose them according to the different departmental levels in school, and the various technology stacks. My aim was to be able to work with my Core Team and reach out to Students in the various departments and levels, with different technology stacks and interests. My Core Team members were excited to volunteer and to help.</p><p>I organized my first meetup with the help of my Core Team Members. The first meetup was an Info Session for old and new club members. During the meetup, I introduced my Core Team members to the Club, and with their help, I enlightened the Club about the aim of DSC, which is to create a mentoring or learning environment for Students interested in learning or acquiring a skill in Technology using some tools provided by Google.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*0H4sDSyvJ6uLp5fOr3SF3A.png" /></figure><p>The Info Session was successful with a good number of attendees. My Core Team and I grouped the members of the Club into different stacks such as; Web Development, Android Development, Cloud Engineering, Artificial Intelligence, Design, e.t.c. and we assigned Mentors(members of the club with more experience in each stack) to each group.</p><p>Still with my Core Team Members, I organized more Workshops/Meetups, with each workshop focused on a particular technology several times in a month at the Computer Science Lab in Uniport.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/898/1*jsyNy2SP6qjNqEoE9hW-dQ.png" /></figure><p>I urged the members of DSC to attend the DevFest Port Harcourt that happened on the 16th of November 2019, and a lot of them attended and were glad they did!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/888/1*PKbvPes2rpBgDnPbIAMUMQ.png" /></figure><p>The time for the Google Solution Challenge came, and in conjunction with my core team members; Ikeh Akinyemi, Fortune Ikechi, Melvin Nnamani and the assistance of the Former DSC lead, Ray Okaah, We came up with a solution idea to build a Blood Donation App that connects blood donors with local hospitals to reduce the rate of deaths in hospitals as a result of lack of blood or lack of a blood type. We took interest in our University of Port Harcourt Teaching Hospital(UPTH) which is one of the largest hospitals in Southern Nigeria.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5aujDWJX4s0GNuY8RM4h-Q.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xtxwu4yl8qsh1ysiLVxXCw.jpeg" /></figure><p>We decided to go and interview the section of the hospital in charge of blood donation called Haematology Laboratory.</p><p>Below are random pictures taken at the Hospital premises during our group research, of Ikeh Akinyemi, Fortune Ikechi, Melvin Nnamani and myself!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/810/1*CjB07McphkOIAyCjUsRuNg.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PIfaUTIosEYDGiZN4XD8Pw.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/1*EQ62ewqml8_LKfKVYK_Ewg.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*73tFgjL5Bj7ukNEj1zS7_w.png" /><figcaption>Certificate of Participation</figcaption></figure><p><a href="https://play.google.com/store/apps/details?id=com.flutterengineer.lifesaver">Life Saver - Apps on Google Play</a></p><p>However, there were some challenges I faced as DSC Lead, which included organizing meetups during exam periods and overseeing all the sub-groups that were functioning in DSC.</p><p>I am so glad! that as the DSC Lead of University of Port Harcourt, I was able to help a lot of students acquire innumerable skills in their various interests. I am grateful to have had the opportunity to contribute to the growth of the club and to have made a lot of positive impact in the development and aspirations of members of DSC Uniport.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=17c79ca6e605" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>