<?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" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Ifeoma Udu - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Ifeoma Udu - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 19 May 2026 22:44:29 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/ifycodes99/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ System Architecture Documentation Best Practices and Tools ]]>
                </title>
                <description>
                    <![CDATA[ Imagine being asked to give UX feedback on a system workflow document and realizing you can’t understand a word of it. That’s exactly what happened to me. As an IT support officer, I can put myself in the perspective of a user and identify friction p... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/system-architecture-documentation-best-practices-and-tools/</link>
                <guid isPermaLink="false">691484910576aea108fc08d8</guid>
                
                    <category>
                        <![CDATA[ documentation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software architecture ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Collaboration ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ifeoma Udu ]]>
                </dc:creator>
                <pubDate>Wed, 12 Nov 2025 12:58:57 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1762950321590/b67b93ef-de20-430b-a160-13631259c1d5.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Imagine being asked to give UX feedback on a system workflow document and realizing you can’t understand a word of it. That’s exactly what happened to me.</p>
<p>As an IT support officer, I can put myself in the perspective of a user and identify friction points, but this document had no visuals, no simplified explanations, just walls of backend jargon: <em>service mesh, container orchestration, async queues, REST APIs… you name it.</em></p>
<p>I realized quickly: if someone like me struggles to understand this, so will PMs, frontend devs, new hires, and even other IT staff.</p>
<p>Here’s a practical guide for creating system architecture documentation that anyone on your team can read and use:</p>
<ul>
<li><p><a class="post-section-overview" href="#heading-step-1-show-the-system-from-different-angles">Step 1: Show the System from Different Angles</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-2-make-diagrams-the-star">Step 2: Make Diagrams the Star</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-3-translate-tech-into-user-relevant-outcomes">Step 3: Translate Tech Into User-Relevant Outcomes</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-4-make-communication-clear">Step 4: Make Communication Clear</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-step-5-keep-it-simple-and-consistent">Step 5: Keep it Simple and Consistent</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-system-architecture-documentation-tools-for-teams">System Architecture Documentation Tools for Teams</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<h2 id="heading-step-1-show-the-system-from-different-angles"><strong>Step 1: Show the System from Different Angles</strong></h2>
<p>A good architecture doc isn’t just a list of tech terms. Think about who is reading it:</p>
<p><strong>A. Conceptual View (PM/UX/business folks)</strong></p>
<ul>
<li><p>What the system does for the user.</p>
</li>
<li><p>Example: <em>“User Authentication System,” “Checkout Service”</em></p>
</li>
<li><p>Focus on user value and business goals.</p>
</li>
</ul>
<p><strong>B. Component View (frontend developers/IT staff)</strong></p>
<ul>
<li><p>How the parts interact.</p>
</li>
<li><p>Example: <em>“Web App calls API Gateway → Microservice → Database”</em></p>
</li>
<li><p>Focus on data flow and system boundaries.</p>
</li>
</ul>
<p><strong>C.   Operational View (backend/DevOps)</strong></p>
<ul>
<li><p>Where the system runs and how.</p>
</li>
<li><p>Example: <em>servers, databases, cloud setup, scaling.</em></p>
</li>
<li><p>Focus on infrastructure and deployment.</p>
</li>
</ul>
<p>This way, everyone can find what’s relevant to their role without getting lost in technical weeds.</p>
<h2 id="heading-step-2-make-diagrams-the-star"><strong>Step 2: Make Diagrams the Star</strong></h2>
<p>Words alone don’t cut it. Diagrams help people visualize the system, especially if they’re not experts.</p>
<p><strong>Types of Diagrams to Include</strong></p>
<ul>
<li><p><strong>System Context Diagram:</strong> Shows the system and its external dependencies. UX/PM/IT staff can see how it touches users and other systems.</p>
</li>
<li><p><strong>Container Diagram:</strong> Shows main boundaries like <em>“Web App,” “Auth API,” “Database.”</em> Frontend and backend teams benefit.</p>
</li>
<li><p><strong>UML/Component Diagram:</strong> Shows internal structure or interactions. Mostly backend focus, but helps everyone understand flow.</p>
</li>
</ul>
<p><strong>Tip:</strong> Even a simple flowchart drawn in PowerPoint, Figma, or by hand is better than none. Clarity matters more than perfection.</p>
<p>Diagrams help:</p>
<ul>
<li><p>UX sees user impact.</p>
</li>
<li><p>Frontend knows which services to hook up.</p>
</li>
<li><p>Backend sees infrastructure and interactions.</p>
</li>
<li><p>Everyone shares the same mental picture.</p>
</li>
</ul>
<h3 id="heading-example-1-system-context-diagram">Example 1: System Context Diagram</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762421963002/ab9f11d4-e30f-4e4a-9510-55b4b3f5e8ad.jpeg" alt="Flowchart illustrating an end user visiting a web app, which processes payments via Stripe API and sends emails through SendGrid using webhooks." class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>This diagram illustrates who uses the system (a person on the web) and which external services it depends on, like Stripe for payments and SendGrid for emails. It doesn't show the internal workings of the system, just what it connects to.</p>
<h3 id="heading-example-2-container-diagram">Example 2: Container Diagram</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762612172310/1ef1b7e9-0441-4d34-b136-2283ec0b4c56.jpeg" alt="Flowchart depicting a web application architecture. The sequence starts with a web browser, leading to a frontend app, then to an API gateway. The gateway splits into two paths: one leads to an Auth Service connected to a User Database, and the other to an Order Service connected to an Orders Database." class="image--center mx-auto" width="600" height="400" loading="lazy"></p>
<p>This diagram illustrates the main components of the system: the Web App, which is the user interface; the Auth API, responsible for handling login and security; and the User Database, where user profiles are stored. The arrows indicate how these components interact with each other.</p>
<p><strong>Practical Tip: Tools to Create Clear Architecture Docs.</strong></p>
<h2 id="heading-step-3-translate-tech-into-user-relevant-outcomes"><strong>Step 3: Translate Tech Into User-Relevant Outcomes</strong></h2>
<p>System architecture goes beyond databases and queues, focusing on making the product fast, reliable, and secure for users. Link technical requirements to outcomes everyone can understand:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Requirement</strong></td><td>❌ <strong>Technical Jargon</strong></td><td>✅ <strong>User Outcome</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Scalability</td><td>Kubernetes for container orchestration</td><td>Can handle 10x daily users without slowdowns.</td></tr>
<tr>
<td>Performance</td><td>CDN + caching</td><td>Pages load in under 500ms, no “loading” screens.</td></tr>
<tr>
<td>Security</td><td>TLS 1.3 for data transfer</td><td>User data is safe; only authorized systems access PII(Personally Identifiable Information)<strong>.</strong></td></tr>
</tbody>
</table>
</div><p>Even a person with basic UX awareness can see why tech decisions matter.</p>
<h2 id="heading-step-4-make-communication-clear"><strong>Step 4: Make Communication Clear</strong></h2>
<p>One major source of confusion is how different parts of the system talk to each other. Spell it out:</p>
<p>a) Frontend ↔ Backend: Clearly explain how your frontend connects to the backend.</p>
<p>Example: <em>“The website sends login requests to the Auth API.”</em></p>
<p>b) Backend ↔ Backend: Explain whether services communicate with each other instantly (synchronous) or through background tasks like message queues (asynchronous). This helps the team understand why some actions feel instant to users, while others take time.</p>
<p>Even non-backend readers can follow the flow and understand how it impacts the product.</p>
<h2 id="heading-step-5-keep-it-simple-and-consistent"><strong>Step 5: Keep it Simple and Consistent</strong></h2>
<ul>
<li><p>Use headings, bullet points, and a table of contents. Don’t write a novel.</p>
</li>
<li><p>Keep names consistent: <em>“User Service”</em> in diagrams should match text labels.</p>
</li>
<li><p>Explain the “why” behind major decisions:</p>
</li>
</ul>
<p><em>“We chose a NoSQL DB for User Profiles because it requires fast read/write for non-relational data.”</em></p>
<p>Consistency and simplicity make the doc useful to everyone, not just backend experts.</p>
<h2 id="heading-system-architecture-documentation-tools-for-teams"><strong>System Architecture Documentation Tools for Teams</strong></h2>
<p>Great architecture documentation lives where your team already works and uses tools that are easy to update, share, and understand. Below are the common types of tools teams use, grouped by purpose.</p>
<h3 id="heading-documentation-platforms-where-you-write-the-full-doc">Documentation Platforms (Where You Write the Full Doc)</h3>
<p>You can use these tools to combine text, diagrams, and structure a document.</p>
<p><strong>Google Docs</strong><br>Simple, familiar, and collaborative. Supports real-time comments, edit history, and easy sharing. Perfect if your team already uses Gmail or Drive. Just paste diagrams as images.</p>
<p><strong>Confluence</strong><br>Common in larger companies. Integrates with Jira, supports page templates, and lets you embed diagrams. Good for structured knowledge bases.</p>
<p><strong>Notion</strong><br>Flexible workspace for small teams. Mix docs, tasks, and diagrams in one place. Great if your team uses Notion for other work.</p>
<p><strong>GitHub/GitLab Wikis (with Markdown)</strong><br>Ideal for engineering-heavy teams. Docs live next to your code, and you can include diagrams using simple code (like Mermaid). Changes are tracked like code.</p>
<blockquote>
<p><strong>Start with Google Docs</strong> if you’re unsure. A living doc people actually read is better than a “perfect” one no one opens.</p>
</blockquote>
<h3 id="heading-diagramming-tools-where-you-create-visuals"><strong>Diagramming Tools (Where You Create Visuals)</strong></h3>
<p>These help you draw the architecture diagrams you’ll add to your documentation platform.</p>
<p><strong>Draw.io</strong><br>Free, browser-based, and drag-and-drop simple. No sign-up needed. Exports clean PNG/SVG files you can paste into Docs or Confluence. Great for C4-style diagrams (System Context, Container, and so on).</p>
<p><strong>Figma</strong><br>If your team already uses Figma for design, you can create architecture diagrams using basic shapes and arrows. Real-time commenting makes feedback easy. Just export as PNG for Docs.</p>
<p><strong>Mermaid (Diagrams as Code)</strong><br>Write simple text like <code>User --&gt; Web App</code>, and it becomes a diagram. Works in GitHub, GitLab, and tools like Obsidian. Use the <a target="_blank" href="https://mermaid.live/">Mermaid Live Editor</a> to design, then download and paste into Google Docs.</p>
<h4 id="heading-a-key-insight-from-practicing-architects"><strong>A Key Insight from Practicing Architects.</strong></h4>
<p>Avoid tools that <strong>only produce static images</strong> (like PowerPoint, Canva, or basic whiteboards) for anything beyond quick sketches. If the same service appears in three diagrams and you rename it, you’ll have to update all three manually, leading to outdated and inconsistent docs.</p>
<h3 id="heading-how-they-work-together"><strong>How They Work Together</strong></h3>
<ol>
<li><p>Write your doc in Google Docs (or your team’s existing platform).</p>
</li>
<li><p>Create diagrams in Draw.io or Figma (or try Mermaid if you’re curious).</p>
</li>
<li><p>Paste the diagram into your doc, add alt text, and explain what it shows in plain language.</p>
</li>
</ol>
<p>This combo gives you accessibility, collaboration, and maintainability without overwhelming you or your team.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>You don’t need to be a senior engineer to write great architecture docs. You just need clarity, empathy, and the willingness to explain “why.”</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What Does a Creative Technologist Do? ]]>
                </title>
                <description>
                    <![CDATA[ On paper, I studied computer science. However, most of my passions were artistic: writing, storytelling, and content creation. Over time, I found myself blending both worlds without recognizing it. Then I came across the term Creative Technologist an... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-does-a-creative-technologist-do/</link>
                <guid isPermaLink="false">68d43e64c21b03de37bb4dce</guid>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ifeoma Udu ]]>
                </dc:creator>
                <pubDate>Wed, 24 Sep 2025 18:54:28 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1758739716707/5b3242ab-e42a-4a2c-832d-15954dcbaa3c.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>On paper, I studied computer science. However, most of my passions were artistic: writing, storytelling, and content creation. Over time, I found myself blending both worlds without recognizing it.</p>
<p>Then I came across the term Creative Technologist and realized, "Oh, so that's what I've been doing."<br>Even though my tech career path isn't totally defined yet (the tech world is constantly evolving), I've discovered a niche where my skills naturally fit together: merging code, culture, and creativity.</p>
<p>That is what being a creative technologist entails. If you've ever wondered if you could combine technical talents with creativity, this article will explain what the role is, what skills are required, and why it's becoming more important than ever.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-does-a-creative-technologist-do">What Does a Creative Technologist Do?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-key-skills-every-creative-technologist-needs-with-examples">Key Skills Every Creative Technologist Needs (with Examples)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-is-this-different-from-ux">How Is This Different From UX?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-creative-technologists-matter-more-than-ever">Why Creative Technologists Matter More Than Ever</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<p><a target="_blank" href="https://answerthepublic.com/reports/bceccd49-bf7a-4aeb-832d-35d9c638553d"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1757756705919/50dccdd9-4f76-4a07-8148-eb9db36af8be.jpeg" alt="Visualization showing common search questions about creative technologists." class="image--center mx-auto" width="1080" height="491" loading="lazy"></a></p>
<h2 id="heading-what-does-a-creative-technologist-do">What Does a Creative Technologist Do?</h2>
<p>A creative technologist is someone who combines technical knowledge with creative intuition to turn ideas into usable digital experiences. Think of a creative technologist as a bridge builder, someone who links storytelling, design, and technology to enable innovation.</p>
<p>Some people jokingly label them "jacks of all trades." In actuality, they are more like translators, ensuring that creativity and code communicate well.</p>
<h2 id="heading-key-skills-every-creative-technologist-needs-with-examples">Key Skills Every Creative Technologist Needs (with Examples)</h2>
<p>Unlike traditional roles, a creative technologist’s skill set is hybrid and exploratory. Here are some of the most important skills, with examples from my own journey:</p>
<h3 id="heading-technical-know-how">Technical Know-How</h3>
<p>A creative technologist must have enough technical knowledge to work across multiple mediums. This is not about knowing every programming language, but about being able to choose the best tool for the job. It's the toolset that enables experimenting.</p>
<ul>
<li><p>Web development (HTML, CSS, JavaScript, or frameworks like React and Django)</p>
</li>
<li><p>Mobile app development (Flutter, React Native, or Swift/Kotlin basics)</p>
</li>
<li><p>Design and prototyping tools (Figma, Canva, or Adobe Suite)</p>
</li>
<li><p>Low-code/no-code platforms (WordPress, Wix, Webflow, or Bubble)</p>
</li>
</ul>
<p><em>Example:</em>** In my own projects, I’ve switched between Python/Django for custom builds and WordPress/Wix for quick websites. Having that range of technical fluency means I can adapt to different project needs without being stuck in one medium.</p>
<h3 id="heading-creative-prototyping">Creative Prototyping</h3>
<p>This is the process of immediately turning ideas into real experiments, rather than waiting for a finished product. It's less about the tool and more about the mindset: hacking, sketching, and testing to discover what's feasible.</p>
<p><em>Example:</em>** For my undergraduate project, I built a prototype African literature e-book reader using Python and Django. It wasn’t just code, it was an experiment in accessibility and cultural preservation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1757757175953/685cf83b-9370-4a95-bb47-9ffc104ece11.jpeg" alt="685cf83b-9370-4a95-bb47-9ffc104ece11" class="image--center mx-auto" width="657" height="900" loading="lazy"></p>
<h3 id="heading-cultural-and-contextual-thinking">Cultural and Contextual Thinking</h3>
<p>Identifying points of intersection between technology and culture, as well as asking how products serve human needs beyond functionality.</p>
<p><strong>Example:</strong> On my Substack blogs (The Pop Radar and Story &amp; Scene), I wrote about how pop culture sparks tech innovations, like Jennifer Lopez’s dress influencing the creation of Google Images.</p>
<h3 id="heading-translating-between-worlds">Translating Between Worlds</h3>
<p>Acting as a bridge between highly technical teams (developers) and highly creative teams (designers, writers, marketers).</p>
<p><strong>Example:</strong> I worked with startups where I turned business ideas into creative assets, like building branded websites with Wix and WordPress, while also shaping their visual storytelling through graphics and video.</p>
<h3 id="heading-storytelling-and-experimentation-with-technology">Storytelling and Experimentation with Technology</h3>
<p>Creative technologists use tools, from design and video to AI, AR, and Web3, to communicate ideas in fresh ways and to explore how new technologies can expand the creative process.</p>
<p><strong>Example:</strong> I’ve collaborated with AI tools like ChatGPT and DALL·E in content production. I used them for research, brainstorming ideas, and shaping the plot for a social media brand identity ad. I’ve also created humorous explainers on Web3 that broke down intimidating tech concepts using cultural analogies. In both cases, technology became a way to experiment, simplify, and tell better stories.</p>
<p>If you’re wondering how to start building these skills, you don’t need a formal education. Many creative technologists begin by experimenting on their own, taking online courses, prototyping small projects, writing about culture and tech, or contributing to open-source work. What matters most is curiosity and a willingness to explore where creativity and technology overlap.</p>
<h2 id="heading-how-is-this-different-from-ux">How Is This Different From UX?</h2>
<p>It’s a fair question because creative technologists and UX designers often work side by side. But the focus is slightly different:</p>
<ul>
<li><p><strong>UX/UI designers</strong> are concerned about usability and aesthetics. Their main job is to ensure that a product is user-friendly, accessible, and visually appealing. They conduct user research, generate wireframes, design interfaces, and test how real users interact with a product.</p>
</li>
<li><p><strong>Creative technologists</strong> sit at the intersection of creativity and technology. Instead of simply improving an app's flow, they tackle bigger questions: What could this product be?  How does it connect with culture? What new technology or mediums could make this experience more interesting?</p>
<p>  They experiment, prototype, and occasionally even code to make ideas a reality.</p>
</li>
</ul>
<p>Think of it this way:</p>
<ul>
<li><p>A UX designer might redesign a fintech app to make it easier to use.</p>
</li>
<li><p>A creative technologist might question why everything in the Nigerian tech ecosystem is fintech, then prototype an app that connects new homeowners with nearby handymen, plumbers, electricians, and other essential services.</p>
</li>
</ul>
<p>By paying attention to cultural and everyday needs, creative technologists can spark innovation in areas that are often overlooked. While UX is a defined role with clear processes, creative technologist is an umbrella role that blends design, code, experimentation, and cultural insight.</p>
<h2 id="heading-why-creative-technologists-matter-more-than-ever"><strong>Why Creative Technologists Matter More Than Ever</strong></h2>
<p>So why is this hybrid role even necessary? The tech world is rapidly evolving. With AI automating many repetitive coding and design activities, the future belongs to those who can bridge the gap across disciplines.</p>
<p>To put it simply, a creative technologist is someone who can translate abstract creative thoughts into practical products, understands the culture in which technology exists, and can construct or prototype when necessary. In a world where roles are increasingly multidisciplinary, this blend of skills isn’t optional, it’s essential. Designers may concentrate on interfaces, developers on backend logic, and writers on narrative. However, the creative technologist sits at the intersection, ensuring that all of these pieces come together to build something innovative and human-centered.</p>
<p>Because the role is fluid, there isn’t a standard “creative technologist salary.” Pay varies depending on the core job, such as design, development, or innovation strategy. Someone in an agency, for example, may be paid like a UX designer, whereas in a huge tech business, they may be compensated more like a product developer or innovation lead.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>“Creative technologist” isn’t a rigid job title. It’s an umbrella term for anyone combining creativity and technology in meaningful ways. Whether through coding, design, research, or storytelling, the value lies in bridging gaps, asking new questions, and building solutions that resonate with people.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
