<?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: Mfon</title>
    <description>The latest articles on DEV Community by Mfon (@themfon).</description>
    <link>https://dev.to/themfon</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%2F850660%2F84c8ff82-a34f-4b08-9640-3890c96e780e.jpg</url>
      <title>DEV Community: Mfon</title>
      <link>https://dev.to/themfon</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/themfon"/>
    <language>en</language>
    <item>
      <title>Entity Relationship Diagrams</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Mon, 19 Sep 2022 07:23:18 +0000</pubDate>
      <link>https://dev.to/themfon/entity-relationship-diagrams-3963</link>
      <guid>https://dev.to/themfon/entity-relationship-diagrams-3963</guid>
      <description>&lt;p&gt;I remember the first time I purchased items from an e-commerce website - A 32GB flash drive, a boombox and a tripod - I did it with my phone. Pop-ups, redirects, eternally loading pages, having to type my card details and all those triggering experiences. However, nothing trumps the anxiety of waiting for the items to be delivered immediately after payment. I know you can relate. 😂&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%2F1ug7850qusj1x46n4uli.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%2F1ug7850qusj1x46n4uli.png" alt="Waiting for delivery meme" width="474" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I didn't quite understand the process, but the website was functional. I got my items delivered as scheduled. They looked nothing like what I paid for on the website. Yes, you are right! The no return, no refund policy. I couldn't return the items or get a refund. Moreso, replacing them would have been such a drag. I just had to keep them. 🤷🏽‍♂️&lt;/p&gt;

&lt;p&gt;I'm a junior backend engineer now, and I appreciate the thought and work put into creating these applications. &lt;/p&gt;

&lt;p&gt;Apps have complex systems that comprise different entities interacting with one another. &lt;/p&gt;

&lt;p&gt;Think about how your favourite e-commerce platforms process millions of orders from millions of people around the world by the second. Crazy, right?! These operations are so effective that users trust and recommend them to others. &lt;/p&gt;

&lt;p&gt;Software engineers have to visualize the entities involved using an Entity Relationship Diagram or Model to implement these complex features.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is an Entity Relationship Diagram?
&lt;/h3&gt;

&lt;p&gt;ER Diagrams are used for relational database design to illustrate how entities and their attributes interact within a system.&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%2Fkmm5mzen3of6t4eue1qw.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%2Fkmm5mzen3of6t4eue1qw.png" alt="Entity Relationship Diagram" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://d2slcw3kip6qmk.cloudfront.net/marketing/pages/chart/seo/ERD/discovery/erd-school.svg" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How it Started
&lt;/h3&gt;

&lt;p&gt;Many principles we apply today can be traced back to the works of Aristotle. Nevertheless, some brilliant minds have made their marks in the world of technology.&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%2F799jpeyihc2g6mc8iijc.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%2F799jpeyihc2g6mc8iijc.png" alt="Peter Chen" width="368" height="488"&gt;&lt;/a&gt; &lt;a href="https://www.csc.lsu.edu/~chen/peterchen.jpg" rel="noopener noreferrer"&gt;&lt;em&gt;Image Source&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 1976, Peter Pin-Shan Chen published a seminal paper titled "The Entity-Relationship Model: Toward a Unified View of Data." He is renowned for creating entity relationship modelling for database design. James Martin, the Father of CASE, added ERD refinements. &lt;/p&gt;

&lt;p&gt;The Computer-Aided Software Engineering (CASE) process helped automate defining a data dictionary directly from the description of a business process. This automation marked a milestone in modern business software engineering.&lt;/p&gt;

&lt;h3&gt;
  
  
  Components of an Entity Relationship Diagram
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Entity:&lt;/strong&gt; This includes anything that you can define. Think of nouns like people, products, events or anything with data.&lt;/li&gt;
&lt;/ul&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%2Fjymbmjdz56ujt8sytw82.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%2Fjymbmjdz56ujt8sytw82.png" alt="Example of Entities" width="800" height="212"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/Examples%20of%20Entities.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Entities can be in types, sets, or categories. For example, electronic appliances would be an entity type. Entity sets are like entity types but also include an element of time. An example could be the iPhones ordered yesterday.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Relationship:&lt;/strong&gt; This refers to how entities interact with one another. Think of relationships as a verb. Take for instance, users signup for newsletters.&lt;/li&gt;
&lt;/ul&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%2F7z4f2bnnumw6fw2u50z2.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%2F7z4f2bnnumw6fw2u50z2.png" alt="Relationship" width="800" height="214"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/Relationship%20Examples.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Attribute:&lt;/strong&gt; This refers to the data that qualifies the entities. For example, name, age and phone number. Think of attributes as adjectives. &lt;/li&gt;
&lt;/ul&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%2Fw0t26xlk4losxfxg6mom.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%2Fw0t26xlk4losxfxg6mom.png" alt="Attribute" width="800" height="212"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/Attribute%20Examples.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cardinality:&lt;/strong&gt; This represents the numerical attributes of the relationships between entities or entity sets.&lt;/li&gt;
&lt;/ul&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%2F2wrtibh0618royuyv6hd.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%2F2wrtibh0618royuyv6hd.png" alt="Cardinality" width="552" height="112"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/ERD%20Lines%20Examples.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How To Draw a Basic Entity Relationship Diagram
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Purpose&lt;/strong&gt; &lt;br&gt;
Understand the purpose and scope of the system you intend to design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Entities&lt;/strong&gt;&lt;br&gt;
Enumerate the entities involved. Map them out in different rectangles as you see fit.&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%2Fgvdf1waquvogsg0zjmku.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%2Fgvdf1waquvogsg0zjmku.png" alt="Entities in ERD" width="800" height="450"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/HowtoERD1.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Attributes&lt;/strong&gt;&lt;br&gt;
Factor in more details by adding attributes of the entities. &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%2Frdipwjwbxwo5pbea952v.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%2Frdipwjwbxwo5pbea952v.png" alt="Attributes in ERD" width="800" height="452"&gt;&lt;/a&gt;  &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/HowtoERD2.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Relationships&lt;/strong&gt;&lt;br&gt;
Consider the relationships within your system. One way to do this is by answering this question, what does the ___ do with the ___? The customer purchases the car. The student signs up for the newsletter, and so on.&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%2F7pcx7jauo9c8qciwxmq2.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%2F7pcx7jauo9c8qciwxmq2.png" alt="Relationships in ERD" width="800" height="452"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/HowtoERD3.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Cardinalities&lt;/strong&gt;&lt;br&gt;
The notations help your ERD reader to understand the interactions between the entities. At a glance, they will know if there are zero, one, many, or some combination of those interactions.&lt;br&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%2Fb8l7j1l9rxmtgdz01w14.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%2Fb8l7j1l9rxmtgdz01w14.png" alt="Cardinalities in ERD" width="800" height="451"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/sites/default/files/image/2020-10/HowtoERD4.png" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Save&lt;/strong&gt;&lt;br&gt;
You can save and export the file.&lt;br&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%2Fis199uv74d2gaies81vf.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%2Fis199uv74d2gaies81vf.png" alt="ERD complete" width="800" height="425"&gt;&lt;/a&gt; &lt;em&gt;&lt;a href="https://www.gliffy.com/blog/how-to-draw-an-entity-relationship-diagram#why-draw" rel="noopener noreferrer"&gt;Image Source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now, I am beginning to understand what happens when I use applications. I am most definitely less critical. 😅&lt;/p&gt;

&lt;p&gt;Happy coding! 🖤&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.dataversity.net/a-short-history-of-the-er-diagram-and-information-modeling/" rel="noopener noreferrer"&gt;A Short History of the ER Diagram and Information Modelling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.techtarget.com/searchdatamanagement/definition/entity-relationship-diagram-ERD" rel="noopener noreferrer"&gt;Entity Relationship Diagram - ERD&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lucidchart.com/pages/er-diagrams" rel="noopener noreferrer"&gt;ER Diagrams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gliffy.com/blog/how-to-draw-an-entity-relationship-diagram#why-draw" rel="noopener noreferrer"&gt;How to Draw an Entity Relationship Diagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gliffy.com/blog/what-is-entity-relationship-diagram" rel="noopener noreferrer"&gt;What is Entity Relationship Diagram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://www.freecodecamp.org/news/content/images/size/w2000/2022/08/guerrillabuzz-crypto-pr-IlUq1ruyv0Q-unsplash.jpg" rel="noopener noreferrer"&gt;Cover Image Credit&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>codenewbie</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Notes on GitHub READMEs</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Thu, 01 Sep 2022 19:06:19 +0000</pubDate>
      <link>https://dev.to/themfon/notes-on-github-readmes-5gb2</link>
      <guid>https://dev.to/themfon/notes-on-github-readmes-5gb2</guid>
      <description>&lt;p&gt;The first time I saw the word 'README', I was trying to complete a task. The instruction was to create a README.md file; add some information about the project, and push it to my GitHub. I didn't quite understand its purpose until I had to work on a collaborative project that required deployment.&lt;/p&gt;

&lt;p&gt;Coding best practice requires that every repository has a README file.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a README File?
&lt;/h2&gt;

&lt;p&gt;A README File is a text file that gives users the basic required information about your project at a glance. It describes your project, states why your project is valuable, what users can do with your project, and how they can use it, among other things. It is usually the first thing people engage with when they check out any project you have on your repository. It needs to be concise.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/oE8fo12mc7CWTn7OV3/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/oE8fo12mc7CWTn7OV3/giphy.gif" width="480" height="354"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Include in a README File
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Project Description:
&lt;/h3&gt;

&lt;p&gt;A properly drafted description includes the following:&lt;br&gt;
a. Your project name;&lt;br&gt;
b. What your project does;&lt;br&gt;
c. Who the target user is;&lt;br&gt;
d. How it works; and&lt;br&gt;
e. The technologies you used and why you used them&lt;/p&gt;

&lt;p&gt;The project description allows other developers and collaborators to have a high-level understanding of what your project entails.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Install the Project
&lt;/h3&gt;

&lt;p&gt;If the user has to install the project on a local device, you should include the necessary steps to install your project and the required dependencies (if any).&lt;br&gt;
&lt;a href="https://i.giphy.com/media/nF0a0tjS20Yll4R99e/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/nF0a0tjS20Yll4R99e/giphy.gif" width="480" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Use the Project
&lt;/h3&gt;

&lt;p&gt;Be sure to guide users on how to use the project. Provide step-by-step instructions. These instructions will be a reference point when users encounter any difficulty.&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%2Fotc8zwokquazhrrhk3e1.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%2Fotc8zwokquazhrrhk3e1.png" alt="basic usage on github readme" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can make the instructions more interactive by using visual aids like screenshots or clips to show examples of the running project and results when users adhere to them.&lt;/p&gt;

&lt;p&gt;Also, if your project requires authentication, this is the right section to include the credentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Contribute to the Project
&lt;/h3&gt;

&lt;p&gt;Include instructions on how other developers can contribute to your project, if you intend to collaborate with other developers or if the project is open-source.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/Yn9ql8FJrW9tUxygIG/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/Yn9ql8FJrW9tUxygIG/giphy.gif" width="480" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Credits
&lt;/h3&gt;

&lt;p&gt;You should include a list of people you worked with on the project if you worked on the project as a team. You can add their GitHub profiles.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/Pj4b20VdUPTGppw4mX/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/Pj4b20VdUPTGppw4mX/giphy.gif" width="480" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  License
&lt;/h3&gt;

&lt;p&gt;There are various types of licenses. The one you can choose depends on the kind of project you are creating. The license helps collaborators know what to do and what not to do.&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%2F2j3v8pml7nbqsy6aion7.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%2F2j3v8pml7nbqsy6aion7.png" alt="GitHub License" width="800" height="112"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Also...
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If your README is very long, you might want to add a table of contents to make it easy for users to navigate to different sections easily. It will make it easier for readers to move around the project with ease.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keep it up-to-date - It is good practice to ensure that your file is up-to-date. Make sure to update it when necessary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Be concise and include only the required details. Your documentation should contain all other information.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There are tools you can use to automatically generate a README for your project.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy 🖤&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes" rel="noopener noreferrer"&gt;https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.makeareadme.com/" rel="noopener noreferrer"&gt;https://www.makeareadme.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/18F/open-source-guide/blob/18f-pages/pages/making-readmes-readable.md" rel="noopener noreferrer"&gt;https://github.com/18F/open-source-guide/blob/18f-pages/pages/making-readmes-readable.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-write-a-good-readme-file/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/how-to-write-a-good-readme-file/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>github</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Read The F****** Manual!</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 19 Aug 2022 08:30:44 +0000</pubDate>
      <link>https://dev.to/themfon/read-the-f-manual-571o</link>
      <guid>https://dev.to/themfon/read-the-f-manual-571o</guid>
      <description>&lt;p&gt;Hey there!😁 Good to be back. I was off working on a project with a team of seasoned product designers and software engineers. You know what they say about surrounding yourself with people ahead of you in your field. You level up! It works like magic. ✨&lt;/p&gt;

&lt;p&gt;One of the things I learned was how to research. Before now, when faced with a challenge, I run off to google and pick any answer I find on StackOverflow or any other top-ranking solution and try it out. Doing that is not entirely a bad idea, but most tools we use as developers come with their official documentation. &lt;/p&gt;

&lt;p&gt;A prime indicator that developers are struggling is that solutions from StackOverflow and other sources rank higher than some official docs on Google. 😅&lt;/p&gt;

&lt;h3&gt;
  
  
  Check this out:
&lt;/h3&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%2F9uam94is6qm9ghtc4gwi.jpeg" 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%2F9uam94is6qm9ghtc4gwi.jpeg" alt="StackOverflow Q&amp;amp;A 1" width="763" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  …
&lt;/h3&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%2Fbljeumh5jxkjb4cqxj7e.jpeg" 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%2Fbljeumh5jxkjb4cqxj7e.jpeg" alt="StackOverflow Q&amp;amp;A 2" width="764" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, here comes the proffered solution:&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%2F4f0h1do37qddqibjkbql.jpeg" 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%2F4f0h1do37qddqibjkbql.jpeg" alt="StackOverflow Q&amp;amp;A 3" width="762" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;She goes on! &lt;a href="https://stackoverflow.com/users/13279016/akasha" rel="noopener noreferrer"&gt;Akasha&lt;/a&gt;, the gift that keeps on giving! 🌹 &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%2Fdqre9887bing0to0z74l.jpeg" 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%2Fdqre9887bing0to0z74l.jpeg" alt="StackOverflow Q&amp;amp;A 4" width="775" height="488"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note this: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I should've gone through the docs&lt;/p&gt;
&lt;/blockquote&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%2Fnh83weq6jhqr4xuvu2a4.jpeg" 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%2Fnh83weq6jhqr4xuvu2a4.jpeg" alt="StackOverflow Q&amp;amp;A 5" width="744" height="293"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, that's it. Read the documentation!&lt;/p&gt;

&lt;p&gt;The documentation contains everything you need to know. Study it patiently. It will save you a lot of time and damage.&lt;/p&gt;

&lt;p&gt;See professional advice below: 🤪&lt;br&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%2Fhz2nnbj3tm1px8gdsolq.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%2Fhz2nnbj3tm1px8gdsolq.png" alt="pro advice" width="339" height="148"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One can argue that documentation is boring to read, especially for code newbies, because they are not visually attractive. Also, in my case, there is just this urge to get into action without wasting time. 🤷🏽‍♂️&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%2Fw7z6baxo8syfly4nsv54.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7z6baxo8syfly4nsv54.jpg" alt="Screw the manual!" width="576" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, it is the mark of an experienced developer to find the official documentation and study it before writing code, especially when trying to use a new language, framework or tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some Things to Note
&lt;/h3&gt;

&lt;p&gt;Think of documentation like a recipe. To get the desired outcome, you should follow it step by step and carefully.&lt;/p&gt;

&lt;p&gt;People write documentation. There are tools like &lt;a href="https://swagger.io/solutions/api-documentation/" rel="noopener noreferrer"&gt;swagger&lt;/a&gt; that help with documentation. Nevertheless, they are concise. You need to focus.&lt;/p&gt;

&lt;p&gt;Understand that information is a priority in the documentation. Hence, it will be very detailed.&lt;/p&gt;

&lt;p&gt;The official documentation is the most reliable, updated source of information regarding any product (language, framework)we intend to use, especially if the product is newly developed.&lt;/p&gt;

&lt;p&gt;Read the overview to know what is required to allow optimal use.&lt;/p&gt;

&lt;p&gt;You should ensure the versions are up to date or at least the same as the one in the documentation you are referring to.&lt;/p&gt;

&lt;p&gt;Be sure about what you are looking for in the documentation. The 80-20 Pareto principle posits that you will use only about 20% of the features 80% of the time. Most of the contents will only come in handy once in a while.&lt;/p&gt;

&lt;p&gt;Check the tutorials provided in the documentation and use the playground to try things out if it is available.&lt;/p&gt;

&lt;p&gt;Search the documentation with keywords when faced with a particular problem.&lt;/p&gt;

&lt;p&gt;Even if you prefer to bounce ideas off of people, you will benefit more if you at least glance through the documentation. &lt;/p&gt;

&lt;h3&gt;
  
  
  REFERENCES
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://javascript.plainenglish.io/why-is-reading-the-documentation-so-important-5cf50bab0c9f" rel="noopener noreferrer"&gt;https://javascript.plainenglish.io/why-is-reading-the-documentation-so-important-5cf50bab0c9f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sqlskills.com/blogs/paul/rtfm-no-seriously-r-t-f-m-then-ask-your-question/" rel="noopener noreferrer"&gt;https://www.sqlskills.com/blogs/paul/rtfm-no-seriously-r-t-f-m-then-ask-your-question/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-read-your-way-to-becoming-a-better-developer-b6432fa5bc0c/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/how-to-read-your-way-to-becoming-a-better-developer-b6432fa5bc0c/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://phoebephuongnguyen.medium.com/how-to-find-and-read-api-technical-docs-bedac0b4b0e8" rel="noopener noreferrer"&gt;https://phoebephuongnguyen.medium.com/how-to-find-and-read-api-technical-docs-bedac0b4b0e8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@laymanExplained/layman-explained-reading-documentation-36c450e77e6b" rel="noopener noreferrer"&gt;https://medium.com/@laymanExplained/layman-explained-reading-documentation-36c450e77e6b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.techtalentsouth.com/8-tips-to-reading-documentation-a-newbies-guide" rel="noopener noreferrer"&gt;https://blog.techtalentsouth.com/8-tips-to-reading-documentation-a-newbies-guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cassandrawilcox.me/beginners-guide-developer-documentation/" rel="noopener noreferrer"&gt;http://cassandrawilcox.me/beginners-guide-developer-documentation/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>documentation</category>
      <category>productivity</category>
      <category>codenewbie</category>
      <category>help</category>
    </item>
    <item>
      <title>My Two Cents on Technical Documentation</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 15 Jul 2022 22:34:21 +0000</pubDate>
      <link>https://dev.to/themfon/pennies-on-technical-documentation-15gd</link>
      <guid>https://dev.to/themfon/pennies-on-technical-documentation-15gd</guid>
      <description>&lt;p&gt;"A bug in the code is worth two in the documentation." - Unknown&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%2F3zhnhz8uqcy5kfposikn.gif" 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%2F3zhnhz8uqcy5kfposikn.gif" alt="Shino Aburame" width="498" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My technical mentors always emphasize the need to document code. I admit it is quite tasking. Hence, many programmers do not document code. Understandably, they prefer to spend more time writing code. &lt;/p&gt;

&lt;p&gt;Joe Armstrong - the computer scientist who invented the programming language Erlang - explained the asymmetry of programmer's psychology he experienced himself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I think your brain works in 2 different ways. When you're working on the program, you're like cached in the program, and you see no need to explain it because it's bloody obvious and so you write any documentation...." &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;However, documenting code is expedient.&lt;/p&gt;

&lt;p&gt;Joe Armstrong further expresses it thus:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"... And when you cached it out, you wish there was some documentation because you can't understand it at all."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Furthermore, documentation is crucial to the team, the shareholders and the end-users of a product. It is required during the different phases of the product development cycle as it keeps everyone involved in the process up-to-date with the development process. Also, it makes code optimization easy.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Technical Documentation?
&lt;/h3&gt;

&lt;p&gt;It is simply the document that carries all the information and data about a product or service. It shows how to use and maintain the product. It is a tool for knowledge transfer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Categories of Technical Documentation
&lt;/h3&gt;

&lt;p&gt;Technical Documentation is generally grouped into categories based on function. One category describes the product in development while the other describes the development process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Product Documentation:&lt;/strong&gt; This type of documentation describes a product and provides instructions on how to use it. Types of product documentation include end-user documentation, system-administrator documentation, product requirement document,  user experience (UX) design documentation, source code documentation, API documentation and maintenance guide documentation. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Process Documentation:&lt;/strong&gt; This type of documentation records the development and maintenance of the product. Types include coding, design, working ideas, metrics, reports, minutes, test schedules, and project plans. &lt;/p&gt;

&lt;h3&gt;
  
  
  Tips and Best Practices for Writing Technical Documentation
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Have a plan: Carefully consider areas to be covered, do your research and involve team members across departments if necessary.&lt;/li&gt;
&lt;li&gt;Understand your audience&lt;/li&gt;
&lt;li&gt;Be concise&lt;/li&gt;
&lt;li&gt;Have a consistent style&lt;/li&gt;
&lt;li&gt;Make it as interactive as possible with images and clips if possible.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The Importance of Technical Documentation
&lt;/h3&gt;

&lt;p&gt;As mentioned above, technical documentation is essential to the programmer, the team, the stakeholder and the user of a product.&lt;/p&gt;

&lt;p&gt;The following are some reasons to document code:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It provides crucial information about a product or service to users.&lt;/li&gt;
&lt;li&gt;It helps users achieve their goals and saves the company time and money.&lt;/li&gt;
&lt;li&gt;It helps keep the team up-to-date, thereby enhancing productivity.&lt;/li&gt;
&lt;li&gt;It helps to manage to maintain and optimize a product.&lt;/li&gt;
&lt;li&gt;It helps make the software development life-cycle process transparent and manageable.&lt;/li&gt;
&lt;li&gt;It can help improve user adoption, experience, and retention.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Examples of Great Technical Documentation
&lt;/h3&gt;

&lt;p&gt;You can check out the following technical documentation to get an idea of what to do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GitHub interactive documentation.&lt;/li&gt;
&lt;li&gt;Apple iPhone end-user documentation.&lt;/li&gt;
&lt;li&gt;Google Apps Script technical documentation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Check &lt;a href="https://www.altexsoft.com/blog/business/technical-documentation-in-software-development-types-best-practices-and-tools/" rel="noopener noreferrer"&gt;Further reading&lt;/a&gt; for tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://clevertap.com/blog/technical-documentation/" rel="noopener noreferrer"&gt;https://clevertap.com/blog/technical-documentation/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.indeed.com/career-advice/career-development/technical-documentation" rel="noopener noreferrer"&gt;https://www.indeed.com/career-advice/career-development/technical-documentation&lt;br&gt;
&lt;/a&gt;&lt;a href="https://www.altexsoft.com/blog/business/technical-documentation-in-software-development-types-best-practices-and-tools/" rel="noopener noreferrer"&gt;https://www.altexsoft.com/blog/business/technical-documentation-in-software-development-types-best-practices-and-tools/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>devrel</category>
      <category>documentation</category>
      <category>agile</category>
    </item>
    <item>
      <title>How to Protect Your Django Project's Secret Key</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 01 Jul 2022 13:45:00 +0000</pubDate>
      <link>https://dev.to/themfon/how-to-protect-your-django-projects-secret-key-2ac6</link>
      <guid>https://dev.to/themfon/how-to-protect-your-django-projects-secret-key-2ac6</guid>
      <description>&lt;p&gt;I have been working on some Django tasks for a while. I mistakenly pushed my secret key to my public GitHub repository.😬 Yeah, rookie mistake! 🤷🏽‍♂️&lt;/p&gt;

&lt;p&gt;I immediately received an email from GitGuardian informing me of the security risks involved.&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%2F5ba0fxd58dl3ge0yua82.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%2F5ba0fxd58dl3ge0yua82.png" alt="GitGuardian security risk notification email" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I took some steps to avoid this problem in subsequent tasks and projects. Before I get to that, I will briefly highlight some requirements.&lt;br&gt;
P.S. I use VSCode on a windows device. 😁&lt;/p&gt;
&lt;h3&gt;
  
  
  Requirements
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Use a .gitignore file.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A .gitignore file tells git what files and directories to ignore. Git will automatically ignore any file or directory put in this file to protect sensitive information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create .gitignore files at the root of your GitHub repository before you git-clone it to VSCode.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Create a virtual environment i.e. .env or .venv file.&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#.env
py -3 -m venv .env
#.venv
py -3 -m venv .venv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;It is good practice to ignore your virtual environment by adding it into the .gitignore file, which you have included at the root of your repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Steps
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;On your command line, install python-dotenv with the following code:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install python-dotenv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Go to your settings.py file and paste these two lines in your settings file:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from dotenv import load_dotenv
load_dotenv()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Copy your secret key from your settings.py file and paste it into the .env or .venv file you created:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SECRET_KEY=ui#1j%%f5mxdojzakk72+dvftl%4&amp;amp;y#31_a##16s6s(6pfxy-b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Remove the spaces before and after the equal sign&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove the quotation marks&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Next, in your settings.py file, you retrieve the secret key as follows:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SECRET_KEY = str(os.getenv('SECRET_KEY'))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fkdiyuw7qb8wjd46wemqw.gif" 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%2Fkdiyuw7qb8wjd46wemqw.gif" alt="Tom Cat swallowing a key gif" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;You may need to add the import os function:&lt;/em&gt;&lt;/strong&gt;&lt;br&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%2Fkbhscrufpl20czekp1ki.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%2Fkbhscrufpl20czekp1ki.png" alt="Django import os function" width="552" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Run the server to see if it works before you stage and commit:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py runserver
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Note
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;I switched to Git Bash on VSCode. Some commands did not work as expected with other terminals.&lt;/em&gt;&lt;/strong&gt;&lt;br&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%2Fg8pr8zfcwfejkbnz3mmz.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%2Fg8pr8zfcwfejkbnz3mmz.png" alt="Git Bash terminal on VSCode" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;You may decide to try out any other terminal provided by VSCode:&lt;/strong&gt;&lt;/em&gt;&lt;br&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%2F9oxphdc591fukx0d34fj.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%2F9oxphdc591fukx0d34fj.png" alt="Terminals provided by VSCode" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you know other ways to solve this, kindly leave a comment. 👇🏽&lt;/p&gt;

&lt;p&gt;Cheers! 🍻&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/gitignore-what-is-it-and-how-to-add-to-repo/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/python/tutorial-django" rel="noopener noreferrer"&gt;https://code.visualstudio.com/docs/python/tutorial-django&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/vladyslavnua/how-to-protect-your-django-secret-and-oauth-keys-53fl"&gt;https://dev.to/vladyslavnua/how-to-protect-your-django-secret-and-oauth-keys-53fl&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cover Image Source
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.caplinked.com/wp-content/uploads/AdobeStock_209686850.jpeg" rel="noopener noreferrer"&gt;https://www.caplinked.com/wp-content/uploads/AdobeStock_209686850.jpeg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>django</category>
      <category>git</category>
      <category>security</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Lints Can Save You Minutes</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Sat, 18 Jun 2022 19:49:48 +0000</pubDate>
      <link>https://dev.to/themfon/lints-can-save-you-minutes-37k4</link>
      <guid>https://dev.to/themfon/lints-can-save-you-minutes-37k4</guid>
      <description>&lt;p&gt;One of the goals of technology is to do more in less time. It is ironic and mind-numbing the amount of time spent on debugging. The bug could be a simple omission or addition staring right at you. You want to curtail as many simple errors as possible and be more productive with the limited time available.&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%2Fotymfgkbmeo3fi6llb1y.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%2Fotymfgkbmeo3fi6llb1y.png" alt="Debugging meme" width="596" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the ways to do this is by using a lint or linter.&lt;/p&gt;

&lt;p&gt;This article briefly highlights the background of lints, what they are, why you need them, a few examples and some points to note. &lt;/p&gt;

&lt;h3&gt;
  
  
  Lints: A Brief Background
&lt;/h3&gt;

&lt;p&gt;“Lint” was derived from lint — the tiny bits of fibre and fluff shed by clothing. If you look at your clothes now, there is a good chance that you have lints on them. Textile fibres like cotton and wool are lint producers. Consider putting on more spandex fabrics. Nevermind.😂&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%2Fohxx1dr1bekwqjs01l19.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%2Fohxx1dr1bekwqjs01l19.png" alt="Lint on fabric" width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lint, in programming, is made to function like the &lt;a href="https://www.homequestionsanswered.com/what-is-a-lint-trap.htm#:~:text=A%20lint%20trap%20is%20part,to%20be%20removable%20for%20cleaning." rel="noopener noreferrer"&gt;lint trap&lt;/a&gt; in a clothes dryer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Stephen_C._Johnson" rel="noopener noreferrer"&gt;Stephen C. Johnson&lt;/a&gt;, a computer scientist at &lt;a href="https://en.wikipedia.org/wiki/Bell_Labs" rel="noopener noreferrer"&gt;Bell Labs&lt;/a&gt;, came up with lint in 1978 while debugging using the C programming language.&lt;/p&gt;

&lt;p&gt;In 1979, developers used lint outside Bell Labs for the first time in the seventh version &lt;a href="https://en.wikipedia.org/wiki/Version_7_Unix" rel="noopener noreferrer"&gt;(V7)&lt;/a&gt; of Unix.&lt;/p&gt;

&lt;p&gt;Over the years, developers have created different versions of lint for other programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lints: What Are They?
&lt;/h3&gt;

&lt;p&gt;Lints are tools that point out common programming errors, bugs, style errors and suspicious constructs. They keep programmers within the constraints of programming best practices.&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%2Fr0gnqbpebuxo5oqdhh8q.jpeg" 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%2Fr0gnqbpebuxo5oqdhh8q.jpeg" alt="African mom meme" width="419" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why You Need Lints
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;They analyze code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They point out programming errors&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They provide suggestions to correct flagged errors&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They help maintain a consistent coding style&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They reduce errors and improve the overall quality of your code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;They can help you accelerate development and reduce costs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Examples of Lints
&lt;/h3&gt;

&lt;p&gt;There are many types of lint available, based on your programming language. These include PC-Lint, Bootlint, pycodestyle, and JSLint, among others.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some Points to Note
&lt;/h3&gt;

&lt;p&gt;Lints are great, but they are not suitable for all situations. They are great for simple analysis. However, you cannot use them for complex code analysis.&lt;/p&gt;

&lt;p&gt;Lints can flag as many errors as there are code lines. This flagging can cause &lt;a href="https://www.perforce.com/blog/qac/what-are-false-positives-and-false-negatives" rel="noopener noreferrer"&gt;high false positives and false negatives rates.&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
Lints are not expensive, but they can lead to accumulated costs in developer productivity.&lt;/p&gt;

&lt;p&gt;Lints flag errors and keep programmers within the constraints of programming best practices, but most times, programmers cannot replicate these best practices on their own.&lt;/p&gt;
&lt;h3&gt;
  
  
  How to Install Pycodestyle for Python
&lt;/h3&gt;

&lt;p&gt;To install pycodestyle using your command line, use the code below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pycodestyle
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;P.S. This works for Ubuntu 20.4 and GitBash.&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%2Fmo3f44peg9q72ppbne4k.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%2Fmo3f44peg9q72ppbne4k.png" alt="how to install pycodestyle" width="588" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Below is a snapshot of pycodestyle checking Python code against some programming conventions.&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%2Fte8mhw4ac429hq9icm98.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%2Fte8mhw4ac429hq9icm98.png" alt="pycodestyle test" width="494" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources of Images
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://en.m.wikipedia.org/wiki/File:Mauritius_Road_Signs_-_Warning_Sign_-_Falling_rocks.svg" rel="noopener noreferrer"&gt;https://en.m.wikipedia.org/wiki/File:Mauritius_Road_Signs_-_Warning_Sign_-_Falling_rocks.svg&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://americantwoshot.com/how-to-remove-lint-from-clothes/" rel="noopener noreferrer"&gt;https://americantwoshot.com/how-to-remove-lint-from-clothes/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Lint_%28software%29" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Lint_%28software%29&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/what-is-linting-and-how-can-it-save-you-time/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/what-is-linting-and-how-can-it-save-you-time/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important" rel="noopener noreferrer"&gt;https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://towardsdatascience.com/come-on-lint-a-little-cleaning-up-your-code-with-linters-5d16b1bf19bd" rel="noopener noreferrer"&gt;https://towardsdatascience.com/come-on-lint-a-little-cleaning-up-your-code-with-linters-5d16b1bf19bd&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pypi.org/project/pycodestyle/" rel="noopener noreferrer"&gt;https://pypi.org/project/pycodestyle/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>codenewbie</category>
      <category>python</category>
      <category>productivity</category>
    </item>
    <item>
      <title>GitHub Personal Access Tokens (PAT)</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Thu, 02 Jun 2022 23:00:53 +0000</pubDate>
      <link>https://dev.to/themfon/github-personal-access-tokens-pat-4hk3</link>
      <guid>https://dev.to/themfon/github-personal-access-tokens-pat-4hk3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"Support for password authentication was removed. Please use a personal access token".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;During my earliest stage in the tech space as a budding developer, I had hitches with GitHub. I mean, every developer experiences this. I tried to run git operations. I got the error message that indicated that password authentication was removed and I would need to use a personal access token. Thanks to instructions provided by my technical mentor, I was able to navigate through this challenge.&lt;br&gt;
This article seeks to guide you through this process if you are at this phase in your programming journey.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is GitHub Personal Access Token?
&lt;/h3&gt;

&lt;p&gt;Personal Access Token is a long string of characters used to authenticate a user when accessing the GitHub server instead of password-based authentication. In other words, if you want to run git operations, you will be required to generate a Personal Access Token rather than use a password you create for yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features of GitHub Personal Access Token
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;It is unique&lt;/li&gt;
&lt;li&gt;It is a long string of character combinations&lt;/li&gt;
&lt;li&gt;It is more secure than passwords&lt;/li&gt;
&lt;li&gt;It is hard to read&lt;/li&gt;
&lt;li&gt;You have to generate it&lt;/li&gt;
&lt;li&gt;You can decide if it expires or not (It is not advisable to create PAT with no expiry date)&lt;/li&gt;
&lt;li&gt;It is revocable&lt;/li&gt;
&lt;li&gt;It allows you to control access to certain features&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  How To Create A GitHub Personal Access Token
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Click your profile on GitHub:&lt;/strong&gt;&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%2Fc8h59sgvhb5v7hfoyq09.jpeg" 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%2Fc8h59sgvhb5v7hfoyq09.jpeg" alt="snapshot of GitHub Profile icon" width="800" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Go to settings:&lt;/strong&gt;&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%2Fs4xyiestts6340qqwn2f.jpeg" 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%2Fs4xyiestts6340qqwn2f.jpeg" alt="snapshot of GitHub settings option" width="800" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Scroll down and click "Developer settings" at the bottom left:&lt;/strong&gt;&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%2Fz943nj0rnxosvmnp938j.jpeg" 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%2Fz943nj0rnxosvmnp938j.jpeg" alt="snapshot of GitHub Developer settings option" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Click "Personal access tokens":&lt;/strong&gt;&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%2Fjmke76kmdx4j60tpcjwm.jpeg" 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%2Fjmke76kmdx4j60tpcjwm.jpeg" alt="snapshot of GitHub personal access tokens option" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Click "Generate new token":&lt;/strong&gt;&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%2F8ev807i969vfo25lmvtj.jpeg" 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%2F8ev807i969vfo25lmvtj.jpeg" alt="snapshot of GitHub generate new token icon" width="800" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Type in your password and confirm access:&lt;/strong&gt;&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%2Fhxm5ni9nc87ksxxbmc9k.jpeg" 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%2Fhxm5ni9nc87ksxxbmc9k.jpeg" alt="snapshot of GitHub confirm access page" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Insert a note:&lt;/strong&gt;&lt;br&gt;
This could be the project name.&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%2Frnih2gklxz2pgnpygdwa.jpeg" 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%2Frnih2gklxz2pgnpygdwa.jpeg" alt="snapshot of GitHub insert a note page" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Select the number of days before it expires:&lt;/strong&gt;&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%2Fnxautjelyzs7rvjr9sq8.jpeg" 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%2Fnxautjelyzs7rvjr9sq8.jpeg" alt="snapshot of GitHub select expiry date option" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 9: Select scopes to grant and limit access to certain features:&lt;/strong&gt;&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%2Fp39b9aw5hay1umz4s5yi.jpeg" 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%2Fp39b9aw5hay1umz4s5yi.jpeg" alt="snapshot of GitHub select scopes page" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 10: Click "Generate token":&lt;/strong&gt;&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%2Fu8fulbdzl6e90tk7iolb.jpeg" 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%2Fu8fulbdzl6e90tk7iolb.jpeg" alt="snapshot of GitHub generate token icon" width="800" height="356"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11: Copy the token:&lt;/strong&gt;&lt;br&gt;
Make sure you copy the token and keep it safe so you can use it. If you don't, you will have to generate a new one to perform git operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.github.com/en/enterprise-server@3.1/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token" rel="noopener noreferrer"&gt;https://docs.github.com/en/enterprise-server@3.1/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ourtechroom.com/tech/why-personal-access-token-how-to-generate-it-in-github/" rel="noopener noreferrer"&gt;https://ourtechroom.com/tech/why-personal-access-token-how-to-generate-it-in-github/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cover Image Credit
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://portswigger.net/cms/images/cd/86/ee60a79b68b6-article-190612-github-body-text.jpg" rel="noopener noreferrer"&gt;https://portswigger.net/cms/images/cd/86/ee60a79b68b6-article-190612-github-body-text.jpg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>security</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>What You Need to Know About Pseudocode</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 20 May 2022 14:35:22 +0000</pubDate>
      <link>https://dev.to/themfon/what-you-need-to-know-about-pseudocode-3l3i</link>
      <guid>https://dev.to/themfon/what-you-need-to-know-about-pseudocode-3l3i</guid>
      <description>&lt;p&gt;Many non-tech people think that software engineers solve problems by opening their software and spending hours clacking their keyboards. They think of it as something that requires no stress at all. If wishes were horses, software engineers would clack endlessly!&lt;/p&gt;

&lt;p&gt;Software engineers spend most of their time analysing problems and breaking them down into smaller bits. They need to create solutions and understand the structure of the code before any line of code is written in any programming language(s).&lt;/p&gt;

&lt;p&gt;They create these solutions using pseudocode.&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%2Fd0of49gc7u5377f5etqc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd0of49gc7u5377f5etqc.jpg" alt="How people think I code vs How I really code" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Pseudocode?
&lt;/h3&gt;

&lt;p&gt;Pseudocode means fake code. It is simply writing out algorithms without strictly adhering to the syntax rules of any programming language. You do not need to worry about technicalities. However, ensure that any programmer can understand it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Uses of Pseudocode
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;To plan programmes&lt;/li&gt;
&lt;li&gt;To reduce coding errors&lt;/li&gt;
&lt;li&gt;To enable a smooth development process&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Forms of Pseudocode
&lt;/h3&gt;

&lt;p&gt;There are many forms of Pseudocode, but I will consider three.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flowchart Method&lt;/strong&gt;: This is the graphical illustration of an algorithm. It uses connected symbols to show the flow of a process. Software engineers use this method to think through the process of a particular function.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The diagram below is the flowchart of an algorithm that checks for even or odd numbers.&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%2F61sb58xbnbgrmao564j3.jpeg" 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%2F61sb58xbnbgrmao564j3.jpeg" alt="Flowchart of a program that checks for odd or even numbers" width="500" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write-up Method&lt;/strong&gt;: This type of pseudocode uses more words. Software engineers use this method to think through the chronological process of code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The snapshot below is the write-up pseudocode of an algorithm that checks for even or odd numbers.&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%2Fsb5fmn9zqreym1wor20i.jpeg" 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%2Fsb5fmn9zqreym1wor20i.jpeg" alt="write-up of a program that checks for odd or even numbers" width="608" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Functionality Planning Method&lt;/strong&gt;: This involves writing out the main features you want your users to have when using your programme, including functions and smaller programmes you need to make those features work. This method is a notch higher than the flowchart method.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The snapshot below is the functionality planning pseudocode of a banking programme.&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%2F2fh0h6ixnw0yfcxonsbl.jpeg" 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%2F2fh0h6ixnw0yfcxonsbl.jpeg" alt="functionality planning pseudocode of a banking programme" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Rules of Pseudocode
&lt;/h3&gt;

&lt;p&gt;Yes! Rules! Whereas there are no strict rules guiding the use of pseudocode, there are some salient points to note, so the whole purpose is not defeated.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Take advantage of programming shorthand like IF, ELSE, ELSE IF etc.&lt;/li&gt;
&lt;li&gt;Let naming be simple and distinct.&lt;/li&gt;
&lt;li&gt;Use the correct sentence casings, such as CamelCase for methods, upper case for constants and lower case for variables.&lt;/li&gt;
&lt;li&gt;Don't overly generalize so that it does not appear abstract.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;a href="https://www.futurelearn.com/info/courses/block-to-text-based-programming/0/steps/39492" rel="noopener noreferrer"&gt;https://www.futurelearn.com/info/courses/block-to-text-based-programming/0/steps/39492&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;a href="https://easycppprogramming.blogspot.com/2011/07/flowcharts-in-computer-programming.html" rel="noopener noreferrer"&gt;https://easycppprogramming.blogspot.com/2011/07/flowcharts-in-computer-programming.html&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;a href="https://www.freecodecamp.org/news/introduction-to-computer-programming-and-computer-science-course/" rel="noopener noreferrer"&gt;https://www.freecodecamp.org/news/introduction-to-computer-programming-and-computer-science-course/&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/how-to-write-a-pseudo-code/" rel="noopener noreferrer"&gt;&lt;em&gt;https://www.geeksforgeeks.org/how-to-write-a-pseudo-code/&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>pseudocode</category>
      <category>programming</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Watch The Wall!</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 06 May 2022 11:02:24 +0000</pubDate>
      <link>https://dev.to/themfon/watch-the-wall-1i3l</link>
      <guid>https://dev.to/themfon/watch-the-wall-1i3l</guid>
      <description>&lt;p&gt;During The California Gold Rush, people set out to find gold. Samuel Brannan did something remarkable. He publicized the gold rush and made wealth by selling shovels to those who went to dig for gold. What Samuel Brannan did is being replicated in our tech space currently. It’s overwhelming.&lt;/p&gt;

&lt;p&gt;There are more learning resources — “free” or paid — than anyone can ever have the time to learn. Also, too many carefully curated and targeted ads are vying for attention every day. It reduces the attention span and makes it difficult to complete anything worthwhile.&lt;/p&gt;

&lt;p&gt;A tech career is not what it looks like on LinkedIn, at least not at the initial stage. It is a marathon, not a sprint. Focus, hard work and commitment are some requirements to thrive. So anyone who wants to get in or make a career switch needs to be mentally prepared.&lt;/p&gt;

&lt;p&gt;You may not have experienced this, but I realized that I get excited when I want to try something new. A couple of days into it, I hit a wall and go back to my comfort zone or move on to something I find more exciting at the time. Motivation is fleeting. All these explain the unfinished courses all over cyberspace. 😂😅&lt;/p&gt;

&lt;p&gt;Before you dive in and get overwhelmed with the ever-increasing learning offers that promise to get you a career in tech, you have to sit back and get a few things straight.&lt;br&gt;
Consider the following:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. What is your reason for taking a career in tech?
&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%2Fg58joze4myifxhaot6z1.jpeg" 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%2Fg58joze4myifxhaot6z1.jpeg" alt="Image description" width="662" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;People have different reasons for getting into the tech space. Some people want to try out something exciting. Some have experienced challenges and have decided to tackle them for themselves and others. A handful of people think it’s cool and want to be a tech-bro or tech-sis 🤲. Whatever the case may be for you, it’s understandable. Personally, Aubrey Graham put it best:&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%2Fn2lp4xz2vh0abkoy0xko.jpeg" 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%2Fn2lp4xz2vh0abkoy0xko.jpeg" alt="Image description" width="662" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes. Creativity is limited when you are at the bottom of Maslow’s Pyramid.&lt;br&gt;
Also, tech offers a level ground. There are no entry barriers. You will get opportunities if you can get the job done.&lt;/p&gt;

&lt;p&gt;Furthermore, programming is challenging. It helps me think and communicate better. Computers do what you instruct them to do. Technically, bugs are communication flaws 😅&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%2Fztzjohkd0wq9kwh5gg81.jpeg" 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%2Fztzjohkd0wq9kwh5gg81.jpeg" alt="Image description" width="662" height="231"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whatever your reason may be, be prepared to hit a wall. You will not always be excited. The reason that got you in should keep you going.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. What is the return value?
&lt;/h2&gt;

&lt;p&gt;Have a goal to become a better version of yourself. What career path do you want to take? There are numerous rewarding career paths in tech. Anyone may have a hard time trying to choose. For instance, You may get into the space thinking you prefer to be a full-stack engineer. Along the line, you may start to fancy Artificial Intelligence.&lt;/p&gt;

&lt;p&gt;You may not be able to place your finger on it early, but at least you can start by noting the paths that are not for you. Gradually, you will be able to zero in on what you want.&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%2F98eh1dd7b093paluke9o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98eh1dd7b093paluke9o.jpg" alt="Image description" width="662" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;p.s. You can take a &lt;a href="https://www.codecademy.com/explore/sorting-quiz" rel="noopener noreferrer"&gt;programming personality test&lt;/a&gt; to put things in perspective for you. I tried it too. It's fun.😉&lt;/p&gt;

&lt;h2&gt;
  
  
  3. How do you learn?
&lt;/h2&gt;

&lt;p&gt;We had an online session one day. Quite frankly, I was not all in on the session. I was behind with my tasks. I had to turn them in within the 24-hour deadline. It was a Q&amp;amp;A session with four technical mentors. Suddenly, a student asked them to recommend books. I looked at the screen briefly. It was a bit hilarious. One after the other, they retorted:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Nah, I don't have time to read books." &lt;/p&gt;

&lt;p&gt;"YouTube is my friend. You should make YouTube your friend too." &lt;/p&gt;

&lt;p&gt;"Books are quite long, and I don't have time." &lt;/p&gt;

&lt;p&gt;"I prefer articles." &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I was not surprised. I hardly complete books unless they are about things that interest me and are within my area of core competence. It's a total waste of my time because my eyes will start skipping words. We all know what happens next.&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%2F9plrmu9a2dx4yto1sq4v.gif" 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%2F9plrmu9a2dx4yto1sq4v.gif" alt="Image description" width="244" height="244"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I need to be emotionally involved because I have no background in tech.&lt;/p&gt;

&lt;p&gt;Different strokes for different folks. I have friends who can extract information from books after reading them once or twice — depending on how technical the content is. I am not that guy, at least not with codes. I started watching a 3-hour video about two weeks ago. I am still not halfway through. I spent hours trying to write “Hello World!” in python language on VSCode! You best believe I don’t quite understand programming books yet, let alone recall what I read. To learn, I watch videos, enable the captions and make sure I do whatever I see in the video tutorial. Only then can reading make sense to me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;💡Tip: If you ever have difficulties, checkout &lt;a href="https://stackoverflow.com/" rel="noopener noreferrer"&gt;Stack Overflow&lt;/a&gt;.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Find what works for you. But first, check this out.&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%2F9qp4a2k061412dwkfrph.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%2F9qp4a2k061412dwkfrph.png" alt="Image description" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other things to consider:
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Repetition
&lt;/h3&gt;

&lt;p&gt;Mastery requires excellence at the basics. This type of excellence is a result of repetition. When you get introduced to foundational concepts, learn and practice them repeatedly. This way, you can easily recall and apply them when needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Peer Learning
&lt;/h3&gt;

&lt;p&gt;Interacting with other budding programmers on the same career path as you will help you grow faster. You can motivate yourselves, bounce ideas and be accountable to one another.&lt;/p&gt;

&lt;h3&gt;
  
  
  Share your Knowledge
&lt;/h3&gt;

&lt;p&gt;Teaching is a great way to learn. When you teach, you first have to understand the concept thoroughly. Then you have to consider the people you will teach. By doing this, you simplify complex programming concepts. In the bid to simplify for others, you get a better understanding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Take Breaks
&lt;/h3&gt;

&lt;p&gt;When you get tired - you will! Take breaks. Don't quit!&lt;/p&gt;

&lt;h2&gt;
  
  
  Summarily
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Be mentally prepared to go the long haul.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find out why you want to get in or switch to tech.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zero in on a career path.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learn how you learn, practice repeatedly, learn with your peers, share your knowledge and rest often.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>productivity</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>help</category>
    </item>
    <item>
      <title>"Hello, World!"; Crossing the Rubicon</title>
      <dc:creator>Mfon</dc:creator>
      <pubDate>Fri, 22 Apr 2022 03:22:15 +0000</pubDate>
      <link>https://dev.to/themfon/hello-world-crossing-the-rubicon-5g8k</link>
      <guid>https://dev.to/themfon/hello-world-crossing-the-rubicon-5g8k</guid>
      <description>&lt;p&gt;My academic life was a smooth one in the early stages. I had good grades and did not think about possible areas of interest. You know how it goes in Nigeria; 6–3–3–4. For me, transitioning into senior secondary was obvious. I was not interested in the sciences. I could not quite wrap my head around all those formulas. However, I rapidly picked interest in literature and other art-related subjects.&lt;/p&gt;

&lt;p&gt;Once I was done with my WAEC examination, I registered for the JAMB examination. Looking back at my available course choices, Law seemed like the best choice at the time for whatever reason. I got into the university, had some issues in my third year, and decided to quit.&lt;/p&gt;

&lt;p&gt;At the time, Mark Essien, the CEO of &lt;a href="https://hotels.ng/" rel="noopener noreferrer"&gt;hotels&lt;/a&gt;, organized free coding classes. I had ample opportunity to learn, but I had convinced myself that coding was not my thing. I let the opportunity slip through my fingers.&lt;/p&gt;

&lt;p&gt;Years later, people I know who had been learning to code had changed their lives.&lt;/p&gt;

&lt;p&gt;I visited &lt;a href="https://www.linkedin.com/in/idongesitinuk/" rel="noopener noreferrer"&gt;Miracle&lt;/a&gt; — a friend from the university — to discuss issues regarding the creative industry. She introduced me to &lt;a href="https://twitter.com/0xbabs" rel="noopener noreferrer"&gt;Babs&lt;/a&gt;.&lt;br&gt;
You know it never takes too long before the knotty question pops up in any social setting:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“So, what do you do?”&lt;/em&gt; I asked.&lt;br&gt;
&lt;em&gt;“Oh! I’m into cybersecurity.”&lt;/em&gt; Babs replied.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am sure that was the first time I had met a cybersecurity professional in my life. I was into show business at the time. I carried on with it.&lt;/p&gt;

&lt;p&gt;Over the years, the demand for developers and other computer professionals has grown exponentially. I started to give serious thought to switching careers. I recalled Babs and decided to have a career in cybersecurity. Many young people fantasize about hacking. I researched and realized I had to learn the basics of networking and at least one programming language, preferably python. Babs gave me pointers too.&lt;/p&gt;

&lt;p&gt;It was New Year’s Eve. I went to hang out with my friend &lt;a href="https://www.linkedin.com/in/aemmanuelido/" rel="noopener noreferrer"&gt;Andrè&lt;/a&gt;. I disclosed my intentions to switch to tech. He encouraged me to do it.&lt;br&gt;
He said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“We missed out on the oil boom. Let us not miss out on the tech boom”.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That was all the push I needed to get in.&lt;/p&gt;

&lt;p&gt;I was deliberate about getting into the space. Thank goodness for smartphones. I got tech-related ads on my social media platforms and stumbled on a post from &lt;a href="https://altschoolafrica.com/" rel="noopener noreferrer"&gt;ALT School Africa&lt;/a&gt;. I registered and prepared for the exams.&lt;/p&gt;

&lt;p&gt;I sent the post to my friend &lt;a href="https://www.linkedin.com/in/awoyale-felix-5490ab141/" rel="noopener noreferrer"&gt;Felix&lt;/a&gt;. He told me &lt;a href="https://www.alxafrica.com/" rel="noopener noreferrer"&gt;ALX&lt;/a&gt; was free, and he had signed up. Initially, I wanted to focus on ALT School Africa, but then I saw an ALX ad while scrolling through Instagram stories and &lt;strong&gt;“we miss all the shots we do not take.”&lt;/strong&gt; Right? Yes! I signed up for ALX too.&lt;/p&gt;

&lt;p&gt;Welp! Good news and not-so-good news. I got in to learn backend development at ALX. However, I failed to reach the cut-off mark for the ALT School Africa admission. Damn! All that algebra and word problems I tried to run away from came back to haunt me. 😅&lt;br&gt;
Nevertheless, I continued with ALX. I also had to re-learn algebra and revisit mathematics a little. Damn right!&lt;/p&gt;

&lt;p&gt;Initially, I experienced many difficulties learning new concepts. I spent days trying to set up my GitHub. Pushing commands from my ubuntu command line to my GitHub repositories was a herculean task. The ALX curriculum had us learning Bash Scripting as beginners! Who does that? As if that wasn’t enough, we are currently studying the C programming language. New concepts build on the previous ones. You have to understand each concept before you can proceed to the next.&lt;/p&gt;

&lt;p&gt;Our technical mentor at ALX - Mr. &lt;a href="https://www.linkedin.com/in/maarten-van-middelaar-640a50213/" rel="noopener noreferrer"&gt;Maarten Van Middelaar&lt;/a&gt; - said that the C programming language is procedural. It enhances logical thinking. Also, when we understand the fundamental concepts, we can learn any other programming language with less hassle. I hope it does get easier.&lt;/p&gt;

&lt;p&gt;Well, I am grateful for the experiences so far. I got to learn about First Principle Thinking, Feynman Learning techniques, and weirdly cool stuff like; rubber ducking. It has been over a month. I have made hundreds of commits to my GitHub. I have also made friends from peer learning. I have also worked on a task with an experienced full-stack programmer.&lt;/p&gt;

&lt;p&gt;More so, ALT School Africa granted me access to their resources for a month and will admit me into the program if I make it through the first semester exams after three months.&lt;/p&gt;

&lt;p&gt;Am I excited? Yes! Am I scared? Damn right! Do I feel I am not qualified to have  “Backend Developer” on my bio? You best believe it. Learning to code is the most tasking thing I have done in my life. Nevertheless, I have no regrets whatsoever.&lt;/p&gt;

&lt;p&gt;Well, you probably noticed I started trying to get into information security and somehow got to the backend programming path. I don’t have it all figured out. I will enjoy the ride and cross bridges when I get there. &lt;/p&gt;

&lt;p&gt;"Step by step. 🤝🏽" &lt;a href="https://www.linkedin.com/in/mfonobong-isine-759615191/" rel="noopener noreferrer"&gt;Mfonobong Isine&lt;/a&gt; would usually write. Two words have never been more reassuring. &lt;/p&gt;

&lt;p&gt;My subsequent articles will address the challenges faced while doing tasks and projects.&lt;/p&gt;

&lt;p&gt;If you are reading this article and trying to figure things out, we can connect and find a way to support each other.&lt;br&gt;
If not, pointers would be appreciated. ❤️💡&lt;/p&gt;

</description>
      <category>programming</category>
      <category>codenewbie</category>
      <category>help</category>
      <category>career</category>
    </item>
  </channel>
</rss>
