<?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: Daniel Philip Johnson</title>
    <description>The latest articles on DEV Community by Daniel Philip Johnson (@danielphilipjohnson).</description>
    <link>https://dev.to/danielphilipjohnson</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F450318%2Fbd070afd-aec8-4f97-b103-f9dd717068bb.jpg</url>
      <title>DEV Community: Daniel Philip Johnson</title>
      <link>https://dev.to/danielphilipjohnson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danielphilipjohnson"/>
    <language>en</language>
    <item>
      <title>Fundamentals of Document Databases</title>
      <dc:creator>Daniel Philip Johnson</dc:creator>
      <pubDate>Mon, 20 Oct 2025 08:58:54 +0000</pubDate>
      <link>https://dev.to/danielphilipjohnson/fundamentals-of-document-databases-41dk</link>
      <guid>https://dev.to/danielphilipjohnson/fundamentals-of-document-databases-41dk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Scary word alert&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NoSQL = "Not only SQL," represents a category of database systems that deviate from traditional relational databases&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In this blog, we will delve into the fundamentals of document databases, a type of NoSQL database. By comparing document databases to a house with various rooms, we'll explore their document-oriented structure, primary and standard fields, and the key terminology associated with them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Document Database: The House of Data
&lt;/h2&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%2Fcrh71ry321eqfrr17t2p.png" 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%2Fcrh71ry321eqfrr17t2p.png" alt="House that has data stored in rooms" width="400" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine a document database as a house, acting as a container that accommodates different rooms, represented by different document collections. We can define separate room documents for essential areas like "Bedrooms," "Bathrooms," "Living Room," and "Kitchen.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Document-Oriented Structure: Organizing Data
&lt;/h2&gt;

&lt;p&gt;A document-oriented structure serves as the data model in document databases, allowing the organization and storage of data in the form of self-contained documents. Each document represents a unique entity or object, encompassing all the relevant data associated with it. Consider a room as an example, with fields like roomName, size, flooring, and furniture, encapsulated within a document. To illustrate this concept, let's consider a room as an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;room&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nl"&gt;_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;ObjectId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1234567890abcdef12345678&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="nx"&gt;roomName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="nx"&gt;bedroom&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt; &lt;span class="nx"&gt;feet&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="nx"&gt;flooring&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wood&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="nx"&gt;furniture&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wardrobe&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this example, we have a room document that possesses a unique identifier (_id) assigned by the database. It includes descriptive attributes such as the room's name ("bedroom"), size ("12 feet"), flooring type ("wood"), and an array of furniture items, including a wardrobe and a bed. This self-contained structure allows for efficient storage and retrieval of room-specific data within the document database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Primary Fields and Standard Fields: Defining Document Structure
&lt;/h2&gt;

&lt;p&gt;In our pursuit of an efficient document structure, let's delve into the essential fields that compose a room document.&lt;/p&gt;

&lt;p&gt;Firstly, we have the primary key, a vital component that plays a pivotal role in document identification and retrieval. This unique identifier holds great significance, especially when accessing documents through APIs such as &lt;strong&gt;api/room/1234567890abcdef12345678&lt;/strong&gt;. Additionally, the primary key enforces uniqueness, ensuring that no duplicate documents are created within the collection. Moreover, it enables the creation of indexes, facilitating swift and direct retrieval of specific documents based on their distinctive identifiers. Fortunately, MongoDB automates the generation of primary keys, relieving you of the burden of creating them manually.&lt;/p&gt;

&lt;p&gt;However, you also have the flexibility to define your own primary key if you possess a field guaranteed to be unique. For instance, in the case of books, the International Standard Book Number (ISBN) serves as an excellent candidate. Consider the following example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;book&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nl"&gt;_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;978-0-123456-78-9&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="nx"&gt;author&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;author&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;the title&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alongside the primary key, we incorporate several standard fields &lt;strong&gt;which&lt;/strong&gt; are made up of &lt;strong&gt;attributes&lt;/strong&gt; and &lt;strong&gt;values&lt;/strong&gt; to comprehensively define our room document structure. These fields include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;roomName&lt;/strong&gt;: Designates the name of the room, allowing easy identification.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;size&lt;/strong&gt;: Specifies the size of the room, providing relevant information about its dimensions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;flooring&lt;/strong&gt;: Describes the type of flooring used in the room, adding to its aesthetic and functional attributes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;furniture&lt;/strong&gt;: Represents an array that captures the furniture items present in the room, facilitating an inventory-like perspective.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By thoughtfully incorporating these primary and standard fields into our document structure, we establish a foundation for efficient storage, retrieval, and organization of room-specific data within our MongoDB document database.&lt;/p&gt;

&lt;h2&gt;
  
  
  Value Types: Diverse Data Representation
&lt;/h2&gt;

&lt;p&gt;As you explore the fields in our collection, you might have noticed the presence of strings and arrays. However, it's important to understand that document databases like MongoDB offer a wide range of value types to cater to diverse data requirements. Typically, these databases support popular data formats such as JSON or BSON.&lt;/p&gt;

&lt;p&gt;In MongoDB, you have the flexibility to utilize various value types for your fields. Let's explore some of the commonly used value types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;String&lt;/strong&gt;: Represents a sequence of characters, allowing you to store textual information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Number&lt;/strong&gt;: This can be either an integer or a floating-point number, enabling you to store numerical data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Boolean&lt;/strong&gt;: Represents true or false values, providing a binary data type for logical operations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Date&lt;/strong&gt;: Stores date and time values, facilitating the storage of temporal information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Array&lt;/strong&gt;: Allows you to store an ordered list of values, providing a convenient way to group related data elements together.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Object&lt;/strong&gt;: Represents a collection of key-value pairs, enabling you to store complex and structured data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Null&lt;/strong&gt;: This represents the absence of a value, allowing you to indicate the lack of data in a field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ObjectId&lt;/strong&gt;: A special data type commonly used as a unique identifier for documents, providing an automatically generated identifier within MongoDB.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Timestamp&lt;/strong&gt;: A BSON data type that represents a 64-bit timestamp, facilitating the tracking of time-related information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Binary Data&lt;/strong&gt;: Enables the storage of binary information, such as images or files, within the database.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By leveraging these diverse value types, document databases empower you to effectively store and manipulate data with flexibility and precision. Whether you need to capture textual, numerical, temporal, or structural information, MongoDB offers a comprehensive set of value types to accommodate your data needs.&lt;/p&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%2F0wr10jsqz7xf5n8yvsb4.png" 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%2F0wr10jsqz7xf5n8yvsb4.png" alt="Diagram breaking down the layout" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we should have a much clearer understanding of all the pieces that make up a document DB.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Terminology: Understanding the Basics
&lt;/h2&gt;

&lt;p&gt;To wrap up, let's review key terminology:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Document database&lt;/strong&gt;: A NoSQL database that stores and manages data in self-contained documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Document collection&lt;/strong&gt;: A grouping of related documents, acting as a logical unit for organization and management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Document-oriented structure:&lt;/strong&gt; The data model used in document databases, organizing data into self-contained documents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Primary field&lt;/strong&gt;: The unique identifier or primary key for a document within a collection, facilitating identification and retrieval.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standard field&lt;/strong&gt;: Predefined fields within a document structure that capture specific attributes or properties.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Attribute&lt;/strong&gt;: A characteristic or property of an entity, defining the fields or properties within a document.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Value&lt;/strong&gt;: The actual data stored within an attribute or field of a document.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By understanding these key concepts, you'll gain a solid foundation in the fundamentals of document databases and be better equipped to work with them effectively.&lt;/p&gt;

</description>
      <category>documentdatabase</category>
    </item>
    <item>
      <title>From Linear to Systems Thinking: Solving Complex Tech Challenges</title>
      <dc:creator>Daniel Philip Johnson</dc:creator>
      <pubDate>Mon, 20 Oct 2025 08:53:02 +0000</pubDate>
      <link>https://dev.to/danielphilipjohnson/from-linear-to-systems-thinking-solving-complex-tech-challenges-4nik</link>
      <guid>https://dev.to/danielphilipjohnson/from-linear-to-systems-thinking-solving-complex-tech-challenges-4nik</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Former President Barack Obama once remarked, &lt;a href="https://open.spotify.com/episode/7webPHEy75rgM8hpb3LXfZ" rel="noopener noreferrer"&gt;“In my job, I wind up dealing with problems that are both messy and complicated. By the time a problem reaches my desk, it’s one that nobody else has been able to solve.”&lt;/a&gt; This quote highlights a critical reality faced by many in technology today: the most challenging problems are often complex, lacking clear-cut solutions. As technology evolves, so too does the complexity of the challenges we face.&lt;/p&gt;

&lt;p&gt;Traditional problem-solving methods, like linear thinking, often fall short when dealing with these intricate issues. Instead, systems thinking—a holistic approach—offers a more effective way to navigate and resolve them. In this blog, we’ll explore the journey from linear to systems thinking, focusing on why it’s crucial for anyone involved in the tech industry. By the end, you’ll see how embracing systems thinking can help you create better solutions, spark innovation, and improve team dynamics in your work.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Understanding Linear Thinking&lt;/strong&gt;
&lt;/h2&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%2Fya2se1qt25ur85i0qwcl.png" 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%2Fya2se1qt25ur85i0qwcl.png" alt=" " width="700" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. What is Linear Thinking?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Linear thinking is a simple, step-by-step way of solving problems. Think of it as following a recipe: you start at point A, follow the instructions in order, and arrive at point B. Each step builds logically on the previous one, and there’s a clear cause-and-effect relationship throughout the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Examples of Linear Thinking in Tech&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Coding Logic&lt;/strong&gt;: In coding, developers often use “if-then” statements, where one action leads to a specific result. For example, “If this happens, then that will happen.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project Planning&lt;/strong&gt;: Traditional project management follows a linear sequence of tasks. One task is completed before moving on to the next, assuming each step must be done in a certain order.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Why is Linear Thinking Common?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;From an early age, we are taught to break down problems into smaller, manageable parts—this method is called reductionism. It simplifies complex issues by focusing on individual components rather than the whole.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;d. Benefits of Linear Thinking&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Predictability&lt;/strong&gt;: Linear thinking gives a clear roadmap, making outcomes easier to predict.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simplicity&lt;/strong&gt;: It’s easy to communicate and understand, which helps with planning and execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Effective for Simple Problems&lt;/strong&gt;: For straightforward issues, linear thinking works well.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Limitations of Linear Thinking&lt;/strong&gt;
&lt;/h2&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%2Fwd7xnyfeyktk93hern6f.png" 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%2Fwd7xnyfeyktk93hern6f.png" alt=" " width="600" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. Missing the Bigger Picture&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When we focus only on individual components, we risk missing how everything fits together. This can hurt the overall system. For example, optimizing one feature of a product without considering the user experience as a whole can lead to a disjointed result.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Reductionism vs. Holism&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reductionism&lt;/strong&gt;: This approach breaks down complex systems into smaller parts, assuming that understanding each part leads to understanding the whole.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Challenge&lt;/strong&gt;: In complex systems, reductionism can overlook how parts interact with each other. A system’s behavior often emerges from the relationships between its parts, which aren’t visible when looking at individual components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Holism&lt;/strong&gt;: Holism, on the other hand, focuses on the entire system, understanding how different elements work together.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Impact on Complex Systems&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Software Systems&lt;/strong&gt;: Changing one part of a large software system might affect other areas in unexpected ways. Linear thinking might not catch these ripple effects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Organizational Impact&lt;/strong&gt;: Implementing a new policy without considering how it affects different departments can lead to operational issues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unpredictability&lt;/strong&gt;: In systems with many interacting components, linear models often fail to predict outcomes accurately.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Introduction to Systems Thinking&lt;/strong&gt;
&lt;/h2&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%2Fyl8r5u63rxbc425665zz.png" 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%2Fyl8r5u63rxbc425665zz.png" alt=" " width="500" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. What is Systems Thinking?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Systems thinking is a way of understanding a system by looking at how all the parts are connected. Instead of isolating individual components, it focuses on relationships, patterns, and interactions. This holistic view helps to grasp the complexity of the system as a whole.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Linear vs. Nonlinear Thinking&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Linear Thinking&lt;/strong&gt;: Think of it as following a straight road—each step leads logically to the next.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nonlinear Thinking&lt;/strong&gt;: It’s more like navigating a maze, where small changes can lead to unexpected outcomes. Nonlinear systems are less predictable, and a minor adjustment in one area can cause significant effects elsewhere.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Why It’s Important in Technology&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In tech, we often work with complex systems where different components interact in unpredictable ways. Systems thinking is essential because it helps to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Understand Interactions&lt;/strong&gt;: See how different elements influence each other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Encourage Innovation&lt;/strong&gt;: Look beyond the obvious to find new solutions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adapt to Change&lt;/strong&gt;: Systems thinking helps anticipate and respond to changes in the system more effectively.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;4. Nonlinear Thinking in Practice&lt;/strong&gt;
&lt;/h2&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%2Fm40957v593ed313wpq2w.png" 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%2Fm40957v593ed313wpq2w.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. Nonlinear Relationships&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In nonlinear systems, cause and effect don’t always match up in a predictable way. Small changes in one area can lead to major shifts elsewhere. Understanding these relationships is critical for problem-solving.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Examples in Technology&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Software Development&lt;/strong&gt;: Fixing a small bug in one part of the code can unexpectedly cause issues elsewhere in the system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Network Systems&lt;/strong&gt;: An increase in users can create network congestion, slowing down the system or causing crashes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cybersecurity&lt;/strong&gt;: Patching one vulnerability might open up another if the overall system isn’t considered.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Artificial Intelligence&lt;/strong&gt;: AI models trained on specific data can behave unpredictably when exposed to new information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Social Media Algorithms&lt;/strong&gt;: Tweaking an algorithm can unexpectedly change what content goes viral, altering user engagement and platform dynamics.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. The Ripple Effect&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Minor actions can have far-reaching consequences. For example, a small change to a website’s user interface might confuse users, leading to decreased engagement and lower revenue. Understanding these ripple effects is a key part of systems thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;5. Key Principles of Systems Thinking&lt;/strong&gt;
&lt;/h2&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%2Fkd1vp3bul59emrgbgcv6.png" 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%2Fkd1vp3bul59emrgbgcv6.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. Seeing the Whole&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;It’s important to understand how each component fits within the system. This perspective ensures that changes benefit the entire system, rather than optimizing just one part.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Interconnections&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Exploring Relationships&lt;/strong&gt;: Look at how different elements interact. For instance, a software update might improve performance but cause compatibility issues with other applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: When a new feature is added, how does it affect the overall user experience? Thinking holistically helps avoid unintended consequences.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Patterns Over Time&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Identifying Trends&lt;/strong&gt;: Look for patterns and recurring issues over time. These can highlight deeper problems that need to be addressed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Analytics&lt;/strong&gt;: Monitoring system performance and user behavior can help predict future trends.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;d. Feedback Loops&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Positive Feedback Loops&lt;/strong&gt;: These amplify changes. For example, more users can attract even more users due to network effects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Negative Feedback Loops&lt;/strong&gt;: These help maintain stability. For example, load balancing prevents server overload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: User feedback leads to product improvements, which in turn boosts user satisfaction and generates more feedback.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;e. Embracing Complexity and Uncertainty&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Acceptance&lt;/strong&gt;: Not all variables can be controlled or predicted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Preparation&lt;/strong&gt;: Have flexible strategies to adapt to unexpected changes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;f. Collaborative Approach&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cross-Functional Teams&lt;/strong&gt;: Work with other departments to get diverse perspectives.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Communication&lt;/strong&gt;: Sharing insights helps teams understand the bigger picture.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;g. Root Cause Analysis&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Beyond Symptoms&lt;/strong&gt;: Focus on finding the root causes of problems, rather than just treating symptoms.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;: Techniques like the “5 Whys” can help uncover the deeper issues at play.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;6. The Importance of Systems Thinking in Tech&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. Managing Complex Software Systems&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Systems thinking leads to better software architecture by considering how different parts interact. This approach reduces integration issues and makes the system more scalable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Anticipating and Mitigating Risks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;By understanding the system’s interconnectedness, potential points of failure can be identified and addressed proactively, minimizing downtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Encouraging Innovation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Looking at the bigger picture helps teams explore unconventional solutions. This can lead to breakthrough innovations and a competitive edge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;d. Improving Team Dynamics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When teams see how their work fits into the bigger picture, they collaborate more effectively. This leads to improved efficiency and morale.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;7. Transitioning from Linear to Systems Thinking&lt;/strong&gt;
&lt;/h2&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%2Fx5wtgc6uti594jv9y85p.png" 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%2Fx5wtgc6uti594jv9y85p.png" alt=" " width="800" height="650"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;a. Challenges in Changing Mindsets&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comfort Zones&lt;/strong&gt;: We’re used to linear thinking because it’s what we’ve learned.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Complexity Aversion&lt;/strong&gt;: Systems thinking can feel overwhelming because it’s more complex and doesn’t offer easy answers.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;b. Developing Systems Thinking&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Continuous Learning&lt;/strong&gt;: Explore books, courses, and seminars on systems thinking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Practical Application&lt;/strong&gt;: Start small by applying systems thinking principles to everyday projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mentorship&lt;/strong&gt;: Learn from people who already practice systems thinking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reflection&lt;/strong&gt;: Regularly review your decisions and their impact on the overall system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;c. Tools for Systems Thinking&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Systems Mapping&lt;/strong&gt;: Create visual maps to understand the components and relationships within a system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Causal Loop Diagrams&lt;/strong&gt;: Show how different elements of a system influence one another.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Simulation Models&lt;/strong&gt;: Use software to simulate system behavior under various scenarios.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As President Obama pointed out, the hardest problems are often the most complex. While linear thinking is useful for straightforward problems, it often falls short in today’s interconnected world. Systems thinking provides the tools to tackle these challenges by seeing the bigger picture.&lt;/p&gt;

&lt;p&gt;By adopting systems thinking, you’ll foster better collaboration, anticipate risks, and drive innovation within your team. As modern tech challenges grow more complex, systems thinking becomes not just a tool, but a necessity.&lt;/p&gt;

&lt;p&gt;Embrace systems thinking and see how it can revolutionize the way you approach complex problems in tech. Start by observing the connections in your current projects, applying a holistic view, and encouraging your team to think beyond isolated solutions. By taking a step back to see the bigger picture, you’ll drive innovation, improve your decision-making, and help your team thrive in today’s fast-paced, interconnected world.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;About the Author&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As someone who applies these principles in my work, I’ve experienced how impactful they can be in building scalable solutions. If you’d like to explore more of my approach and connect with me, here's a bit about who I am:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm Daniel Philip Johnson&lt;/strong&gt;, a senior frontend engineer specializing in frontend development and architecture. I’m passionate about simplifying complex challenges and building scalable, innovative solutions. To explore more of my work, visit my &lt;a href="https://danielphilipjohnson.com/about/" rel="noopener noreferrer"&gt;personal website&lt;/a&gt;, or connect with me on &lt;a href="https://uk.linkedin.com/in/daniel-philip-johnson" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for insights on tech leadership and the future of frontend development.&lt;/p&gt;

</description>
      <category>systemthinking</category>
    </item>
    <item>
      <title>Monthly reflection - April 2021</title>
      <dc:creator>Daniel Philip Johnson</dc:creator>
      <pubDate>Sat, 01 May 2021 13:03:26 +0000</pubDate>
      <link>https://dev.to/danielphilipjohnson/monthly-reflection-april-2021-23hi</link>
      <guid>https://dev.to/danielphilipjohnson/monthly-reflection-april-2021-23hi</guid>
      <description>&lt;h1&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Every month as a frontend engineer, I reflect on what I have achieved. Let's talk about April 2021. In summary, I took a significant risk and left my second job. It's something I felt I had to do. My mindset was off and I wanted to focus on writing and improving with front end development. I regathered my thoughts and made a plan of action to further my skills and finally, I have committed to a content creation schedule.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Here is what I have done  👨‍💻&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Read News Articles&lt;/strong&gt; 📰
&lt;/h2&gt;

&lt;p&gt;Here are my top 5 articles I have read this month. My main focus as a frontend engineer is React and Js. So the articles I have included will be based on these topics.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.sentry.io/2021/04/12/slow-and-steady-converting-sentrys-entire-frontend-to-typescript"&gt;Slow and Steady: Converting Sentry’s Entire Frontend to TypeScript | Product Blog • Sentry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://css-tricks.com/comparing-the-new-generation-of-build-tools/"&gt;Comparing the New Generation of Build Tools | CSS-Tricks (css-tricks.com)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.asayer.io/15-devtool-secrets-for-javascript-developers"&gt;15 DevTool Secrets for JavaScript Developers (asayer.io)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nextjs.org/blog/next-10-1"&gt;Blog - Next.js 10.1 | Next.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://exploringjs.com/impatient-js/toc.html"&gt;JavaScript for impatient programmers (ES2021 edition) (exploringjs.com)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Recently, I started to co-author a book for a publisher.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Writing a book is something I'm excited to be doing. I wish I could tell everyone what it is I'm writing. For now, it has to be a secret 😏 . Hint* It's front-end related.  Surprisingly, I have enjoyed co-writing two chapters, and I learnt something valuable. By writing about a topic, you are testing your knowledge and identifying possible gaps. I have started to improve immensely and, my recall is so much better. For this reason, I have started to pursue writing articles and helpful blogs. If you haven't written a blog article, I encourage you to do it!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Courses I am taking 👨🏻‍🎓🎓&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this section, I will list the courses I am currently taking. I will also include courses I have finished and write personal reviews listing what I have learnt.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mastering the Coding Interview: Data Structures + Algorithms (ongoing)&lt;/li&gt;
&lt;li&gt;Understanding TypeScript - 2021 Edition: (ongoing)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Videos I watched 🎥&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The focus this month was slightly geared towards encryption. In pursuit of bettering my skills, I started to use SSH. During my time learning, I documented it by writing an article on how to use SSH and how it worked.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secret Key Exchange (Diffie-Hellman) Computerphile&lt;/li&gt;
&lt;li&gt;Diffier-Hellman - the Mathematics bit Computerphile&lt;/li&gt;
&lt;li&gt;Key Exchange-Problems - Computerphile&lt;/li&gt;
&lt;li&gt;Elliptic-Curves - Computerphile&lt;/li&gt;
&lt;li&gt;Rendering performance inside out - Martin Splitt&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Amazon project 💼&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In summary, my amazon clone is close to having an alpha release. My main focus this month is to implement searching functionality.&lt;/p&gt;

&lt;p&gt;What features I added this month.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I integrated stripe payment with a custom strapi controller. The reason for this was to calculate the cart on the backend.&lt;/li&gt;
&lt;li&gt;Currently, a user can put an item in a cart and checkout.&lt;/li&gt;
&lt;li&gt;Multiple items added to the cart change the quantity&lt;/li&gt;
&lt;li&gt;Made a react portal to display error messages or success messages&lt;/li&gt;
&lt;li&gt;All pages were styled to mirror the amazon website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From this point onwards I plan to make a blog article each month related to my project progress and how I implemented features.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;What I did wrong 🙄&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;I allowed leaving my job to affect my focus. I became torn about the situation but eventually realised that sometimes you need to decide for yourself. I discovered that being nice doesn't mean you have to say yes. Always consider your feelings too. Sometimes you need to put yourself first. Now that it is all done. I'm ready for my next chapter 😀.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;What I accomplished ⏳&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;In April, I feel like I did not accomplish as much as I would have intended. There were a few moments I felt slightly confused and wondered what would become of me. Not long after,  I started to plan my next chapter. I reflected on my frontend abilities and soft skills. I decided on what I need to improve and how to achieve it.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Thank you for reading 👋&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;For now, I am just publishing my blogs to &lt;a href="https://dev.to/danielphilipjohnson/"&gt;dev.to&lt;/a&gt;. In the future, I will look to expand to more blogging platforms and will start to host my blogs on my website. If you enjoy my blogs, you might also be interested in my tweets on my &lt;a href="https://twitter.com/danielp_johnson"&gt;Twitter&lt;/a&gt;. Please feel free to share a tweet with #monthlyreflection, tag me and tell me about your month.&lt;/p&gt;

</description>
      <category>monthlyreflection</category>
      <category>programmingjourney</category>
      <category>selfreflection</category>
    </item>
  </channel>
</rss>
