<?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: Adams Adebayo </title>
    <description>The latest articles on DEV Community by Adams Adebayo  (@olodocoder).</description>
    <link>https://dev.to/olodocoder</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%2F309542%2Fe23d198d-aa84-4045-b862-f8efbd221cdd.jpeg</url>
      <title>DEV Community: Adams Adebayo </title>
      <link>https://dev.to/olodocoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/olodocoder"/>
    <language>en</language>
    <item>
      <title>Understanding Document Structure in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Mon, 27 Jan 2025 12:04:30 +0000</pubDate>
      <link>https://dev.to/olodocoder/understanding-document-structure-in-technical-writing-284b</link>
      <guid>https://dev.to/olodocoder/understanding-document-structure-in-technical-writing-284b</guid>
      <description>&lt;p&gt;One of the fundamental aspects that form the basis of technical writing is the document structure. To create effective technical documents, you need to understand the key components of the document structure.&lt;/p&gt;

&lt;p&gt;These components work in tandem to provide a cohesive and informative reading experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Components of the Document Structure in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most technical documents include the following components: You should include as many as needed. However, feel free to exclude the ones you don’t deem necessary.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Title Page&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The title page is the first thing readers encounter, setting the document's tone.&lt;/p&gt;

&lt;p&gt;It typically includes the document title, author's name, publication date, and relevant affiliations or institutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Abstract or Executive Summary&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;An abstract or executive summary concisely overviews the document's main points, findings, or recommendations. It serves as a teaser, giving readers a glimpse of what to expect and helping them decide whether to read the entire document.&lt;/p&gt;

&lt;p&gt;An effective abstract is invaluable in technical writing, where time is often limited.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Table of Contents&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The table of contents outlines the document's structure and helps readers locate specific sections quickly. It lists chapter or section titles along with their respective page numbers.&lt;/p&gt;

&lt;p&gt;A well-organized table of contents is essential for documents with multiple sections or chapters.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;List of Figures and Tables&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If the document includes figures, tables, or illustrations, a list of figures and tables should be provided after the table of contents.&lt;/p&gt;

&lt;p&gt;This list identifies and briefly describes each figure or table and its page number, aiding in easy reference and navigation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The introduction sets the stage for the document by providing context, background information, and its purpose. It also outlines the scope and objectives, giving readers a clear understanding of what to expect.&lt;/p&gt;

&lt;p&gt;A well-crafted introduction grabs readers’ attention and motivates them to continue reading.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Body&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The body of the document contains the main content. It is divided into sections or chapters, each addressing a specific topic or subtopic. These sections should be organized logically, following a clear structure that flows smoothly from one point to the next.&lt;/p&gt;

&lt;p&gt;Headings and subheadings are crucial in guiding readers through the document's body.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Headings and Subheadings&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Headings and subheadings break down the content into manageable chunks and provide a hierarchical structure. They help readers navigate the document, find relevant information, and understand the organization of ideas.&lt;/p&gt;

&lt;p&gt;Consistent formatting and a logical hierarchy of headings are essential for clarity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;References and Citations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Technical writing often involves referencing external sources, research, or previous work.&lt;/p&gt;

&lt;p&gt;Properly formatted references and citations are essential for crediting sources, establishing credibility, and allowing readers to explore related materials for further information.&lt;/p&gt;

&lt;p&gt;Now that you know the main components of a technical document, let’s explore how to use headings properly in your technical content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Creating Effective Headings and Subheadings in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When crafting valuable technical content, complex information must be presented in a way that is easy for the reader to digest and understand. Headings and subheadings are essential tools for achieving this.&lt;/p&gt;

&lt;p&gt;Well-crafted headings and subheadings provide structure to your document and act as signposts, guiding your readers through the content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Benefits of Effective Headings and Subheadings in Technical Writing&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%2Fr3gze7ubq67qcufffjaj.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%2Fr3gze7ubq67qcufffjaj.png" alt="Image description" width="800" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Enhancing Readability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Technical documents often contain information, including facts, figures, and technical jargon. Without clear headings and subheadings, readers may feel overwhelmed and struggle to find the necessary information.&lt;/p&gt;

&lt;p&gt;Effective headings break down the content into manageable sections, making it easier for readers to navigate and comprehend.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Organizing Information&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Headings and subheadings serve as a roadmap for your document. They help you organize your thoughts and present information in a logical order.&lt;/p&gt;

&lt;p&gt;This organization is particularly crucial in technical writing, where concepts are often interrelated and building upon one another.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Aiding Skimming and Scanning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Not all readers will read your technical document from start to finish. Many will skim or scan the content, looking for specific information.&lt;/p&gt;

&lt;p&gt;Well-structured headings and subheadings allow these readers to locate the most relevant sections to their needs quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Highlighting Key Points&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Headings and subheadings can also strategically highlight key points or takeaways.&lt;/p&gt;

&lt;p&gt;This helps emphasize critical information and ensure it stands out in the reader's mind.&lt;/p&gt;

&lt;p&gt;Now that you understand why you should use proper headings in your technical content let’s explore how to do that properly in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Crafting Effective Headings in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Be Descriptive and Specific&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Your headings should provide a clear indication of what the section is about.&lt;/p&gt;

&lt;p&gt;Vague or generic headings like "Introduction" or "Conclusion" are not helpful.&lt;/p&gt;

&lt;p&gt;Instead, opt for descriptive and specific headings that convey the essence of the content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vague: "Data Analysis"&lt;/li&gt;
&lt;li&gt;Specific: "Statistical Analysis of Customer Feedback"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Parallel Structure&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Maintain consistency in your headings by using a parallel structure.&lt;/p&gt;

&lt;p&gt;This means that all headings at the same level should have a similar grammatical structure.&lt;/p&gt;

&lt;p&gt;Typically, this involves using nouns or noun phrases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not Parallel: "Designing the Software" and "To Code Efficiently"&lt;/li&gt;
&lt;li&gt;Parallel: "Designing the Software" and "Coding Efficiently"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Keep Them Concise&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While being descriptive is essential, avoid making your headings overly long.&lt;/p&gt;

&lt;p&gt;Ideally, headings should be brief and to the point.&lt;/p&gt;

&lt;p&gt;Long headings can confuse readers and defeat the purpose of providing quick navigation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overly Long: "The Detailed Step-by-Step Process for Configuring Network Security Protocols in a Corporate Environment"&lt;/li&gt;
&lt;li&gt;Concise: "Configuring Network Security Protocols"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Proper Capitalization&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Follow a consistent capitalization style for your headings.&lt;/p&gt;

&lt;p&gt;In most cases, sentence case (capitalizing only the first word and any proper nouns) or title case (capitalizing the first letter of each significant word) is preferred.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sentence Case:&lt;/strong&gt; "Conducting a feasibility study on renewable energy sources."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Title Case:&lt;/strong&gt; "Conducting a Feasibility Study on Renewable Energy Sources"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Avoid Punctuation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Generally, it's best to avoid using punctuation marks like colons or semicolons in headings.&lt;/p&gt;

&lt;p&gt;The goal is to keep headings simple and easy to read. If necessary, consider rephrasing the heading to eliminate the need for punctuation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wrong: "Key Elements of Project Management."&lt;/li&gt;
&lt;li&gt;Right: "Key Elements of Project Management"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Hierarchy Effectively&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In technical documents, you often need multiple levels of headings to represent the information hierarchy. Ensure that the hierarchy is clear and consistent.&lt;/p&gt;

&lt;p&gt;Typically, this involves different font sizes, styles, or numbering systems for various levels.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of Using Numbers for Hierarchy:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;1.1 Background&lt;/p&gt;

&lt;p&gt;1.2 Objectives&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Literature Review&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2.1 Previous Research&lt;/p&gt;

&lt;p&gt;2.2 Current Trends&lt;/p&gt;

&lt;p&gt;Next, let’s explore how to use subheadings.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Crafting Subheadings in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Maintain Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Consistency is key when it comes to subheadings. Ensure that subheadings at the same level have a consistent structure and formatting.&lt;/p&gt;

&lt;p&gt;This consistency aids readability and makes it easier for readers to navigate your document.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consistent Structure: "Benefits of Solar Energy" and "Drawbacks of Solar Energy"&lt;/li&gt;
&lt;li&gt;Inconsistent Structure: "Benefits of Solar Energy" and "Analyzing the Negative Aspects"&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Provide Context&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Subheadings should not exist in isolation.&lt;/p&gt;

&lt;p&gt;Each subheading should relate to the preceding heading and provide context for the following content.&lt;/p&gt;

&lt;p&gt;This ensures a smooth flow of information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Heading: "Solar Energy as a Renewable Resource"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Subheading: "Benefits of Solar Energy"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Subheading: "Drawbacks of Solar Energy"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Subheadings to Group Information&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Subheadings can be used to group related information together, making it easier for readers to grasp concepts.&lt;/p&gt;

&lt;p&gt;Think of subheadings as mini-chapters that help organize the content within a section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Heading: "Web Development Technologies"&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Subheading: "Front-end Technologies"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sub-subheading: "HTML"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sub-subheading: "CSS"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Subheading: "Back-end Technologies"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sub-subheading: "Node.js"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sub-subheading: "Ruby on Rails"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Be Concise and Specific&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Like headings, subheadings should be concise and specific.&lt;/p&gt;

&lt;p&gt;Avoid long-winded subheadings that can confuse readers. Instead, focus on conveying the main point of the section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Concise: "Challenges in Software Testing"&lt;/li&gt;
&lt;li&gt;Specific: "Addressing Compatibility Testing Challenges"&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Mistakes to Avoid When Using Heading and Subheadings in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Let’s explore some things you should avoid when using headings and subheadings in technical writing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Overusing Subheadings&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While subheadings are essential for breaking down content, overusing them can overwhelm readers.&lt;/p&gt;

&lt;p&gt;Use subheadings judiciously, focusing on the most critical points or sections that require further division.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Being Inconsistent&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Consistency is paramount in technical writing. Inconsistencies in formatting, capitalization, or structure can confuse readers.&lt;/p&gt;

&lt;p&gt;Make use of templates and style guides to maintain uniformity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Creating Headings After Writing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Writing headings and subheadings should not be an afterthought.&lt;/p&gt;

&lt;p&gt;They should be considered during the planning phase of your document.&lt;/p&gt;

&lt;p&gt;This ensures that the content flows logically and that headings are a roadmap from the outset.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Neglecting Review and Revision&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once you've created your headings and subheadings, reviewing and revising them is essential.&lt;/p&gt;

&lt;p&gt;Ensure they accurately reflect the content and are in the best order to guide readers effectively.&lt;/p&gt;

&lt;p&gt;Now that you understand why, when, and how to use headings and subheadings, let’s explore how to use lists, tables, and visual aids when creating technical content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Using Lists, Tables, and Visual Aids in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Effective use of lists, tables, and visual aids is essential for facilitating understanding and enhancing the overall quality of technical content.&lt;/p&gt;

&lt;p&gt;These elements can significantly improve the clarity and comprehensibility of software manuals, engineering reports, and scientific research papers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Using Numbered Lists in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Numbered lists are best suited for conveying a sequence of steps or a hierarchical structure.&lt;/p&gt;

&lt;p&gt;For instance, if you're writing a user manual for assembling furniture, you can outline the steps in the assembly process using a numbered list.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Using Numbered Lists in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Maintain consistent formatting throughout the list.&lt;/p&gt;

&lt;p&gt;Ensure that each item starts with a number and ends with punctuation, typically a period.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Parallelism&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Keep the structure of the items in the list parallel. This means using consistent grammar and sentence structure for each item.&lt;/p&gt;

&lt;p&gt;For example, if the first item is a verb phrase, all subsequent items should also be verb phrases.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Be clear and concise in your descriptions.&lt;/p&gt;

&lt;p&gt;Each item in a numbered list should be self-contained and easy to understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use sparingly&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Numbered lists should be reserved for situations where the order of items is essential.&lt;/p&gt;

&lt;p&gt;Overusing them can make your document cluttered and less readable.&lt;/p&gt;

&lt;p&gt;Let’s explore bulleted lists in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Using Bulleted Lists in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Bulleted lists are suitable for presenting information that doesn't require a specific order, such as a list of features, advantages, or requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Using Bulleted Lists in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As with numbered lists, maintain consistent formatting.&lt;/p&gt;

&lt;p&gt;Use the same type of bullet point (e.g., circles, squares, or dashes) throughout the list.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Parallelism&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As with numbered lists, ensure that each item follows the same grammatical structure.&lt;/p&gt;

&lt;p&gt;If one item starts with a verb, they should all begin with verbs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Make each bullet point concise and focused.&lt;/p&gt;

&lt;p&gt;Avoid long sentences or paragraphs in a bulleted list.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Hierarchy&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If there is a need to show a hierarchy among items, you can use sub-bullets.&lt;/p&gt;

&lt;p&gt;However, avoid excessive nesting to maintain clarity.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Harnessing the Power of Tables in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Tables are indispensable in technical writing for presenting structured data, comparisons, and complex information. They offer a concise and organized way to display information that might be cumbersome in plain text.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Using Tables in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The primary purpose of a table is to make complex data more understandable.&lt;/p&gt;

&lt;p&gt;Ensure the table's layout and labels are straightforward to interpret.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Simplicity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Keep the table design as simple as possible.&lt;/p&gt;

&lt;p&gt;Avoid unnecessary colors, shading, or complex formatting that distract readers from the content.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Maintain a consistent structure throughout the table.&lt;/p&gt;

&lt;p&gt;Use the same formatting for headers, columns, and rows. This consistency aids readability.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Labeling&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Provide clear and concise headings and labels for rows and columns.&lt;/p&gt;

&lt;p&gt;These labels should explain the content of each section without the need for further explanation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Enhancing Understanding with Visual Aids in Technical Writing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Visual aids, such as diagrams, charts, graphs, and images, are vital in technical writing. They simplify complex concepts and enhance reader comprehension.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Guidelines for Using Visual Aids in Technical Writing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Relevance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ensure that visual aids directly relate to the content.&lt;/p&gt;

&lt;p&gt;They should clarify or illustrate a point, not merely serve as decorative elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Accessibility&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If your document will be distributed electronically, ensure the visual aids are accessible to all readers, including those with disabilities.&lt;/p&gt;

&lt;p&gt;Provide alternative text descriptions for images and ensure compatibility with screen readers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Maintain a consistent style and format for visual aids throughout the document.&lt;/p&gt;

&lt;p&gt;This consistency enhances the professional look of your work.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Appropriateness&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Choose the type of visual aid that best conveys your message.&lt;/p&gt;

&lt;p&gt;For example, pie charts are excellent for illustrating proportions, while line graphs are suitable for showing trends over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Common Pitfalls to Avoid When Using Lists, Tables, and Visual Aids in Technical Writing&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%2Fumdwo4wlkr2bn5reyour.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%2Fumdwo4wlkr2bn5reyour.png" alt="Image description" width="800" height="722"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Overcrowding&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Don't overload your document with lists, tables, and visual aids.&lt;/p&gt;

&lt;p&gt;Use them strategically to complement your content, not overwhelm it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Inadequate Labels&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Always provide clear and descriptive labels for lists, tables, and visual aids.&lt;/p&gt;

&lt;p&gt;Unclear labels can confuse readers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Inconsistent Formatting&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Maintain a consistent style and formatting for these elements throughout your document.&lt;/p&gt;

&lt;p&gt;Inconsistencies can disrupt the flow and understanding of the content.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Lack of Context&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Avoid presenting lists, tables, or visual aids without proper context or explanation.&lt;/p&gt;

&lt;p&gt;Readers should understand why the information is relevant and how it connects to the text.&lt;/p&gt;

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

&lt;p&gt;In this part of the guide, you learned the structure of most technical documents and get many tips on how to structure your content correctly using headings, subheadings, lists, visual aids, and more.&lt;/p&gt;

&lt;p&gt;Note: Make sure to revisit this guide to remind yourself of how to work with the proper structure.&lt;/p&gt;

&lt;p&gt;If you have any questions, corrections, or suggestions, please let me know in the comments below. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>Audience Analysis and User-Centered Approach in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Mon, 20 Jan 2025 08:18:45 +0000</pubDate>
      <link>https://dev.to/olodocoder/audience-analysis-and-user-centered-approach-in-technical-writing-27al</link>
      <guid>https://dev.to/olodocoder/audience-analysis-and-user-centered-approach-in-technical-writing-27al</guid>
      <description>&lt;p&gt;The success of a technical document often hinges on how well it resonates with its intended audience. Audience analysis and the user-centered approach embody this principle.&lt;/p&gt;

&lt;p&gt;It is used to craft documents that are not only informative but also tailored to the needs, expectations, and abilities of their target readers.&lt;/p&gt;

&lt;p&gt;In the next section, Let’s explore audience analysis in technical writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Audience Analysis in Technical Writing
&lt;/h2&gt;

&lt;p&gt;Audience analysis is the foundation of effective technical writing. It involves gathering and interpreting information about the audience for a particular document to understand their characteristics, preferences, expectations, and needs.&lt;/p&gt;

&lt;p&gt;Without a comprehensive understanding of the audience, technical writers risk creating either too simplistic or too complex content, failing to achieve the desired level of clarity and usefulness.&lt;/p&gt;

&lt;p&gt;In the following sections, let’s look at some reasons why you shouldn’t skip audience analysis when crafting technical content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why You Shouldn’t Skip Audience Analysis in Technical Writing
&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%2Feg7sb0vukcw30bgjf2vv.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%2Feg7sb0vukcw30bgjf2vv.png" alt="Image description" width="800" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Tailoring Content to the Audience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of the most compelling reasons for conducting audience analysis is to tailor the content to the audience's knowledge and expertise level. In technical writing, readers can range from novices to experts in the subject matter. Failing to consider this variation can either patronize or alienate the audience.&lt;/p&gt;

&lt;p&gt;For example, imagine a user manual for a new smartphone. Suppose the writer assumes all users are tech-savvy and familiar with advanced smartphone features. In that case, the manual may skip over crucial explanations and troubleshooting steps, frustrating and confusing less experienced users. Conversely, if the manual overexplains every essential feature, it may bore and frustrate tech-savvy users.&lt;/p&gt;

&lt;p&gt;By conducting audience analysis, the technical writer can identify the spectrum of expertise within the audience and strike a balance in the content, offering straightforward explanations for beginners and advanced tips for experts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Addressing Audience Needs and Expectations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Understanding the specific needs and expectations of the readers shouldn’t be overlooked when creating technical content.&lt;/p&gt;

&lt;p&gt;Different audiences may have various reasons for reading a technical document. Some might seek detailed technical specifications, while others may look for step-by-step instructions on using a product. By identifying these needs and expectations, technical writers can structure their documents to address them directly.&lt;/p&gt;

&lt;p&gt;For instance, professional designers and hobbyists might use a software manual for a graphic design application. By conducting audience analysis, the writer can determine that professionals may require in-depth tutorials on advanced features. At the same time, hobbyists might need more user-friendly explanations and guidance on the basics.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Adapting Tone and Style&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The tone and style of a technical document play a pivotal role in engaging the audience. Audience analysis helps technical writers choose the appropriate tone, language, and style that resonates with the readers.&lt;/p&gt;

&lt;p&gt;For instance, a document intended for a highly technical and specialized audience may use industry-specific jargon and a formal tone.&lt;/p&gt;

&lt;p&gt;In contrast, a document targeting a general audience would employ plain language and a more conversational tone.&lt;/p&gt;

&lt;p&gt;Now that you understand why audience analysis is essential in technical writing let’s see how to do it in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Conduct Audience Analysis in Technical Writing
&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%2Fzwj03y3h1jhcpiupu7e5.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%2Fzwj03y3h1jhcpiupu7e5.png" alt="Image description" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Identify the Target Audience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Begin by identifying the document's intended readers. This may include demographic information such as education level, job title, and industry.&lt;/p&gt;

&lt;p&gt;Understanding the demographics helps in creating a preliminary profile of the audience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Determine the Audience's Prior Knowledge&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Assess the audience's prior knowledge and expertise in the subject matter.&lt;/p&gt;

&lt;p&gt;This step is crucial in determining whether the document should be introductory, intermediate, or advanced in its approach. It can involve surveys, interviews, or analyzing existing data about the audience's background.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Identify the Audience's Needs and Goals&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Find out what the audience hopes to achieve by reading the document. Are they seeking information, instructions, troubleshooting guidance, or something else?&lt;/p&gt;

&lt;p&gt;Understanding their needs and goals helps in aligning the content with their expectations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consider Audience Attitudes and Values&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Evaluate the audience's attitudes, values, and beliefs that might impact their reception of the content.&lt;/p&gt;

&lt;p&gt;For example, if the audience has a strong security consciousness, a technical document related to a product should highlight its cybersecurity features.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Analyze Audience Reading Preferences&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Determine how the audience prefers to consume information. Some readers may prefer printed documents, while others might prefer digital formats.&lt;/p&gt;

&lt;p&gt;Additionally, consider whether the audience prefers concise information or appreciates detailed explanations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Create Audience Personas&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To make the audience analysis more tangible, create audience personas. These fictional but representative characters embody the key characteristics and needs of the audience segments you've identified.&lt;/p&gt;

&lt;p&gt;Personas provide a precise reference point for tailoring content.&lt;/p&gt;

&lt;p&gt;Now that you know audience analysis, why it’s essential, and how to conduct it in technical writing, the next section will explore the user-centered approach to technical writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  User-Centered Approach in Technical Writing
&lt;/h2&gt;

&lt;p&gt;The user-centered approach extends audience analysis and prioritizes the audience's needs and preferences during the document creation.&lt;/p&gt;

&lt;p&gt;It's a philosophy acknowledging that the document is not just a piece of information but a tool designed to serve the reader. How do you use it, though?&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use User-Centered Approach in Technical Writing
&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%2Fe5en9vnvkwf39r0zulbc.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%2Fe5en9vnvkwf39r0zulbc.png" alt="Image description" width="800" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Prioritizing Clarity and Accessibility&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;User-centered technical writing emphasizes clarity and accessibility. This means using clear and concise language, avoiding unnecessary jargon, and providing explanations when technical terms are necessary.&lt;/p&gt;

&lt;p&gt;The goal is to ensure that all readers can understand the content regardless of their prior knowledge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Structuring Information Effectively&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Another attribute of the user-centered approach is its incorporation of a logical and user-friendly structure. Technical documents should be organized to align with how the audience thinks and seeks information.&lt;/p&gt;

&lt;p&gt;This often involves using headings, subheadings, bullet points, and numbered lists to break down complex information into digestible chunks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Providing Context and Examples&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;User-centered technical writing provides information, context, and examples to help readers apply the information.&lt;/p&gt;

&lt;p&gt;Real-world scenarios, case studies, and practical examples can make the content more relatable and actionable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Offering Multiple Access Points&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;By recognizing that different readers have different needs, user-centered technical documents often provide multiple access points to information. This can include a table of contents, an index, a glossary, and cross-references to related sections.&lt;/p&gt;

&lt;p&gt;These features empower readers to navigate the document efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Usability Testing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A crucial aspect of the user-centered approach is usability testing. This involves having members of the target audience review and interact with the document to identify any usability issues, confusion points, or areas where improvements can be made.&lt;/p&gt;

&lt;p&gt;Usability testing provides valuable feedback for refining the document.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Iterative Improvement&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The user-centered approach acknowledges that technical writing is an iterative process. Feedback from users is used to refine and improve the document continuously.&lt;/p&gt;

&lt;p&gt;This ongoing improvement ensures that the document remains aligned with the audience's evolving needs.&lt;/p&gt;

&lt;p&gt;In the next section, let’s look at some of the benefits of a user-centered approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of User-Centered Approach in Technical Writing
&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%2Fwtacaa14azw8j1aasvtp.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%2Fwtacaa14azw8j1aasvtp.png" alt="Image description" width="800" height="726"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you’ve learned above, the user-centered approach is a key concept in technical writing, but what are the benefits? Let’s explore some of them in the following sections.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Enhanced User Satisfaction&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When technical documents are designed with the user in mind, readers are more likely to find them helpful and easy to understand.&lt;/p&gt;

&lt;p&gt;This, in turn, leads to increased user satisfaction and a positive perception of the product or service being described.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Reduced Support and Training Costs&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Well-crafted, user-centered documents can significantly reduce the need for customer support and training.&lt;/p&gt;

&lt;p&gt;When users can find answers to their questions in the documentation, they are less likely to seek assistance, which saves them time and resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Improved Product Adoption&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;User-centered documentation can facilitate the adoption of products or services.&lt;/p&gt;

&lt;p&gt;When users can quickly grasp how to use a product or understand its benefits, they are more likely to embrace it and become loyal customers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Brand Loyalty and Trust&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Organizations that consistently provide user-centered documentation indirectly demonstrate their commitment to customer satisfaction.&lt;/p&gt;

&lt;p&gt;This fosters brand loyalty and trust, as users feel the organization values and strives to meet their needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Compliance and Safety&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In fields where safety and compliance are paramount, such as healthcare, aerospace, and engineering, user-centered documentation can be a matter of life and death.&lt;/p&gt;

&lt;p&gt;Clear and accurate instructions are essential for ensuring safe and compliant practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Competitive Advantage&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In a competitive market, user-centered documentation can be a key differentiator.&lt;/p&gt;

&lt;p&gt;Organizations that invest in creating superior technical documents gain a competitive advantage by offering an exceptional user experience.&lt;/p&gt;

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

&lt;p&gt;And that’s it! You now understand audience analysis and user-centered approach and how to incorporate them in your technical writing.&lt;/p&gt;

&lt;p&gt;You also learned about their numerous benefits, and I sincerely recommend that you start using these concepts when crafting valuable technical content for your audience!&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>How to Incorporate Style Guides into Your Technical Writing Process</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Wed, 15 Jan 2025 07:57:47 +0000</pubDate>
      <link>https://dev.to/olodocoder/how-to-incorporate-style-guides-into-your-technical-writing-process-11gb</link>
      <guid>https://dev.to/olodocoder/how-to-incorporate-style-guides-into-your-technical-writing-process-11gb</guid>
      <description>&lt;p&gt;A style guide is a comprehensive set of guidelines and standards that dictate how written content should be formatted, structured, and presented. It serves as a reference manual for writers, helping them maintain uniformity in their work.&lt;/p&gt;

&lt;p&gt;Style guides cover many elements, including grammar, punctuation, formatting, tone, and terminology. While they are used in various types of writing, they are particularly crucial in technical writing, where precision and consistency are paramount.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components of a Style Guide
&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%2Fzlw3zgzdnyicx4l80o3z.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%2Fzlw3zgzdnyicx4l80o3z.png" alt="Image description" width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every style guide should have at least the following components and some other specific ones depending on the company, project, or even country.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Grammar and Punctuation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This section outlines the preferred rules for grammar, punctuation, and syntax. It provides guidance on sentence structure, word usage, and how to handle common grammar and punctuation issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Formatting and Layout&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This section covers aspects such as font choice, margins, headings, subheadings, and the use of lists, tables, and figures. It ensures that documents have a consistent and professional appearance.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Terminology and Vocabulary&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This style guide section specifies preferred terminology, abbreviations, and acronyms. It may also include explanations of technical terms for non-expert readers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Tone and Style&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The tone and style section defines the appropriate tone for the document, whether formal, informal, or technical. It also addresses issues related to voice (active vs. passive), sentence and paragraph lengths, and readability.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Citations and References&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Guidelines for citations and references are essential for technical documents that rely on external sources. This section outlines the preferred citation style (e.g., APA, MLA, Chicago) and how to cite various sources.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Document Review and Approval Process&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This section details the process for reviewing and approving documents. It specifies who is responsible for reviewing content, what criteria they should consider, and how revisions and approvals should be documented.&lt;/p&gt;

&lt;p&gt;The components above are the minimum required for every style guide, so keep them in mind when choosing one or creating one for yourself or your company.&lt;/p&gt;

&lt;p&gt;Let’s explore how to use a style guide in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Use a Style Guide in Technical Writing
&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%2Fbdir9tdubkoc4i429sbg.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%2Fbdir9tdubkoc4i429sbg.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may initially find style guides too restrictive, and that’s normal. However, it shouldn’t feel that way for long. Here are some suggestions on implementing one when you decide to use one.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Familiarize Yourself with the Guide&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Start by thoroughly reading and familiarizing yourself with the style guide you will be using. Pay attention to its rules and recommendations, and make notes of any specific requirements or conventions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Create a Reference Sheet&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Consider creating a reference sheet or cheat sheet based on the style guide. This can be a quick reference tool for common issues like formatting, citation styles, and preferred terminology.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Establish Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ensure that all writers and contributors are aware of and committed to following the style guide. Consistency is key to any style guide’s success, so ensure everyone is on the same page.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Templates&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Develop templates that follow the style guides’ formatting and layout recommendations. These templates can save time and help writers produce documents that adhere to the guide's standards.&lt;/p&gt;

&lt;p&gt;You may wonder why you need to use a style guide. The following sections explore its importance in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importance of Style Guides in Technical Writing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ensuring Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Technical content often contains complex concepts that may be challenging for the average reader to comprehend.&lt;/p&gt;

&lt;p&gt;A style guide helps technical writers use clear and straightforward language, ensuring the content is accessible to its intended audience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Maintaining Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Technical documents are often collaborative efforts involving multiple writers and contributors.&lt;/p&gt;

&lt;p&gt;Without a style guide, these documents can quickly become inconsistent regarding terminology, formatting, and tone.&lt;/p&gt;

&lt;p&gt;Style guides establish rules everyone must follow, ensuring a cohesive and uniform final product.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Enhancing Professionalism&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Consistency and adherence to established guidelines convey a sense of professionalism and reliability, which is essential when providing information that users or stakeholders rely on.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Reducing Revisions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;By providing clear guidelines from the outset, style guides can significantly reduce the need for revisions and edits.&lt;/p&gt;

&lt;p&gt;This saves time and resources and ensures that the document is accurate and error-free from the beginning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Popular Style Guides in Technical Writing
&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%2Fbziluccu79q0x21gj6fd.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%2Fbziluccu79q0x21gj6fd.png" alt="Image description" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The following are some of the most popular style guides in technical writing. You can choose anyone that fits your needs or create your own based on them.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://support.apple.com/en-ng/guide/applestyleguide/welcome/web" rel="noopener noreferrer"&gt;&lt;strong&gt;Apple Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Apple employees and partners use this style guide to ensure consistency in the language, terminology, and design of Apple products, apps, and services.&lt;/p&gt;

&lt;p&gt;It covers writing, design, and user experience, focusing on creating content that aligns with Apple's brand.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://learn.microsoft.com/en-us/style-guide/welcome/" rel="noopener noreferrer"&gt;&lt;strong&gt;Microsoft Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This style guide provides guidelines for creating straightforward, concise, consistent content across its products and services.&lt;/p&gt;

&lt;p&gt;It covers grammar, punctuation, word choice, tone, and accessibility. It also includes guidance on writing for user interfaces and technical documentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.oreilly.com/library/view/ibm-style-guide/9780132118989/" rel="noopener noreferrer"&gt;&lt;strong&gt;IBM Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This style guide focuses on creating content for technical documentation, software interfaces, and publications related to IBM products and services.&lt;/p&gt;

&lt;p&gt;It provides guidance on writing for clarity, consistency, and usability, emphasizing technical accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://developer.salesforce.com/docs/atlas.en-us.salesforce_pubs_style_guide.meta/salesforce_pubs_style_guide/overview.htm" rel="noopener noreferrer"&gt;&lt;strong&gt;Salesforce Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This guide offers guidelines for creating content related to Salesforce products and services.&lt;/p&gt;

&lt;p&gt;It covers aspects such as writing for user interfaces, technical documentation, and marketing materials. It emphasizes consistency and clarity in communication.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://developer.gnome.org/hig/" rel="noopener noreferrer"&gt;&lt;strong&gt;GNOME Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The GNOME style guide is a resource for developers and contributors to the GNOME desktop environment. It provides guidelines on user interface design, iconography, and documentation.&lt;/p&gt;

&lt;p&gt;It aims to maintain a consistent look and feel across GNOME applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://developers.google.com/style" rel="noopener noreferrer"&gt;&lt;strong&gt;Google Developer Documentation Style Guide&lt;/strong&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This style guide is primarily for developers and technical writers who create documentation for Google's developer products and APIs.&lt;/p&gt;

&lt;p&gt;It guides writing, formatting, and organizing technical documentation, focusing on clarity, consistency, and usability.&lt;/p&gt;

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

&lt;p&gt;This part of the guide explains style guides, their main components, and how to use them when creating technical content.&lt;/p&gt;

&lt;p&gt;You also learned the importance of using a style guide and the popular style guides in the industry.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>Organizing Information Properly in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Mon, 13 Jan 2025 18:50:56 +0000</pubDate>
      <link>https://dev.to/olodocoder/complete-guide-to-organizing-information-properly-in-technical-writing-181o</link>
      <guid>https://dev.to/olodocoder/complete-guide-to-organizing-information-properly-in-technical-writing-181o</guid>
      <description>&lt;p&gt;In technical writing, organizing information refers to the systematic arrangement of content, data, and ideas within a document to facilitate understanding, clarity, and effective communication.&lt;/p&gt;

&lt;p&gt;It involves structuring the information logically and coherently so readers can easily navigate the text, comprehend the subject matter, and locate specific details.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Organizing Information Properly in Technical Writing
&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%2Flab4qe0x2mdw4xhaocsm.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%2Flab4qe0x2mdw4xhaocsm.png" alt="Image description" width="800" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many benefits to organizing the information you are trying to communicate in every type of technical document you’re working on. We’ll look at some of them in the following sections.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Enhanced Clarity:&lt;/strong&gt; Properly organized information ensures that ideas are presented logically, making it easier for readers to follow the content.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Improved Understanding: R&lt;/strong&gt;eaders can quickly grasp the main concepts and details when information is structured coherently.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Reduced Cognitive Load:&lt;/strong&gt; Proper organization minimizes the mental effort required to process information, allowing readers to focus on the content rather than struggling to find their way.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Efficient Retrieval:&lt;/strong&gt; A well-organized document lets readers quickly locate specific information they need, such as references, data, or procedures.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Effective Skimming:&lt;/strong&gt; Clear headings, subheadings, and formatting make it effortless for readers to skim through a document and find relevant sections.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Facilitated Learning:&lt;/strong&gt; Organizing content in educational or training materials aids the learning process, helping learners build their knowledge step by step.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Reduced Errors:&lt;/strong&gt; Organizing data and instructions in technical documents systematically minimizes the likelihood of errors in interpretation or implementation.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Enhanced Professionalism:&lt;/strong&gt; A well-structured document conveys professionalism and competence, which is especially important in technical fields.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Effective Communication:&lt;/strong&gt; Properly organized technical writing helps bridge the gap between experts and non-experts by making complex information more accessible.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Time Savings:&lt;/strong&gt; Readers save time when they can quickly find what they need, improving efficiency and productivity.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Improved Decision-Making:&lt;/strong&gt; Technical documents often serve as references for decision-making. Properly organized information helps stakeholders make informed choices.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Enhanced Collaboration:&lt;/strong&gt; Proper organization ensures everyone is on the same page when multiple individuals work on a technical document, reducing misunderstandings and conflicts.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Drawbacks of Disorganized Information in Technical Writing
&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%2Ft95wvhscabaqlpt4a9bh.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%2Ft95wvhscabaqlpt4a9bh.png" alt="Image description" width="800" height="776"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just like the lots of benefits, there are also drawbacks that you would face if you don’t organize the information in your technical content properly. Let’s look at some of them in the following table.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Loss of Credibility&lt;/strong&gt; Disorganized content can erode the writer's credibility, making readers question the document's accuracy and professionalism.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Confusion:&lt;/strong&gt; Poor information organization in technical documents can lead to confusion as readers struggle to understand the logical flow of information or locate specific details.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Misinterpretation:&lt;/strong&gt; Incorrectly structured information can lead to misinterpretation, causing readers to draw incorrect conclusions or make mistakes.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Information Overload:&lt;/strong&gt; Lack of organization can overwhelm readers with too much information at once, making it challenging to digest the material.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Frustration:&lt;/strong&gt; Readers may become frustrated when they cannot easily find the necessary information, which can lead to a negative reading experience.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Reduced Efficiency:&lt;/strong&gt; Poorly organized documents waste readers' time, as they must expend extra effort to navigate and comprehend the content.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Communication Breakdown:&lt;/strong&gt; A misaligned organization can lead to misunderstandings, miscommunications, and breakdowns in collaboration between teams or departments.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Loss of Focus:&lt;/strong&gt; When information is scattered or not presented logically, readers may lose focus and interest in the material.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Difficulty in Updates:&lt;/strong&gt; Updating or revising disorganized documents can be time-consuming and error-prone, as changes may disrupt the existing structure.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

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

&lt;p&gt;This guide explored the importance of organization in technical documents, as well as its benefits and the drawbacks of not doing it.&lt;/p&gt;

&lt;p&gt;Now that you know what is at stake when organizing information in your technical documents, I recommend keeping the points above in mind for guidance.&lt;/p&gt;

&lt;p&gt;Let’s explore style guides in the next part of the guide.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on LinkedIn. &lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>Using Active and Passive Voices in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Fri, 10 Jan 2025 12:53:25 +0000</pubDate>
      <link>https://dev.to/olodocoder/using-active-and-passive-voices-in-technical-writing-515a</link>
      <guid>https://dev.to/olodocoder/using-active-and-passive-voices-in-technical-writing-515a</guid>
      <description>&lt;p&gt;In technical writing, the choice between active and passive voice plays a crucial role in clarity and effectiveness. &lt;/p&gt;

&lt;p&gt;The active voice is often preferred for its directness and clarity, making it ideal for instructions and explanations where the focus is on who is performing the action.&lt;/p&gt;

&lt;p&gt;In contrast, the passive voice is useful when the action itself or its outcome is more important than the performer, often appearing in scientific or procedural contexts. &lt;/p&gt;

&lt;p&gt;Both voices have their place, but overusing one can lead to confusion or a mismatched tone. In this article, we’ll explore the strengths and limitations of each voice and provide guidance on when to use them for clear, concise technical communication.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Active Voice&lt;/strong&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%2Fsdvrva1741i7bgyvqa79.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%2Fsdvrva1741i7bgyvqa79.png" alt="Image description" width="800" height="890"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the active voice, the subject of a sentence performs the action described by the verb. This structure typically follows the pattern: Subject + Verb + Object. For example:&lt;/p&gt;

&lt;p&gt;The engineer (subject) designed (verb) the new software (object).&lt;/p&gt;

&lt;p&gt;In this active voice sentence, the engineer is the one who designed the software.&lt;/p&gt;

&lt;p&gt;Active voice is direct, clear, and typically more engaging. It clearly shows who is responsible for the action.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Passive Voice&lt;/strong&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%2Fnv3ctign17vz9roi7own.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%2Fnv3ctign17vz9roi7own.png" alt="Image description" width="800" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the passive voice, the subject receives the action described by the verb. The structure follows this pattern: Object + Verb + Subject (optional). For example:&lt;/p&gt;

&lt;p&gt;The new software (object) was designed (verb) by the engineer (subject).&lt;/p&gt;

&lt;p&gt;The software is the focus of this passive voice sentence, and the engineer's role is secondary. The "by the engineer" portion is optional and can be omitted if the actor is not essential or known.&lt;/p&gt;

&lt;p&gt;Next, let’s explore the benefits of both and when you would want to use either of them in your writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using Active Voice in Technical Writing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The active voice clearly shows who is acting. It removes ambiguity and helps readers immediately understand the subject's role. This clarity is essential for easy comprehension of technical documents.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Active: The researcher conducted the experiment.&lt;/li&gt;
&lt;li&gt;Passive: The experiment was conducted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can see who performed the experiment in the active voice example, while the passive voice leaves this information unclear.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conciseness&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The active voice often produces more concise sentences, eliminating the need for passive constructions, such as "was" or "were" + past participle.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Active: The team fixed the bug.&lt;/li&gt;
&lt;li&gt;Passive: The bug was fixed by the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The active voice sentence is more concise and direct, making it a better choice when brevity is essential in technical writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using Passive Voice in Technical Writing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Emphasizing the Object or Result&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Passive voice can be helpful when the sentence focuses on the object or result of an action rather than the actor.&lt;/p&gt;

&lt;p&gt;This is common in scientific writing, where the emphasis is on the findings or observations rather than the individuals conducting the research.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passive: The new element was discovered in the lab.&lt;/li&gt;
&lt;li&gt;Active: Researchers discovered the new element in the lab.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the passive voice sentence, the emphasis is on the new element, which may be more relevant to the context of a scientific paper.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Avoiding Blame or Responsibility&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Passive voice can be diplomatic when discussing sensitive or potentially controversial topics. It allows writers to present information without explicitly assigning blame or responsibility.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passive: Mistakes were made during the project.&lt;/li&gt;
&lt;li&gt;Active: The team made mistakes during the project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The passive voice sentence focuses on the mistakes rather than singling out the team members responsible, which might be more appropriate in specific contexts.&lt;/p&gt;

&lt;p&gt;Now that you understand the benefits of active and passive voices in technical writing, it’s worth noting that passive voice is usually frowned upon in technical writing, and you should avoid using it as much as you can. &lt;/p&gt;

&lt;p&gt;Let’s explore some reasons for this in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasons to Avoid Using Passive Voice in Technical Writing
&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%2F0031kgmd2bvhl6sfe2r2.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%2F0031kgmd2bvhl6sfe2r2.png" alt="Image description" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ambiguity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Overusing passive voice can lead to ambiguity. Without a clear actor in the sentence, readers may struggle to determine who is responsible for an action.&lt;/p&gt;

&lt;p&gt;Always prioritize clarity in technical writing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Overcomplication&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;While the passive voice can sometimes be appropriate, it can lead to unnecessarily complex sentences. Avoid passive constructions when more straightforward active-voice sentences suffice.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Hiding Responsibility&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When accountability is essential, using a passive voice to avoid assigning blame can be problematic. Technical writing should include crucial details, especially regarding errors or failures.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Disconnected Information&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Be cautious when using passive voice in sequences of actions or events. It can lead to a fragmented narrative that makes it harder for readers to follow the logical flow of information.&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples of Using Strong Verbs in Technical Writing
&lt;/h2&gt;

&lt;p&gt;Strong verbs are highly recommended to improve clarity and conciseness in technical writing. Let’s see some examples:&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 1
&lt;/h3&gt;

&lt;p&gt;Weak: The data collection process was done carefully and with great precision.&lt;/p&gt;

&lt;p&gt;Strong: The data collection process was executed meticulously.&lt;/p&gt;

&lt;p&gt;In the weak sentence, "carefully" and "with great precision" are adverbs that describe how the data collection process was performed.&lt;/p&gt;

&lt;p&gt;The strong verb – "executed" conveys the same idea more directly, eliminating the need for adverbs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 2
&lt;/h3&gt;

&lt;p&gt;Weak: The software operates slowly and with a considerable degree of lag.&lt;/p&gt;

&lt;p&gt;Strong: The software operates sluggishly.&lt;/p&gt;

&lt;p&gt;"Slowly" and "with a considerable degree of lag" are adverbs and adjectives that describe the software's performance.&lt;/p&gt;

&lt;p&gt;The strong verb – "operates sluggishly" conveys the same information more effectively, eliminating the need for these modifiers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example 3
&lt;/h3&gt;

&lt;p&gt;Weak: The experiment was conducted in a very controlled and systematic manner.&lt;/p&gt;

&lt;p&gt;Strong: The experiment was conducted methodically.&lt;/p&gt;

&lt;p&gt;"In a very controlled and systematic manner" uses adjectives and adverbs to describe how the experiment was conducted.&lt;/p&gt;

&lt;p&gt;The strong verb – "conducted methodically" encapsulates this description more succinctly and clearly.&lt;/p&gt;

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

&lt;p&gt;This guide taught you how to use passive and active voices when creating technical content properly. Using different examples, you also saw how to use strong verbs and their benefits.&lt;/p&gt;

&lt;p&gt;In the next part, we’ll explore how to organize information properly in technical writing.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>Comprehensive Guide to Using Jargon in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Wed, 08 Jan 2025 09:26:31 +0000</pubDate>
      <link>https://dev.to/olodocoder/comprehensive-guide-to-using-jargon-in-technical-writing-226p</link>
      <guid>https://dev.to/olodocoder/comprehensive-guide-to-using-jargon-in-technical-writing-226p</guid>
      <description>&lt;p&gt;Jargon can be defined as &lt;strong&gt;specialized&lt;/strong&gt; terminology and language specific to a particular field or profession.&lt;/p&gt;

&lt;p&gt;However, the fact that technical writers are tasked with ensuring that the information is accurate and understandable makes jargon a double-edged sword.&lt;/p&gt;

&lt;p&gt;This means that when used correctly, it enhances clarity and precision, but when misused, it can confuse and alienate the audience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using Jargon in Technical Writing
&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%2Fbp2v4b4naw3bft2amu9b.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%2Fbp2v4b4naw3bft2amu9b.png" alt="Image description" width="800" height="541"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As implied above, jargon is sometimes good and can have some benefits when used correctly. In the following sections, we will explore some of it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity and Precision&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Jargon allows technical writers to convey complex ideas and concepts concisely. It acts as shorthand readily understood by those familiar with the field, reducing the need for lengthy explanations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Efficiency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Jargon can significantly improve the efficiency of technical communication. Rather than lengthy descriptive phrases, technical writers can use specialized terminology to convey information quickly and accurately.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Professionalism&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The use of jargon in technical writing can convey professionalism and expertise. It signals to the audience that the writer is well-versed in the subject matter and understands the nuances of the field.&lt;/p&gt;

&lt;p&gt;Next, let’s explore the disadvantages of jargon in technical writing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drawbacks of Using Jargon in Technical Writing
&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%2F1qi9wwmwgzm9nj4g5noq.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%2F1qi9wwmwgzm9nj4g5noq.png" alt="Image description" width="800" height="780"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jargon is not all good because it can create serious issues when you don’t use it properly. Some of them are explained in the following sections.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Alienating Non-Experts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The most significant pitfall of excessive jargon use is that it can alienate non-expert readers. If the audience does not understand the specialized terminology deeply, they may struggle to comprehend the content.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Miscommunication&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Jargon can be a source of miscommunication when used incorrectly or imprecisely. Different fields or subfields may use the same term with slightly different meanings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Overcomplication&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sometimes, technical writers rely too heavily on jargon, even when more straightforward language would suffice. This can overcomplicate the text and make it difficult for readers to follow. It's essential to strike a balance between precision and simplicity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Inaccessibility&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Excessive jargon use can make technical documents inaccessible to a broader audience. This is a concern, primarily when the information is meant to be disseminated widely or involves critical public safety information. In such cases, clear and plain language should be prioritized.&lt;/p&gt;

&lt;p&gt;Now that you understand the benefits and drawbacks of jargon in technical writing, you’re probably asking, how do I use it properly in my technical writing? Let’s explore how to do that next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strategies for Effective Use of Jargon
&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%2Fog0mxm55trmxh28c0sx0.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%2Fog0mxm55trmxh28c0sx0.png" alt="Image description" width="800" height="810"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the following sections, let’s explore how to find balance when using jargon in your technical content.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Know Your Audience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The first step in using jargon effectively is understanding your audience.&lt;/p&gt;

&lt;p&gt;Consider their level of expertise and familiarity with the subject matter. Tailor your use of jargon to match the audience's knowledge and needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Define Jargon When Necessary&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When introducing jargon in your writing, provide clear and concise definitions.&lt;/p&gt;

&lt;p&gt;This helps bridge the gap for readers who may not be familiar with the terminology. You can include a glossary or footnotes for reference.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Use Jargon Consistently&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Use jargon consistently throughout the document. Use widely accepted terminology within the field, and avoid unnecessary variations or synonyms. This consistency promotes clarity and precision.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consider the Context&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The context in which jargon is used matters. In some sections of a document, such as the introduction or executive summary, minimizing jargon may be necessary to make the content more accessible.&lt;/p&gt;

&lt;p&gt;Reserve in-depth technical language for sections where it is essential.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Balance Jargon with Plain Language&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Strike a balance between using jargon and plain language. Opt for more straightforward, everyday language to explain complex ideas whenever possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Review and Edit Carefully&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Review your technical writing carefully, watching for excessive or unnecessary jargon.&lt;/p&gt;

&lt;p&gt;Consider seeking feedback from colleagues or experts to ensure your terminology is accurate and appropriate.&lt;/p&gt;

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

&lt;p&gt;There you go! You now understand what jargon is in technical writing, its importance, and how to balance its use when crafting usable technical content for your audience. &lt;/p&gt;

&lt;p&gt;The next part of the guide will explore how to use passive and active voices in technical writing.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>technicalwriting</category>
      <category>beginners</category>
      <category>technology</category>
    </item>
    <item>
      <title>Understanding the 4C’s in Technical Writing</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Mon, 06 Jan 2025 10:21:45 +0000</pubDate>
      <link>https://dev.to/olodocoder/understanding-the-4cs-in-technical-writing-lhl</link>
      <guid>https://dev.to/olodocoder/understanding-the-4cs-in-technical-writing-lhl</guid>
      <description>&lt;p&gt;Having covered the fundamentals of technical writing—including its definition, the role of technical writers, essential tools, and project workflow—this part of the guide will now focus on helping you create valuable content for your audience.&lt;/p&gt;

&lt;p&gt;You will learn about the 4 C’s in technical writing: Conciseness, Correctness, Clarity, and Consistency.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4 C’s. Conciseness, Correctness, Clarity, and Consistency
&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%2Fgo1ml0tpqf4gkd32d76u.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%2Fgo1ml0tpqf4gkd32d76u.png" alt="Image description" width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 4 Cs are fundamental principles that guide effective technical writing, and when put together, they enable you to create technical documents that are both professional and user-friendly. &lt;/p&gt;

&lt;p&gt;Let’s explore each of them in detail in the following sections.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conciseness&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Conciseness in technical writing means conveying information efficiently and avoiding unnecessary words or details that clutter the document. You should only provide essential information without overwhelming readers. For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Poor:&lt;/strong&gt; "In order to facilitate the optimal functionality of the software application, it is imperative that users adhere to the established guidelines and follow the prescribed procedures as outlined in this manual."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improved:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"To optimize the software, follow the guidelines in this manual."&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Correctness&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Correctness means ensuring your technical document is factually accurate and error-free. This encompasses proper grammar, spelling, punctuation, and precise technical details. For example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Incorrect:&lt;/strong&gt; "The data is located on the Promethus sever, witch is known for its relability."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correct:&lt;/strong&gt; "The data is located on the Promethus server, known for its reliability."&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Clarity&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Clarity means writing in a way your target audience can easily understand. This involves using simple language, organizing information logically, and avoiding unnecessary jargon. For Example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unclear:&lt;/strong&gt; "The interface includes a plethora of multifarious options for the purpose of user customization."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clear:&lt;/strong&gt; "The interface offers many user customization options."&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Consistency&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Consistency means maintaining uniform style, formatting, and terminology throughout your technical document. This makes the document easier to navigate and understand. For Example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inconsistent&lt;/strong&gt;: "The device is also referred to as 'Widget 5000' and 'Widget-5000' in different sections of this manual."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistent:&lt;/strong&gt; "The device is consistently referred to as 'Widget 5000' throughout this manual."&lt;/p&gt;

&lt;p&gt;Now that you understand the four Cs of technical writing let's explore tips for improving each principle in your content.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tips to Improve Conciseness in Technical Writing&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%2F6mym4gxgtvasks595z5c.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%2F6mym4gxgtvasks595z5c.png" alt="Image description" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Avoid Redundancy:&lt;/strong&gt; Eliminate unnecessary words or phrases that repeat information. For example, instead of saying "&lt;strong&gt;at this point in time&lt;/strong&gt;," say "&lt;strong&gt;now&lt;/strong&gt;."&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Use Active Voice:&lt;/strong&gt; Always use active voice over passive voice to make sentences more direct and concise.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Consider the Audience:&lt;/strong&gt; Tailor your writing to the knowledge level of your audience, avoiding unnecessary jargon or technical terms.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Remove Filler Words:&lt;/strong&gt; Cut out filler words like "very," "quite," and "really" that don't add meaningful information.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Choose Strong Verbs:&lt;/strong&gt; Use strong action verbs that convey your message efficiently, reducing the need for excessive adjectives and adverbs.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Omit Unnecessary Details:&lt;/strong&gt; Focus on the essential information and remove details that are not crucial to understanding the topic.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Shorten Sentences:&lt;/strong&gt; Break long sentences into shorter ones to improve readability and reduce complexity.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Avoid Nominalization:&lt;/strong&gt; Convert nouns created from verbs (nominalizations) back into verbs. For example, change "make an assessment" to "assess."&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Use Lists and Bullets:&lt;/strong&gt; Organize information into lists or bullet points to help readers quickly scan and absorb key points.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tips to Improve Correctness in Technical Writing&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%2F7hfjd023vum19956k7al.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%2F7hfjd023vum19956k7al.png" alt="Image description" width="800" height="733"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Proofread Thoroughly:&lt;/strong&gt; Carefully review your document for spelling, grammar, and punctuation errors.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Check Facts:&lt;/strong&gt; Verify all facts, data, and references to ensure accuracy.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Cite Sources Properly:&lt;/strong&gt; If referencing external sources, adhere to the appropriate citation style and ensure accuracy.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Avoid Ambiguity:&lt;/strong&gt; Make sure your sentences and terms have precise meanings and cannot be interpreted in multiple ways.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Consult Experts:&lt;/strong&gt; If you need more clarification about technical details, consult subject matter experts to ensure accuracy.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Use a Spell Checker:&lt;/strong&gt; Utilize spelling and grammar checkers in your word processing software. However, please don't rely on them exclusively.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Use Style Guides:&lt;/strong&gt; Follow a recognized style guide (e.g., APA, MLA, Chicago) for consistency in formatting and citation.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Be Cautious with Technical Jargon:&lt;/strong&gt; Use technical terminology correctly and sparingly, and provide explanations when necessary.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Seek Feedback:&lt;/strong&gt; Have colleagues or peers review your work to catch errors you might have missed.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tips to Improve Clarity in Technical Writing&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%2Fwmty7smfcws0onio3tv6.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%2Fwmty7smfcws0onio3tv6.png" alt="Image description" width="800" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Organize Information Logically:&lt;/strong&gt; Structure your document with a clear hierarchy of headings and subheadings to guide readers.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Define Technical Terms:&lt;/strong&gt; Provide clear definitions or explanations for technical terms or acronyms, especially if your audience may need to become more familiar with them.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Consider Your Audience's Background:&lt;/strong&gt; Tailor your explanations to the level of knowledge your readers are likely to have.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Stick to a Single Idea per Paragraph:&lt;/strong&gt; To avoid confusion, each paragraph should focus on a single main idea.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Use Transitions:&lt;/strong&gt; Use transitional words and phrases (e.g., "&lt;strong&gt;however&lt;/strong&gt;," "&lt;strong&gt;therefore&lt;/strong&gt;," and "&lt;strong&gt;in addition&lt;/strong&gt;") to connect ideas and improve flow.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Write Clearly, Not Creatively:&lt;/strong&gt; Technical writing should prioritize clarity over literary flair. Keep your language straightforward.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Use Visual Aids:&lt;/strong&gt; Incorporate diagrams, charts, and tables to clarify complex concepts or data.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Avoid Ambiguous Pronouns:&lt;/strong&gt; Make sure it's clear what nouns pronouns like "it," "this," and "that" refer to.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Use Examples:&lt;/strong&gt; Provide concrete examples or case studies to illustrate complex concepts or procedures.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tips to Improve Consistency in Technical Writing&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%2F2qe2fuq9sdfxnl4husql.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%2F2qe2fuq9sdfxnl4husql.png" alt="Image description" width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Follow a Style Guide:&lt;/strong&gt; Stick to a consistent writing style and formatting throughout your document, following a recognized style guide.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Use Templates:&lt;/strong&gt; If available, use templates or predefined formats to ensure document consistency within your organization.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Maintain Document Version Control:&lt;/strong&gt; When working collaboratively, use version control to avoid inconsistencies in different drafts.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Create a Glossary:&lt;/strong&gt; Maintain a glossary of key terms and their definitions for consistent terminology usage.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Check Spelling and Capitalization:&lt;/strong&gt; Be consistent in capitalization and spelling for technical terms and product names.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Consistent Headings and Subheadings:&lt;/strong&gt; Keep the same formatting, font size, and style for headings and subheadings throughout the document.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Use Parallel Structure:&lt;/strong&gt; Ensure that lists and series of items follow a parallel structure to maintain consistency.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Consistent Terminology:&lt;/strong&gt; Always use the same term or abbreviation for a specific concept or item throughout the document.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Keep Writing Style Consistent:&lt;/strong&gt; Ensure the tone, voice, and style remain consistent across the document, especially in collaborative writing efforts.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

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

&lt;p&gt;In this part of the guide, you learned about the 4C’s in technical writing, how to use each, and why they are essential to you as a technical writer. Remember these concepts as you craft usable technical content for your audience.&lt;/p&gt;

&lt;p&gt;In the next part of the guide, we’ll explore the term &lt;em&gt;technical jargon&lt;/em&gt; and how to use it properly when crafting technical content.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>technology</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Importance of Technical Writing and Its Process</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Fri, 03 Jan 2025 18:28:31 +0000</pubDate>
      <link>https://dev.to/olodocoder/importance-of-technical-writing-and-its-process-cp0</link>
      <guid>https://dev.to/olodocoder/importance-of-technical-writing-and-its-process-cp0</guid>
      <description>&lt;p&gt;Technical writing is a cornerstone, facilitating the exchange of complex ideas, instructions, and information between experts and laypeople. It is a vital bridge between specialized fields' intricacies and a broader audience's comprehension.&lt;/p&gt;

&lt;p&gt;The significance of technical writing pervades numerous industries and disciplines, from engineering manuals to medical reports, software documentation, and scientific research papers.&lt;/p&gt;

&lt;p&gt;In the following sections, let's delve into why technical writing is so crucial in today's world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importance of Technical Writing
&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%2Fnccmkhuqjmeztm9qkvqi.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%2Fnccmkhuqjmeztm9qkvqi.png" alt="Image description" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Technical writing is very crucial in today’s world and has some very benefits that helps companies become better at what they do by offering clarity, knowledge management, and so much more. Let’s explore some of those in the following sections.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clarity and Precision
&lt;/h3&gt;

&lt;p&gt;At its core, technical writing is about clarity and precision. It distills complex concepts into understandable language, minimizing ambiguity and confusion.&lt;/p&gt;

&lt;p&gt;Whether assembling furniture, following step-by-step instructions or troubleshooting a software glitch with a user manual, clear and precise technical writing ensures the intended message is conveyed accurately to the intended audience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Documentation and Knowledge Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In many industries, technical writing is critical to documentation and knowledge management. &lt;/p&gt;

&lt;p&gt;Well-written technical documents can be used as repositories of institutional knowledge, preserving best practices, procedures, and lessons learned over time. They also serve as reference materials for training new employees, troubleshooting issues, and maintaining consistency in operations. &lt;/p&gt;

&lt;p&gt;Furthermore, comprehensive documentation enhances collaboration among team members by fostering a shared understanding of processes and protocols.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Compliance and Regulation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Adherence to standards and regulations is paramount in regulated industries such as healthcare, finance, and environmental engineering. Technical writing ensures compliance by translating complex regulatory requirements into actionable guidelines and procedures. &lt;/p&gt;

&lt;p&gt;Whether it involves drafting safety protocols for chemical handling or preparing compliance reports for government agencies, technical writers document processes to show the regulators and the public the that organization operates within the legal and ethical frameworks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Innovation and Knowledge Transfer&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Finally, technical writing facilitates innovation and knowledge transfer by disseminating research findings, technological advancements, and best practices to a broader audience. By documenting experiments, case studies, and technical specifications, technical writers enable the exchange of ideas and discoveries within and across disciplines. &lt;/p&gt;

&lt;p&gt;Furthermore, technical documentation provides a foundation for future innovation, providing a reference point for building upon existing knowledge and pushing the boundaries of what is possible.&lt;/p&gt;

&lt;p&gt;Let's continue this part of the guide by exploring an overview of the technical writing process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview of the Technical Writing Process
&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%2F8vr8ag1eqs4fvt3xn9bx.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%2F8vr8ag1eqs4fvt3xn9bx.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Understanding the technical writing process is essential for every person trying to craft usable technical content. To craft usable technical content, you don’t just dive into writing, there’s a process that almost always guarantee that you create useful content for your audience. Let’s explore the step by step process in the following sections.&lt;/p&gt;

&lt;h3&gt;
  
  
  Purpose Definition
&lt;/h3&gt;

&lt;p&gt;The most important thing to do when crafting technical content is to work towards a goal, and that’s where purpose definition comes in. You need to define the document's purpose and who it's for—are they end-users, developers, or even testers? This will help you understand what information needs to be conveyed and why.&lt;/p&gt;

&lt;h3&gt;
  
  
  Audience Analysis
&lt;/h3&gt;

&lt;p&gt;Another essential thing to do is to figure out who the content or document is intended for. You need to know the target audience, their technical expertise, their role, and their expectations from your content.&lt;/p&gt;

&lt;h3&gt;
  
  
  Research
&lt;/h3&gt;

&lt;p&gt;Before you start writing, you need to have relevant information to what you’re writing about. So, you conduct research by collaborating with subject matter experts, reviewing code and software design documents, or using other applicable resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  Interviews
&lt;/h3&gt;

&lt;p&gt;When writing about products or software in an internal team, you should conduct short interviews with developers, designers, product managers, and other team members to gather insights and details. This will shorten your review process because you will have the details each person wants you to include, and if you don’t include them, you will have an answer for them regarding why you didn’t.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scope Definition
&lt;/h3&gt;

&lt;p&gt;This is the stage where you define the scope of your document because you definitely can’t fit any and everything you can write about that subject in a single document. So, you need to define the scope of the document, including what will be covered and any limitations or exclusions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Outlining
&lt;/h3&gt;

&lt;p&gt;This is the stage where you develop a detailed outline or structure for the document and decide on sections, headings, and subheadings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Drafting
&lt;/h3&gt;

&lt;p&gt;This is the process of writing the document based on the outline and gathered information. You must also ensure clarity, precision, and consistency in language and terminology.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Style Guide Adherence&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This means following the organization's style guide if they have one, or you can use one of the options I suggested above for consistent formatting and writing standards.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Graphics and Diagrams&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;They said an image is worth a thousand words, but this isn’t as true regarding technical writing. However, in this step, you should create and include relevant diagrams, screenshots, flowcharts, and illustrations to aid the audience’s understanding of your document.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Peer Review&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Remember the subject matter experts you consulted in the interview stage. This is the process of peers, designers, developers, etc., reviewing the document to catch errors, provide feedback, and ensure technical accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Editing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This involves checking the document for correctness, grammar, punctuation, style, coherence, and consistency in terminology and formatting. If you interviewed experts for your document and had them review it, this is where you incorporate their feedback to improve and improve it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Testing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If applicable, test the software or procedures described in the document to validate the accuracy of the instructions. For example, if you wrote about &lt;strong&gt;How to Integrate Flutterwave into a WordPress Website&lt;/strong&gt;, testing the steps described in the document again would make sense to ensure that everything works as planned. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Publishing&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This step makes the document available to the audience in the appropriate format, whether a printed manual, online help, PDF, or web-based documentation. What use is written content without being used by the intended audience?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Maintenance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Regularly review and update documentations to reflect software changes, revised procedures, or based on user feedback.&lt;/p&gt;

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

&lt;p&gt;There you have it! I hope this guide has achieved its aim of helping you understand the importance of technical writing in today’s world and how to approach a technical content project from start to finish.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>technology</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Technical Writing Guide: Introduction to Technical Writing and Its Tools</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Wed, 01 Jan 2025 09:57:04 +0000</pubDate>
      <link>https://dev.to/olodocoder/technical-writing-guide-introduction-to-technical-writing-and-its-tools-1m39</link>
      <guid>https://dev.to/olodocoder/technical-writing-guide-introduction-to-technical-writing-and-its-tools-1m39</guid>
      <description>&lt;p&gt;Technical writing is the art of breaking down complex topics into simple, easy-to-use instructions to help users of a particular product succeed. I’m here to teach you all about that in this comprehensive multi-part guide. But first, who am I?&lt;/p&gt;

&lt;p&gt;My name is Adams Adebayo. I have been crafting regular content for five years and technical content for three years. I have worked with several companies to plan, organize, write, and edit various types of technical content. You can check me out on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and I would love to connect with you!&lt;/p&gt;

&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;I’m creating this guide because I have always wanted to make a proper guide to help people become solid technical writers. In 2023, I successfully taught more than 20 beginners about Technical Writing via the ProductHub Africa Training.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This guide has also been reviewed by other technical writing professionals to ensure it’s worth reading.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Who?
&lt;/h2&gt;

&lt;p&gt;If you want to learn how to communicate technical jargon to a non-technical audience in any industry, this guide is for you. Whether you want to share what you know or become a full-time technical writer, I promise you there’s something in this guide for you! &lt;/p&gt;

&lt;p&gt;Without further ado, let’s talk technical writing!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Technical Writing
&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%2F04b45pd07b792onod4wa.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%2F04b45pd07b792onod4wa.png" alt="Image description" width="800" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Technical writing is a discipline that involves communicating complex information to those who need it to perform a specific task or achieve a particular goal. &lt;/p&gt;

&lt;p&gt;As a technical writer, you must take complex information and turn it into easily understandable content for the end user. This content could include Frequently Asked Questions (FAQs), knowledge bases, user manuals, documents, product descriptions and specifications, guides, and tutorials.&lt;/p&gt;

&lt;p&gt;Let’s see how some technical writers at Google describe the profession below.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Technical writing is more like deleting. You have to eliminate the information getting in the way and help people accomplish what they want. – Matt Werner, Technical Writer at Google&lt;/p&gt;

&lt;p&gt;It's someone who takes technical information and converts it into easy-to-understand help content. – Peggy, Technical Writer at Google&lt;/p&gt;

&lt;p&gt;Technical writing is about helping people accomplish something without any roadblocks or barriers. – Scott, Technical Writer at Google&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the following sections, let’s explore what you, as a technical writer at some companies, would be responsible for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flutterwave
&lt;/h3&gt;

&lt;p&gt;As a technical writer at Flutterwave, you would be responsible for planning, writing, and editing easy-to-understand guides on how to get up and running with Flutterwave products. These may include how-to guides, tutorials, SDKs and plugin documentation, product descriptions, API references, and other technical content.&lt;/p&gt;

&lt;h3&gt;
  
  
  Youtube
&lt;/h3&gt;

&lt;p&gt;As a technical writer working on the YouTube team at Google, you would be responsible for explaining everything from how developers can build YouTube-powered media players in their apps to how YouTube stores and uses user data on their websites and apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  VueJS
&lt;/h3&gt;

&lt;p&gt;As a technical writer on the VueJS core team, you would be responsible for explaining all VueJs functionalities in clear and understandable language on the documentation website to enable JavaScript developers of all levels to get started with the framework quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Android
&lt;/h3&gt;

&lt;p&gt;As a technical writer working on the Android team at Google, you would be responsible for explaining everything about Android and its related tools in clear language so that developers and smartphone companies can build fantastic interfaces and functionalities in their apps without issues.&lt;/p&gt;

&lt;p&gt;Now that you understand technical writing and what technical writers do, let’s examine the difference between technical and non-technical content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Difference Between Technical and Non-Technical Content
&lt;/h2&gt;

&lt;p&gt;The following table explains the differences between technical and non-technical content.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Technical Content&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Non-Technical Content&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Technical writing&lt;/strong&gt; is primarily informational and instructional. Its goal is to convey complex or specialized information clearly and concisely.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Regular content writing&lt;/strong&gt;, often called creative or general content writing, serves a broader range of purposes. It can include blog posts, articles, marketing copy, storytelling, and more.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Technical writing&lt;/strong&gt; targets a specific, often niche audience with a specialized background or knowledge in the subject matter. It assumes the reader is seeking detailed information and technical expertise.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Regular content writing&lt;/strong&gt; caters to a broader and diverse audience. The content may be intended for the general public, including people with varying levels of knowledge on the topic.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Technical writing&lt;/strong&gt; is typically impersonal and devoid of emotion or opinion. Its formal and objective style emphasizes clarity, accuracy, and precision.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Regular content writing&lt;/strong&gt; allows for a broader range of styles and tones. Depending on the context and purpose, it can be conversational, persuasive, narrative, or descriptive.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Technical writing&lt;/strong&gt; often follows a structured format, such as introductions, methods, results, and conclusions. The content is organized logically, and headings and subheadings facilitate navigation.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;The structure of regular content&lt;/strong&gt; writing can vary significantly depending on the genre and purpose. It may follow a linear narrative, a listicle format, or any other suitable structure that serves the content's goals.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Technical Documents&lt;/strong&gt; include user manuals, product documentation, scientific research papers, engineering reports, medical instructions, and legal contracts, which are examples of technical writing.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Regular content&lt;/strong&gt; documents include blog posts, news articles, opinion pieces, marketing content, novels, short stories, and creative essays, which fall under regular content writing.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Now that you understand the difference between technical writing and regular content writing let’s move on to understanding the different types of technical documents in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Technical Documents
&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%2Fz7xji1t7y34p5v1mo35b.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%2Fz7xji1t7y34p5v1mo35b.png" alt="Image description" width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User Manuals&lt;/strong&gt; are written to provide comprehensive instructions on how to use a software application. They cover everything from installation to advanced features, troubleshooting, and frequently asked questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Design Documents&lt;/strong&gt; detail the software architecture, including diagrams, data flow charts, component specifications, and interaction diagrams. They help developers understand how to build the software.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Documentation&lt;/strong&gt; explains using and integrating application programming interfaces (APIs). It includes details on endpoints, request/response formats, authentication, and examples of API calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Guides&lt;/strong&gt; offer detailed information on software functionality but usually focus on specific aspects or tasks. For example, “How To Build a Network Server … in Python” articles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Requirements Specification&lt;/strong&gt; defines the functional and non-functional requirements of a software system. It outlines what the software should do, its limitations, and any dependencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release Notes and Changelogs&lt;/strong&gt; provide information about software updates, including new features, bug fixes, and known issues. Release notes focus on the what and why of the changes while changelogs offer a detailed list of changes made between the previous version of the software and the current one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Installation Guides&lt;/strong&gt; are written to explain how to install and configure the software on different platforms, including system requirements and prerequisites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whitepapers&lt;/strong&gt; delve into specific technical topics related to the software or its underlying technologies. They often explore best practices, architectural decisions, or research findings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Troubleshooting Guides&lt;/strong&gt; help users and support teams diagnose and resolve common issues that may arise when using the software. They typically include step-by-step solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Documentation&lt;/strong&gt; outlines the security measures implemented in the software, including encryption, authentication methods, and recommendations for secure usage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System Administration Guides&lt;/strong&gt; provide information on managing, configuring, and maintaining the software in a network or server environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project Documentation&lt;/strong&gt; includes project plans, progress reports, and documentation of decisions made during the software development lifecycle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The documents mentioned above are some of the most common types of technical papers, and now that you understand what they are, let’s explore some of the tools you would be working with as a technical writer in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Writing Tools
&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%2Fzoq3u8ad96edlbrky0de.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%2Fzoq3u8ad96edlbrky0de.png" alt="Image description" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every profession or skill has specific tools that the people who work in or practice the skill use, and technical writing is no different. Let’s explore some of the main tools you would need to succeed as a technical writer and what they are used for in the following sections.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;
&lt;strong&gt;Word Processors:&lt;/strong&gt; &lt;a href="http://docs.google.com/" rel="noopener noreferrer"&gt;Google Docs&lt;/a&gt; is an online word processor that allows for collaborative editing and sharing.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Markup Languages:&lt;/strong&gt; &lt;a href="https://www.markdownguide.org/" rel="noopener noreferrer"&gt;Markdown&lt;/a&gt; is an easy-to-use markup language for formatting elements (such as headings, bulleted lists, and URLs) without using a formal text editor or HTML tags.&lt;/th&gt;
&lt;th&gt;
&lt;strong&gt;Version Control Systems:&lt;/strong&gt; &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;Git&lt;/a&gt; is used for version control and collaboration on documentation repositories, while &lt;a href="https://github.com/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; is used to collaborate, host, and share documentation repositories with others.&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Content Management Systems:&lt;/strong&gt; &lt;a href="https://mintlify.com/" rel="noopener noreferrer"&gt;Mintlify&lt;/a&gt; is an open-source tool for creating and managing documentation websites and blogs.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Screen Capture and Recording Tools:&lt;/strong&gt; &lt;a href="https://www.techsmith.com/screen-capture.html" rel="noopener noreferrer"&gt;Snagit&lt;/a&gt; captures screenshots and creates screen recordings to illustrate software usage.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Graphics and Diagramming Tools:&lt;/strong&gt; &lt;a href="https://www.lucidchart.com/pages/" rel="noopener noreferrer"&gt;Lucidchart&lt;/a&gt; is an online diagramming tool for creating flowcharts, wireframes, and technical diagrams.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Spell and Grammar Checkers:&lt;/strong&gt; &lt;a href="https://www.grammarly.com/" rel="noopener noreferrer"&gt;Grammarly&lt;/a&gt; checks for grammar and spelling errors in documents and provides suggestions for improving clarity and readability.&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Style Guides and Templates:&lt;/strong&gt; &lt;a href="https://learn.microsoft.com/en-us/style-guide/welcome/" rel="noopener noreferrer"&gt;The Microsoft Manual of Style guides&lt;/a&gt; technical writing in the Microsoft ecosystem. The &lt;a href="https://www.chicagomanualofstyle.org/home.html" rel="noopener noreferrer"&gt;Chicago Manual of Style&lt;/a&gt; is a general style guide for various types of documentation.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The tools above are the primary tools you would use in your day-to-day responsibilities as a technical writer. However, every suggestion above is just a suggestion because you can use any other tool not listed above as long as it meets your needs, so feel free to do that.&lt;/p&gt;

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

&lt;p&gt;In this first part of the guide, you have learned about technical writing, the responsibilities of technical writers, and the key differences between technical and non-technical content&lt;/p&gt;

&lt;p&gt;You also briefly explored the major types of technical documents and technical writing tools and their uses. The next part of the guide will explore why technical writing is essential and briefly explore the technical writing process.&lt;/p&gt;

&lt;p&gt;Please let me know in the comments below if you have any questions, corrections, or suggestions. You can also connect with me on &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;See you in the next one!&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>technicalwriting</category>
      <category>technology</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Authorization: Understanding Policies in Laravel</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Fri, 18 Oct 2024 12:46:51 +0000</pubDate>
      <link>https://dev.to/olodocoder/authorization-understanding-policies-in-laravel-4gao</link>
      <guid>https://dev.to/olodocoder/authorization-understanding-policies-in-laravel-4gao</guid>
      <description>&lt;p&gt;Controlling what users can or cannot do in your application is one of the most essential things you'll need to do when building real-world applications. &lt;/p&gt;

&lt;p&gt;For example, in a todo application, you don't want a user to be able to edit or delete other users' todos. &lt;/p&gt;

&lt;p&gt;In this article, you will learn one of the seamless ways to do this in Laravel by using &lt;a href="https://laravel.com/docs/11.x/authorization#creating-policies" rel="noopener noreferrer"&gt;policies&lt;/a&gt; to control what users can do by building a simple todo application. &lt;/p&gt;

&lt;p&gt;To follow along with this tutorial, you need to have a basic understanding of &lt;a href="https://dev.to/olodocoder/series/16689"&gt;Laravel&lt;/a&gt; and its application structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a Base Application
&lt;/h2&gt;

&lt;p&gt;Run the following command to create a new Laravel application in your desired folder and move into it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer create-project laravel/laravel todo-app &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;todo-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, run the following command to install Laravel Breeze:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan breeze:install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Breeze will scaffold your new application with authentication so your users can register, log in, log out, and view their personalized dashboards.&lt;/p&gt;

&lt;p&gt;After that, compile your application assets by running the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Laravel comes with the file-based SQLite database by default, so the next thing you need to do is connect your application database file to a database viewer like &lt;a href="https://tableplus.com/" rel="noopener noreferrer"&gt;TablePlus&lt;/a&gt; or any other one you like.&lt;/p&gt;

&lt;p&gt;After connecting your database to the viewer, run the following commands to migrate the available tables into your database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once that is done, run the following command to view your application in the browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should now see your new Laravel application at &lt;code&gt;localhost:8000&lt;/code&gt; looking like this:&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%2F0u40hlhvw2smkaf6ryss.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%2F0u40hlhvw2smkaf6ryss.png" alt="home page" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now go to the register page to create a user and access the dashboard, which is the entire application at this point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Model Setup
&lt;/h2&gt;

&lt;p&gt;Models in Laravel are used to control database tables. Use the following command to create a &lt;code&gt;Todo&lt;/code&gt; model in the &lt;code&gt;App/Models&lt;/code&gt; folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:model Todo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, inside the newly created file, replace the &lt;code&gt;Todo&lt;/code&gt; class with the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Model&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;HasFactory&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;protected&lt;/span&gt; &lt;span class="nv"&gt;$fillable&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'description'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'completed'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'user_id'&lt;/span&gt;
    &lt;span class="p"&gt;];&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;belongsTo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&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;The code above will enable users to submit a form with the &lt;code&gt;$fillable&lt;/code&gt; properties; it also defines the relationship between a user and a Todo; in this case, a todo belongs to a user. Let's complete the relationship setup by adding the following code to the &lt;code&gt;App/Models/User.php&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;todos&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;hasMany&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&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;The code above will connect the &lt;code&gt;User&lt;/code&gt; model to the &lt;code&gt;Todo&lt;/code&gt; model so that it can have many to-dos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migration Setup
&lt;/h2&gt;

&lt;p&gt;Migrations in Laravel are used to specify what should be in a database table. Run the following command to create a migration inside the &lt;code&gt;database/migrations&lt;/code&gt; folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:migration create_todos_table
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, replace the &lt;code&gt;up&lt;/code&gt; function in the new file with the following that will add the todo table to the database with the &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;user_id&lt;/code&gt;, &lt;code&gt;title&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;completed&lt;/code&gt;, and timestamp columns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;   &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;up&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Schema&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Blueprint&lt;/span&gt; &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;id&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;foreignId&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'user_id'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;constrained&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;onDelete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'cascade'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'description'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;nullable&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;boolean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'completed'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;timestamps&lt;/span&gt;&lt;span class="p"&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;Next, run the following command to add the &lt;code&gt;todos&lt;/code&gt; table to the database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Policy Setup
&lt;/h2&gt;

&lt;p&gt;Policies in Laravel allow you to define who can do what with a particular resource, in this case, todos. &lt;/p&gt;

&lt;p&gt;Let's see how that works by generating a &lt;code&gt;TodoPolicy&lt;/code&gt; inside the &lt;code&gt;App/Policies&lt;/code&gt; folder using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:policy TodoPolicy &lt;span class="nt"&gt;--model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Todo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, in the newly created &lt;code&gt;TodoPolicy&lt;/code&gt; file, replace the &lt;code&gt;TodoPolicy&lt;/code&gt; class with the following code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TodoPolicy&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="cd"&gt;/**
     * Determine if the user can view any todos.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;viewAny&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Determine if the user can view the todo.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Determine if the user can create todos.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Determine if the user can update the todo.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="cd"&gt;/**
     * Determine if the user can delete the todo.
     */&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;User&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$user&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="p"&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;The code above specifies that a user can create a todo, but can only view, update, or delete a todo that belongs to them.&lt;/p&gt;

&lt;p&gt;Next, let's set up the controller in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Controller Setup
&lt;/h2&gt;

&lt;p&gt;Controllers in Laravel control the app's functionality for a particular resource. Run the following command to generate a &lt;code&gt;TodoController&lt;/code&gt; inside the &lt;code&gt;App/Http/Controllers&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan make:controller TodoController
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the following code to the top of the newly created &lt;code&gt;TodoController&lt;/code&gt; file to import the &lt;code&gt;Todo&lt;/code&gt; model for database operations and &lt;code&gt;Gate&lt;/code&gt; class for authorization:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;use App&lt;span class="se"&gt;\M&lt;/span&gt;odels&lt;span class="se"&gt;\T&lt;/span&gt;odo&lt;span class="p"&gt;;&lt;/span&gt;
use Illuminate&lt;span class="se"&gt;\S&lt;/span&gt;upport&lt;span class="se"&gt;\F&lt;/span&gt;acades&lt;span class="se"&gt;\G&lt;/span&gt;ate&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Index Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;index&lt;/code&gt; method with the following code that fetches and returns all the logged-in users' todos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'viewAny'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nv"&gt;$todos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;todos&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos'&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;The &lt;code&gt;Gate::authorize&lt;/code&gt; method verifies that the user is logged in using the &lt;code&gt;viewAny&lt;/code&gt; policy method you defined in the previous section.&lt;/p&gt;

&lt;h3&gt;
  
  
  Create Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;create&lt;/code&gt; method with the following code that verifies the user is signed in before returning the create todo form to the user so they can create todos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'create'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.create'&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;h3&gt;
  
  
  Store Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;store&lt;/code&gt; method with the following code that checks if the  user can create a todo, validates the request, creates the todo, and redirects the user to the todo list page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'create'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$validated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|max:255'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'description'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'nullable'&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;todos&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo created successfully'&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;h3&gt;
  
  
  Edit Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;edit&lt;/code&gt; method with the following code that verifies the user can edit that todo before returning the edit todo form populated with the selected todo to the user so they can edit it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;edit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'update'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.edit'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todo'&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;h3&gt;
  
  
  Update Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;update&lt;/code&gt; method with the following code that checks if the  user can update the todo, validates the request, updates the selected todo, and redirects the user to the todo list page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'update'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$validated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|max:255'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'description'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'nullable'&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo updated successfully'&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;h3&gt;
  
  
  Destroy Method
&lt;/h3&gt;

&lt;p&gt;Replace the &lt;code&gt;destroy&lt;/code&gt; method with the following code that checks if the  user can delete the todo, deletes it, and redirects the user to the todo list page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;destroy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'delete'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo deleted successfully'&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;Your &lt;code&gt;TodoController&lt;/code&gt; file should now look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="kn"&gt;namespace&lt;/span&gt; &lt;span class="nn"&gt;App\Http\Controllers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;App\Models\Todo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Support\Facades\Gate&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;use&lt;/span&gt; &lt;span class="nc"&gt;Illuminate\Http\Request&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;TodoController&lt;/span&gt; &lt;span class="kd"&gt;extends&lt;/span&gt; &lt;span class="nc"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;__construct&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;//&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'viewAny'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nv"&gt;$todos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;todos&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'create'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.create'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'create'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Todo&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$validated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|max:255'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'description'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'nullable'&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;auth&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;user&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;todos&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo created successfully'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;edit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'update'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.edit'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;compact&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todo'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Request&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'update'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$validated&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$request&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
            &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required|max:255'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="s1"&gt;'description'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'nullable'&lt;/span&gt;
        &lt;span class="p"&gt;]);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$validated&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo updated successfully'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;destroy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;Todo&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Gate&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;authorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'delete'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="nv"&gt;$todo&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'success'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Todo deleted successfully'&lt;/span&gt;&lt;span class="p"&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;h2&gt;
  
  
  Views Setup
&lt;/h2&gt;

&lt;p&gt;Now that your &lt;code&gt;TodoController&lt;/code&gt; methods are all set, you can now create the views for your applications by creating a new &lt;code&gt;todos&lt;/code&gt; folder inside the &lt;code&gt;resources/views&lt;/code&gt; folder. After that, create &lt;code&gt;create.blade.php&lt;/code&gt;, &lt;code&gt;edit.blade.php&lt;/code&gt;, &lt;code&gt;index.blade.php&lt;/code&gt; files in the new &lt;code&gt;todos&lt;/code&gt; folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Index View
&lt;/h3&gt;

&lt;p&gt;Paste the following code inside the &lt;code&gt;index.blade.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;x-app-layout&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;x-slot&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"header"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-xl font-semibold leading-tight text-gray-800"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            {{ __('Todos') }}
        &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/x-slot&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"py-12"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mx-auto max-w-7xl sm:px-6 lg:px-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"overflow-hidden bg-white shadow-sm sm:rounded-lg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"p-6 bg-white border-b border-gray-200"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                    {{-- &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"{{ route('todos.create') }}"&lt;/span&gt; 
                           &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"px-4 py-2 text-white bg-blue-500 rounded hover:bg-blue-600"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            Create New Todo
                        &lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt; --}}

                    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mt-6"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        @foreach($todos as $todo)
                            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4 p-4 border rounded"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                &lt;span class="nt"&gt;&amp;lt;h3&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-lg font-semibold"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;{{ $todo-&amp;gt;title }}&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
                                &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-gray-600"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;{{ $todo-&amp;gt;description }}&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
                                &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mt-2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"{{ route('todos.edit', $todo) }}"&lt;/span&gt; 
                                       &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-blue-500 hover:underline"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Edit&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;

                                    &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"{{ route('todos.destroy', $todo) }}"&lt;/span&gt; 
                                          &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; 
                                          &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"inline"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                        @csrf
                                        @method('DELETE')
                                        &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; 
                                                &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"ml-2 text-red-500 hover:underline"&lt;/span&gt;
                                                &lt;span class="na"&gt;onclick=&lt;/span&gt;&lt;span class="s"&gt;"return confirm('Are you sure?')"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                            Delete
                                        &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
                                    &lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
                                &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
                        @endforeach
                    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/x-app-layout&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create View
&lt;/h3&gt;

&lt;p&gt;Paste the following code inside the &lt;code&gt;create.blade.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;x-app-layout&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;x-slot&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"header"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-xl font-semibold leading-tight text-gray-800"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            {{ __('Create Todo') }}
        &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/x-slot&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"py-12"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mx-auto max-w-7xl sm:px-6 lg:px-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"overflow-hidden bg-white shadow-sm sm:rounded-lg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"p-6 bg-white border-b border-gray-200"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"{{ route('todos.store') }}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        @csrf

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block text-gray-700"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Title&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; 
                                   &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; 
                                   &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; 
                                   &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded"&lt;/span&gt;
                                   &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block text-gray-700"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Description&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; 
                                      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; 
                                      &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; 
                                    &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"px-4 py-2 text-white bg-green-500 rounded hover:bg-green-600"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                Create Todo
                            &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/x-app-layout&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Edit View
&lt;/h3&gt;

&lt;p&gt;Paste the following code inside the &lt;code&gt;edit.blade.php&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;x-app-layout&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;x-slot&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"header"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"text-xl font-semibold leading-tight text-gray-800"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            {{ __('Edit Todo') }}
        &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/x-slot&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"py-12"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mx-auto max-w-7xl sm:px-6 lg:px-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"overflow-hidden bg-white shadow-sm sm:rounded-lg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"p-6 bg-white border-b border-gray-200"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"{{ route('todos.update', $todo) }}"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        @csrf
                        @method('PUT')

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block text-gray-700"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Title&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; 
                                   &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; 
                                   &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"title"&lt;/span&gt; 
                                   &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"{{ $todo-&amp;gt;title }}"&lt;/span&gt;
                                   &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded"&lt;/span&gt;
                                   &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"mb-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"block text-gray-700"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Description&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; 
                                      &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; 
                                      &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"w-full px-3 py-2 border rounded"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;{{ $todo-&amp;gt;description }}&lt;span class="nt"&gt;&amp;lt;/textarea&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

                        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; 
                                    &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"px-4 py-2 text-white bg-blue-500 rounded hover:bg-blue-600"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                                Update Todo
                            &lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
                        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/x-app-layout&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Routes Setup
&lt;/h2&gt;

&lt;p&gt;Handling routes for your &lt;code&gt;TodoController&lt;/code&gt; is relatively straightforward using the &lt;code&gt;resource&lt;/code&gt; method in Laravel. Do that by adding the following code to the end of the &lt;code&gt;routes/web.php&lt;/code&gt; folder like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// rest of the file&lt;/span&gt;
&lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;middleware&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'auth'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nf"&gt;group&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'todos'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;TodoController&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;class&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;The code above uses the &lt;code&gt;auth&lt;/code&gt; middleware to protect the todos resource. You should now be able to visit the following routes in your application after being logged in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/todos&lt;/code&gt;: List all users' todos&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/todos/create&lt;/code&gt;: Shows the form for creating todos&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/todos/edit/1&lt;/code&gt;: Shows the form for editing a todo with the given id; 1 in this case.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can now create, edit, and delete todos, BUT only as a logged-in user and the owner of the selected todos in the case of editing and deleting.&lt;/p&gt;

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

&lt;p&gt;And that's it! You have just created a realistic todo application that allows users to create, view, edit, and delete ONLY their own todos. Please let me know if you have any corrections, suggestions, or questions in the comments!&lt;/p&gt;

&lt;p&gt;Finally, remember to follow me here on Dev, &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="//x.com/olodocoder"&gt;Twitter&lt;/a&gt;. Thank you so much for reading, and I'll see you in the next one!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Linux Series: Understanding Cron in Ubuntu</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Fri, 08 Mar 2024 16:49:41 +0000</pubDate>
      <link>https://dev.to/olodocoder/linux-series-understanding-cron-in-ubuntu-4hdd</link>
      <guid>https://dev.to/olodocoder/linux-series-understanding-cron-in-ubuntu-4hdd</guid>
      <description>&lt;p&gt;One of the notable things computer technology has allowed humanity to do since the beginning is to automate tasks with little or no babysitting while still being productive.&lt;/p&gt;

&lt;p&gt;In this article, I will teach you how to use Cron to automate processes and jobs (remember those from the last article? Check it out &lt;a href="https://dev.to/olodocoder/linux-series-full-guide-managing-processes-in-ubuntu-2npf"&gt;here&lt;/a&gt; 🫵🏾) so you don't have to be there when they run and don't need to have it running in the background all the time (you want to save some of those resources $$ for the greater good, don't you? 😉).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For this article, I have set up an Ubuntu desktop virtual machine on my system. However, you should be able to follow along with any Linux system you have, either virtual or physical.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's get into it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Cron
&lt;/h2&gt;

&lt;p&gt;Cron is a time-based job scheduler in Unix-like operating systems. It enables you to schedule tasks (commands or scripts) to run periodically at fixed times, dates, or intervals. These tasks can be anything from system maintenance to backups or scripts to automate specific processes.&lt;/p&gt;

&lt;p&gt;Cron operates through a cron daemon, which runs continuously in the background, checking for scheduled tasks at specified intervals. When a scheduled time or interval matches the current time, the cron daemon executes the associated task.&lt;/p&gt;

&lt;p&gt;Now that you know what Cron is and how it works, let's get into how to check your &lt;code&gt;crontab&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cron Table &lt;code&gt;crontab&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;To use Cron, you typically edit a file called the &lt;code&gt;crontab&lt;/code&gt; (cron table), which contains the list of scheduled tasks for a particular user. Each user on a system can have their crontab file.&lt;/p&gt;

&lt;p&gt;To view your &lt;code&gt;crontab&lt;/code&gt;, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;crontab &lt;span class="nt"&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The code above should return your &lt;code&gt;crontab&lt;/code&gt;, but I don't have any, so I'll see this:&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%2Febivu2vwii04cdidarmf.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%2Febivu2vwii04cdidarmf.png" alt="crontabs" width="800" height="157"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or check for other users with this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;crontab &lt;span class="nt"&gt;-l&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;username&lt;/code&gt; with the username of the user whose &lt;code&gt;crontab&lt;/code&gt; you want to view. This command lists the scheduled tasks for the specified user.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: You need access to &lt;code&gt;sudo&lt;/code&gt; for the command above to work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How to Use Cron
&lt;/h2&gt;

&lt;p&gt;You can start using Cron by editing your &lt;code&gt;crontab&lt;/code&gt; using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;crontab -e
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command opens the crontab file in your default text editor (usually Vim or Nano), allowing you to add, edit, or remove scheduled tasks.&lt;/p&gt;

&lt;p&gt;You can also specify the editor you'd like to use to edit the &lt;code&gt;crontab&lt;/code&gt; like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;EDITOR&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nano crontab &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above will open &lt;code&gt;crontab&lt;/code&gt; with the specified editor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Editing Cron Tables
&lt;/h2&gt;

&lt;p&gt;Editing your &lt;code&gt;crontab&lt;/code&gt; is relatively straightforward. You only have to specify the time and provide a command or the path to the script you want to run at the specified time.&lt;/p&gt;

&lt;p&gt;Specifying the time can be done using the five asterisks (&lt;code&gt;*&lt;/code&gt;). In the cron syntax, the five asterisks represent the time and date fields used to specify when a task should be executed. &lt;/p&gt;

&lt;p&gt;Each asterisk corresponds to a specific time unit. Let's break it down:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Minute (0-59):&lt;/strong&gt; The first asterisk represents the minute field. In this position, an asterisk means "every minute". So, the task will be executed every minute of every hour.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hour (0-23):&lt;/strong&gt; The second asterisk represents the hour field. Like the minute field, an asterisk here means "every hour". So, the task will run every hour of every day.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Day of Month (1-31):&lt;/strong&gt; The third asterisk represents the day of the month field. Once again, an asterisk means "every day of the month". Therefore, the task will execute every day, regardless of the date.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Month (1-12):&lt;/strong&gt; The fourth asterisk represents the month field. Just like the previous fields, an asterisk means "every month". So, the task will run every month of the year.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Day of Week (0-7, where both 0 and 7 represent Sunday):&lt;/strong&gt; The fifth asterisk represents the day of the week field. Here, an asterisk signifies "every day of the week". Therefore, the task will execute every day of the week.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Putting it all together, specifying &lt;code&gt;* * * * *&lt;/code&gt; means that the task specified in the &lt;code&gt;crontab&lt;/code&gt; job will run every minute, every hour, every day, every month, and every day of the week, effectively executing it continuously.&lt;/p&gt;

&lt;p&gt;Let's explore different examples next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common Commands and Examples:
&lt;/h2&gt;

&lt;p&gt;Let's look at some common times and task examples and how to specify them in &lt;code&gt;crontab&lt;/code&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  Minute, Hour, Day of Month, Month, Day of Week
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; command_to_run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs &lt;code&gt;command_to_run&lt;/code&gt; every minute, every hour, every day of the month, and every day of the week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specific Time
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   30 3 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; command_to_run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs &lt;code&gt;command_to_run&lt;/code&gt; at 3:30 AM every day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Interval
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="k"&gt;*&lt;/span&gt;/15 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; command_to_run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs &lt;code&gt;command_to_run&lt;/code&gt; every 15 minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Using Paths
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   0 1 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; /path/to/command_to_run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs &lt;code&gt;command_to_run&lt;/code&gt; located at &lt;code&gt;/path/to/&lt;/code&gt; at 1:00 AM daily.&lt;/p&gt;

&lt;h3&gt;
  
  
  Redirecting Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   0 2 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; command_to_run &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /path/to/logfile.log 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs &lt;code&gt;command_to_run&lt;/code&gt; at 2:00 AM every day and appends its output, including any errors, to &lt;code&gt;logfile.log&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Running Scripts
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   0 4 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; /path/to/script.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This runs a script named &lt;code&gt;script.sh&lt;/code&gt; located at &lt;code&gt;/path/to/&lt;/code&gt; at 4:00 AM daily.&lt;/p&gt;

&lt;p&gt;After editing your crontab file, the changes will take effect immediately, and the cron daemon will execute the scheduled tasks accordingly.&lt;/p&gt;

&lt;p&gt;Remember to check the syntax carefully, as incorrect entries in the crontab file can lead to unexpected behavior or errors. Additionally, always ensure that the commands or scripts you schedule are tested and do not interfere with system stability or security.&lt;/p&gt;

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

&lt;p&gt;And that's it! I hope this article achieved its aim of teaching you everything you need to know to start using Cron to automate tasks on your Linux server.&lt;/p&gt;

&lt;p&gt;You also explored typical times and tasks in &lt;code&gt;crontab&lt;/code&gt;, how to specify them, and more.&lt;/p&gt;

&lt;p&gt;Please feel free to leave a comment to correct, suggest, or even teach me something new! 😉 &lt;/p&gt;

&lt;p&gt;Finally, remember to follow me here on Dev, &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="//x.com/olodocoder"&gt;Twitter&lt;/a&gt;. Thank you so much for reading, and I'll see you in the next one!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>cloud</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Linux Series: Full Guide Managing Processes in Ubuntu</title>
      <dc:creator>Adams Adebayo </dc:creator>
      <pubDate>Thu, 07 Mar 2024 19:26:57 +0000</pubDate>
      <link>https://dev.to/olodocoder/linux-series-full-guide-managing-processes-in-ubuntu-2npf</link>
      <guid>https://dev.to/olodocoder/linux-series-full-guide-managing-processes-in-ubuntu-2npf</guid>
      <description>&lt;p&gt;So many things are running on your server at any given time; these can be processes that you set up yourself or built-in ones that run automatically without your knowledge.&lt;/p&gt;

&lt;p&gt;In this article, I will teach you everything you need to know about managing these processes based on your server needs. &lt;/p&gt;

&lt;p&gt;Let's start by exploring what a process is in the next section.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For this article, I have set up an Ubuntu desktop virtual machine on my system. However, you should be able to follow along with any Linux system you have, either virtual or physical.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Processes
&lt;/h2&gt;

&lt;p&gt;In Linux, processes are instances of executing programs. Each process has its unique process ID (PID) and can include multiple threads. Every command you run on your server becomes a process until it finishes running.&lt;/p&gt;

&lt;p&gt;Imagine you have a kitchen where you're cooking several dishes simultaneously. Each dish you're preparing can be considered a process.&lt;/p&gt;

&lt;p&gt;Let's explore what a job is in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jobs
&lt;/h2&gt;

&lt;p&gt;Jobs in Linux refer to tasks that are executed by the shell. A job can consist of one or more processes. When a job is started from the shell, it can either run in the foreground, where it interacts directly with the user, or in the background, allowing the user to continue working while the job executes asynchronously. &lt;/p&gt;

&lt;p&gt;Think of it like assigning tasks to different people in your team. For instance, if you're managing a project, you might assign one person to design a logo (a job), another to write content (another job), and so on.&lt;/p&gt;

&lt;p&gt;I've mentioned foreground and background in the two sections above, so let's understand those next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foregrounding
&lt;/h2&gt;

&lt;p&gt;Every time you run a command on your server and watch the result come up, you're doing foregrounding (yes, it's automatic). &lt;/p&gt;

&lt;p&gt;When a process runs in the foreground, it occupies the terminal and interacts directly with you. You typically wait for the foreground process to complete before executing further commands. Foreground processes receive input from the terminal and display output directly to it. &lt;/p&gt;

&lt;p&gt;To run a process in the foreground, you simply execute the command without any special options or symbols.&lt;/p&gt;

&lt;p&gt;Now that you know that you have been foregrounding without knowing it, let's explore its sister, backgrounding, in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backgrounding
&lt;/h2&gt;

&lt;p&gt;Backgrounding allows a process to run independently of the terminal, freeing you to continue issuing commands. Background processes do not occupy the terminal, so you can continue using it for other tasks. Background processes typically do not receive input from the terminal or display output directly. &lt;/p&gt;

&lt;p&gt;When executing a process in the background, you can append an ampersand &lt;code&gt;&amp;amp;&lt;/code&gt; to the command. You can also send a foreground process that's taking too long to the background by suspending it (pressing &lt;code&gt;Ctrl+Z&lt;/code&gt;) and then using the &lt;code&gt;bg&lt;/code&gt; command to resume its execution in the background.&lt;/p&gt;

&lt;p&gt;For example, if you are editing a script and you need to quickly create a file the script will interact with before you save it, you can do that like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano instscript.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have it opened, you can now send it to the background by pressing &lt;code&gt;Ctrl+T+Z&lt;/code&gt;, and you should see something like this:&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%2F6659pteb4yepnaowvwfa.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%2F6659pteb4yepnaowvwfa.png" alt="nanoscript" width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It shows that &lt;code&gt;nano&lt;/code&gt; has &lt;code&gt;stopped&lt;/code&gt; but that means it's running in the background now and you can run any command you need to before you continue editing the script. You can confirm that by running the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps au | &lt;span class="nb"&gt;grep &lt;/span&gt;nano
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you should see something like this:&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%2F02xo4rrquo2p68txsugo.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%2F02xo4rrquo2p68txsugo.png" alt="grepnano" width="800" height="185"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The image above shows all the &lt;code&gt;nano&lt;/code&gt; processes in the background on your server (including the ones that aren't yours).&lt;/p&gt;

&lt;p&gt;You can bring the process back to the foreground using the &lt;code&gt;fg&lt;/code&gt; command like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;fg &lt;/span&gt;1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember the &lt;code&gt;[1]+&lt;/code&gt; when you sent the nano process to the background? That's the PID you'll use to manage the process, but your PID might be a little different (because you are not using my server 🫵🏾).&lt;/p&gt;

&lt;p&gt;You can also run a command and send it to the background immediately by adding an ampersand (&amp;amp;) to the end like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;htop &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will start &lt;code&gt;htop&lt;/code&gt;, assign it a PID, and send it to the background immediately, and the result should look like this:&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%2F8l66ldkhit7txnnw9eqh.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%2F8l66ldkhit7txnnw9eqh.png" alt="htopbg" width="800" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also bring it back to the foreground like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;fg &lt;/span&gt;htop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above will bring &lt;code&gt;htop&lt;/code&gt; back to the foreground.&lt;/p&gt;

&lt;p&gt;Remember to always save your work before exiting or logging out of your shell to avoid losing them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Viewing All Processes
&lt;/h2&gt;

&lt;p&gt;You can see all the processes that are being run on your server with the &lt;code&gt;ps&lt;/code&gt; command like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps au
&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%2Fe3m37mrrtfprjb03h2uf.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%2Fe3m37mrrtfprjb03h2uf.png" alt="Image description" width="800" height="408"&gt;&lt;/a&gt;&lt;br&gt;
The command above displays information about all processes running on the system. Each column in the output represents different attributes of these processes. Here's an explanation of each column:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;USER&lt;/code&gt;: This column shows the username of the user who owns the process.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PID&lt;/code&gt;: Stands for Process ID. This is a unique identifier assigned to each running process by the system.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%CPU&lt;/code&gt;: Indicates the percentage of CPU time used by the process since the last update.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;%MEM&lt;/code&gt;: Represents the percentage of physical memory (RAM) used by the process.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;VSZ&lt;/code&gt;: Stands for Virtual Memory Size. It represents the total amount of virtual memory (including RAM and swap space) the process uses, measured in kilobytes (KB).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;RSS&lt;/code&gt;: Stands for Resident Set Size. It represents the amount of physical memory (RAM) the process uses, measured in kilobytes (KB).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;TTY&lt;/code&gt;: Indicates the terminal associated with the process. This field will be displayed as a question mark if the process is not associated with a terminal.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STAT&lt;/code&gt;: Represents the current status of the process. Common status codes include:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;R&lt;/code&gt;: Running&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;S&lt;/code&gt;: Sleeping&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;D&lt;/code&gt;: Waiting in Disk (uninterruptible sleep)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Z&lt;/code&gt;: Zombie&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;T&lt;/code&gt;: Stopped&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;START&lt;/code&gt;: Shows the time when the process started.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;TIME&lt;/code&gt;: Indicates when a process needs the CPU to calculate things.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;COMMAND&lt;/code&gt;: Displays the command name or program associated with the process.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each row in the output represents a different process running on the system, and each column provides specific information about that process.&lt;/p&gt;

&lt;p&gt;You can also see the system-wide process by adding &lt;code&gt;x&lt;/code&gt; to the command above like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps aux
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above will return the same result in the image but longer. Test it and see 😉.&lt;/p&gt;

&lt;p&gt;Also, you can combine the command above with &lt;code&gt;grep&lt;/code&gt; to look for any troublesome process:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps aux | &lt;span class="nb"&gt;grep &lt;/span&gt;process_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above will return only the process you specified. Also, you can use the &lt;code&gt;man&lt;/code&gt; command to learn more about the &lt;code&gt;ps&lt;/code&gt; command like so:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;man ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command above will return a detailed description of things you can do with the &lt;code&gt;ps&lt;/code&gt; command (I can't possibly cover all 🤲🏾)&lt;/p&gt;

&lt;p&gt;In the next section, we will understand how to manage the system processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Daemons
&lt;/h2&gt;

&lt;p&gt;In Linux, system processes, often referred to as daemons (pronounced "dee-mons" 🫵🏾), are background processes that run continuously. They perform various tasks essential for the proper functioning of the operating system or provide specific services to users or other programs. &lt;/p&gt;

&lt;p&gt;Let's explore some key points you need to remember about daemons in Linux.&lt;/p&gt;

&lt;h3&gt;
  
  
  Background Processes
&lt;/h3&gt;

&lt;p&gt;Daemons typically run in the background and do not require direct user interaction. They are detached from the controlling terminal and often start automatically when the system boots up.&lt;/p&gt;

&lt;h3&gt;
  
  
  System Services
&lt;/h3&gt;

&lt;p&gt;Daemons provide various system services, such as handling network requests, managing hardware devices, monitoring system performance, and executing scheduled tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  No User Interface
&lt;/h3&gt;

&lt;p&gt;Unlike regular user applications, daemons usually do not have a graphical user interface (GUI) and interact with the system through configuration files, command-line tools, or specific application programming interfaces (APIs).&lt;/p&gt;

&lt;h3&gt;
  
  
  Control and Management
&lt;/h3&gt;

&lt;p&gt;System administrators can control and manage daemons using various tools provided by the operating system. These tools include commands like &lt;code&gt;systemctl&lt;/code&gt; and &lt;code&gt;service&lt;/code&gt; and configuration files located in directories like &lt;code&gt;/etc/init.d&lt;/code&gt; or &lt;code&gt;/etc/systemd&lt;/code&gt;.&lt;/p&gt;

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

&lt;p&gt;Some common examples of daemons in Linux include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;httpd (Apache)&lt;/code&gt;: A web server daemon that serves web pages over the HTTP protocol.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sshd (OpenSSH)&lt;/code&gt;: A daemon that provides secure shell (SSH) access to the system for remote administration.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cron&lt;/code&gt;: A daemon to schedule and execute periodic tasks or commands.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;syslogd/rsyslogd&lt;/code&gt;: Daemons responsible for logging system messages.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;NetworkManager&lt;/code&gt;: A daemon that manages network connections.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As you can now see, daemons play a crucial role in the Linux ecosystem by providing essential services and maintaining the stability and functionality of the operating system.&lt;/p&gt;

&lt;p&gt;Now that you understand daemons, let's explore some related commands, how to use them, and what they do in the next section.&lt;/p&gt;

&lt;h2&gt;
  
  
  Managing System Services with
&lt;/h2&gt;

&lt;p&gt;Linux provides the &lt;code&gt;systemctl&lt;/code&gt;, an extensive command for managing system services. Here are some essential &lt;code&gt;systemctl&lt;/code&gt; commands with Apache web server examples:&lt;/p&gt;

&lt;h3&gt;
  
  
  Start a Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command starts the specified service. For example, &lt;code&gt;sudo systemctl start apache2&lt;/code&gt; starts the Apache web server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stop a Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl stop &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command stops the specified service. For example, &lt;code&gt;sudo systemctl stop apache2&lt;/code&gt; stops the Apache web server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Restart a Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command stops and then starts the specified service. For example, &lt;code&gt;sudo systemctl restart apache2&lt;/code&gt; restarts the Apache web server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reload a Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl reload &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command reloads the configuration of the specified service without stopping it. For example, &lt;code&gt;sudo systemctl reload apache2&lt;/code&gt; reloads the configuration of the Apache web server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enable a Service to Start on Boot
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable&lt;/span&gt; &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command configures the specified service to start automatically at boot time. For example, &lt;code&gt;sudo systemctl enable apache2&lt;/code&gt; enables the Apache web server to start on boot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Disable a Service from Starting on Boot
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl disable &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command disables the specified service's automatic startup at boot time. For example, &lt;code&gt;sudo systemctl disable apache2&lt;/code&gt; disables the Apache web server from starting on boot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the Status of a Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   systemctl status &amp;lt;service_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command displays the current status of the specified service. It provides information about whether the service is running, its PID, and any recent log messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  List All Services
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   systemctl list-units &lt;span class="nt"&gt;--type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command lists all available services on the system and their status (active, inactive, or failed).&lt;/p&gt;

&lt;p&gt;These &lt;code&gt;systemctl&lt;/code&gt; commands are essential for managing services on an Ubuntu system, allowing you to start, stop, restart, enable, disable, reload, and check the status of services.&lt;/p&gt;

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

&lt;p&gt;And that's it! You just learned how to manage processes on your Linux server. You also learned and practiced many concepts, including processes, foregrounding, backgrounding, and much more.&lt;/p&gt;

&lt;p&gt;You also explored &lt;code&gt;ps&lt;/code&gt; and &lt;code&gt;systemctl&lt;/code&gt; commands, including but not limited to what they are, how to use them, and what their results mean.&lt;/p&gt;

&lt;p&gt;Please feel free to leave a comment to correct, suggest, or even teach me something new! 😉 &lt;/p&gt;

&lt;p&gt;Finally, remember to follow me here on Dev, &lt;a href="https://www.linkedin.com/in/adams-adebayo/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="//x.com/olodocoder"&gt;Twitter&lt;/a&gt;. Thank you so much for reading, and I'll see you in the next one!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>cloud</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
