<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ writing tips - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ writing tips - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 27 Jul 2026 17:33:11 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/writing-tips/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Boost Your Creativity – Strategies for Generating Ideas and Overcoming Writer's Block ]]>
                </title>
                <description>
                    <![CDATA[ Do you ever find yourself stuck when it comes to writing or unable to come up with creative solutions to a problem? Don’t worry—you are not alone. Everyone experiences writer's block or a lack of creativity at some point. At times, as writers, we may... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-overcome-writers-block-and-boost-creativity/</link>
                <guid isPermaLink="false">66b9f47c148b506e83d90adb</guid>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ijeoma Igboagu ]]>
                </dc:creator>
                <pubDate>Mon, 24 Apr 2023 19:46:18 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/04/Boost-Your-Creativity-Tools-for-Generating-Ideas-and-Overcoming-Writer-s-Block---Presentation--1-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Do you ever find yourself stuck when it comes to writing or unable to come up with creative solutions to a problem? Don’t worry—you are not alone. Everyone experiences writer's block or a lack of creativity at some point.</p>
<p>At times, as writers, we may be really eager to write about a particular topic, only to be hindered by a mental block that makes it difficult to articulate our thoughts effectively. Despite our passion for writing, we may struggle to develop a cohesive idea that aligns with our intentions. </p>
<p>This common phenomenon is often referred to as "<strong>writer's block</strong>," and it affects not only book or article writers but also songwriters.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/04/writer-block.gif" alt="Image" width="600" height="400" loading="lazy"></p>
<p>In this article, we will explore tools that can help writers generate titles aligned with their intentions and also optimize the title for search engine optimization (SEO). Additionally, we will discuss causes and strategies for overcoming writer's block.</p>
<h2 id="heading-what-is-writers-block">What is Writer's Block?</h2>
<p>Writer's block is a temporary condition that impedes a writer's ability to produce new written content or causes a significant decrease in creativity and productivity.</p>
<p>This form of mental paralysis can hinder progress on any project or piece of writing, making it difficult to focus, find inspiration, and stay motivated. The resulting frustration can often lead to procrastination and a sense of being stuck, ultimately hindering the completion of a project within the desired timeframe.</p>
<h2 id="heading-what-are-the-causes-of-writers-block">What Are the Causes of Writer's Block?</h2>
<p>Various factors can lead to writer's block, such as:</p>
<ol>
<li><strong>Stress</strong>: High levels of stress or exhaustion can make it difficult for writers to concentrate and come up with fresh ideas.</li>
<li><strong>Fear or self-doubt</strong>: Writers struggle with anxiety and self-doubt, which can make it difficult to feel motivated and productive. If you're currently experiencing this type of writer's block, you're not alone.</li>
<li><strong>Lack of inspiration</strong>: Writers may struggle to find new and creative ideas. It's common for writers to face challenges, which result in a lack of motivation and a feeling of being <em>stuck</em>.</li>
<li><strong>Environmental factors</strong>: External factors such as noise or interruptions can disrupt a writer's concentration and hinder their ability to produce quality work.</li>
<li><strong>Perfectionism</strong>: Some writers strive for perfection and may become overwhelmed by the pressure to create flawless content, resulting in difficulty getting started or completing a project.</li>
<li><strong>Physical or mental health issues</strong>: As the saying goes, health is wealth. Medical conditions such as depression, anxiety, or chronic pain can affect a writer's ability to focus and be productive.</li>
<li><strong>Network Issue</strong>:  such as low bandwidth or internet disruptions, can cause distractions, and frustrations, and ultimately lead to procrastination. As a result, by the end of the day, you may forget what you had intended to write about initially.</li>
</ol>
<h2 id="heading-how-do-you-overcome-writers-block-and-boost-your-creativity">How Do You Overcome Writer's Block and Boost Your Creativity?</h2>
<ol>
<li><strong>Free writing</strong>: keep a journal and write without any expectations or limitations. Simply jot down whatever comes to mind without worrying about grammar or structure. This technique can help generate new ideas and inspire your writing. I use this technique often and find that it helps me overcome writer's block and get started on a new piece.</li>
<li><strong>Take a break</strong>: Stepping away from your work for a short period of time can help refresh your mind and provide a new perspective. When you come back to your writing, you may have a fresh perspective or renewed energy that can help you overcome writer's block and move forward with your project.</li>
<li><strong>Change your environment</strong>: This can also help stimulate creativity. Being in a new location can provide fresh inspiration and break up the monotony of writing in the same place. Consider working in a new setting or taking your writing outdoors to help overcome writer's block. This can help you get inspired.</li>
<li><strong>Try something new</strong>: Experimenting with a new genre, style, or format can spark fresh ideas and inspiration. This strategy has been recommended to me by my sister, and I have found it helpful in breaking out writer's block.</li>
<li><strong>Practice self-care</strong>: Taking care of your physical and mental health is crucial in reducing stress and anxiety, which can hinder creativity and productivity. Prioritizing activities such as exercise, healthy eating, and mindfulness practices can help improve focus and promote a positive mindset, thereby stimulating your mind, and ultimately overcoming writer's block.</li>
<li><strong>Reading Widely</strong>: This exposes you to a variety of writing styles. It can help broaden your perspective, increase knowledge, and spark new ideas. Reading can help overcome writer's block and boost creativity. Additionally, reading widely can also improve your writing skills by observing and learning from other writers' techniques and styles.</li>
<li><strong>The Art of Brainstorming</strong>: This can unleash a flood of ideas and inspire creativity by gathering a diverse group of individuals and fostering an environment that encourages the generation of ideas without criticism or judgment.</li>
<li><strong>Get organized</strong>: When faced with writer's block, getting organized can help clear your mind and provide structure, making it easier to focus and get your creative juices flowing.</li>
</ol>
<h2 id="heading-tools-to-help-to-you-overcome-writers-block">Tools to Help to You Overcome Writer's Block</h2>
<p>There are tools available that can help you generate ideas for articles. This can help you prevent episodes of writer's block.</p>
<h3 id="heading-article-idea-generatorhttpswwwarticleideageneratorcom"><a target="_blank" href="https://www.articleideagenerator.com/">Article Idea Generator</a>:</h3>
<p>This tool uses advanced algorithms and natural language processing to suggest a variety of SEO-optimized article topics based on user input. </p>
<p>Since it's open-source, it also allows for customization to suit individual writing styles, making it a personalized solution for beating writer's block.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/04/chrome_RvHRof0gWA.gif" alt="Image" width="600" height="400" loading="lazy">
<em>[<strong>Article Idea Generator</strong>](https://www.articleideagenerator.com/" rel="noopener noreferrer nofollow)</em></p>
<h3 id="heading-freedomhttpsfreedomto"><a target="_blank" href="https://freedom.to/">Freedom</a></h3>
<p>This application assists you in getting rid of distractions by preventing certain websites and apps from interfering with your writing process.</p>
<p>By concentrating solely on your writing, you may be able to overcome writer's block and produce better-quality work. </p>
<p>It's worth noting that Freedom has both free and paid versions, and you need to sign up to access all of its features. Additionally, you can download the application to your device.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/04/freedom1-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>[<strong>Freedom</strong>](https://freedom.to/" rel="noopener noreferrer nofollow)</em></p>
<h3 id="heading-headline-generatorhttpswwwcontentrowcomtoolsheadline-generator"><a target="_blank" href="https://www.contentrow.com/tools/headline-generator">Headline Generator</a></h3>
<p>The Headline Generator generates attention-grabbing and SEO-friendly titles for social media posts and YouTube captions by analyzing keywords. It saves time, sparks new ideas, and increases engagement and readership. Content creators can use it to boost their online presence.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/04/chrome_c2eHVeiMxU.gif" alt="Image" width="600" height="400" loading="lazy">
<em>[<strong>Headline Generator</strong>](https://www.contentrow.com/tools/headline-generator" rel="noopener noreferrer nofollow)</em></p>
<h3 id="heading-prowritingaidhttpsprowritingaidcom"><a target="_blank" href="https://prowritingaid.com/">ProWritingAid</a></h3>
<p>This is an online writing tool that can enhance your writing with suggestions for grammar and style, as well as readability analysis. </p>
<p>By utilizing this tool, you can overcome writer's block and improve the quality of your work. However, you need to sign up to access all of the features.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/04/prowritingaid.png" alt="Image" width="600" height="400" loading="lazy">
<em>[<strong>ProWritingAid</strong>](https://prowritingaid.com/" rel="noopener noreferrer nofollow)</em></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Writer’s block can be a frustrating and daunting experience for anyone, regardless of skill level. It can sap your creativity and leave you feeling stuck and unmotivated.</p>
<p>Luckily, there are plenty of tools out there to help you overcome writer’s block, boost your creativity, and stay productive.</p>
<p>These are just a few examples of the numerous software tools available to help prevent writer's block. Ultimately, the best tool for you will depend on your individual needs and preferences as a writer.</p>
<p>Keep exploring different tools and trying new things until you find what works best for you.</p>
<p>With some patience and determination, you find yourself writing with renewed energy and enthusiasm.</p>
<p>Here's a helpful article you can read about the power of rest and how it helps you be more creative:</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://tealfeed.com/power-rest-why-taking-breaks-key-if53r">https://tealfeed.com/power-rest-why-taking-breaks-key-if53r</a></div>
<p>If you found this article helpful, please consider sharing it with other Technical writers who may benefit from it.</p>
<p>If you're interested in reading more of my articles, feel free to check out <a target="_blank" href="https://ijaycent.hashnode.dev/">my blog</a>. Additionally, you can connect with me on <a target="_blank" href="https://twitter.com/ijaydimples">Twitter</a> and <a target="_blank" href="https://www.linkedin.com/in/ijeoma-igboagu/">LinkedIn</a> to stay up-to-date on my latest work.</p>
<p><strong>Thanks for reading💖</strong></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Google Docs Strikethrough – How to Cross Out Text in Google Docs ]]>
                </title>
                <description>
                    <![CDATA[ When you're writing, sometimes you might want to strike through certain text. This means adding a horizontal line that runs through a piece of text.  Here is what it looks like: you are an awesome person.  These are various use cases for strikethroug... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/google-docs-strikethrough-how-to-cross-out-text-in-google-docs/</link>
                <guid isPermaLink="false">66b0a2b77cd8dca6718a2240</guid>
                
                    <category>
                        <![CDATA[ Google Docs ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ihechikara Abba ]]>
                </dc:creator>
                <pubDate>Thu, 14 Apr 2022 17:49:37 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/04/siriwan-arunsiriwattana-gs0coXLmjdI-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>When you're writing, sometimes you might want to strike through certain text. This means adding a horizontal line that runs through a piece of text. </p>
<p>Here is what it looks like: you are an awesome person.</p>
<p> These are various use cases for strikethroughs:</p>
<ul>
<li>To indicate that a piece or block of text that should be deleted.</li>
<li>To indicate that a piece or block of text is outdated.</li>
<li>To show task completion. This is usually seen in To-Do lists.</li>
<li>To convey an unrelated or humorous message when writing, and so on.</li>
</ul>
<p>In this article, we'll see how to strikethrough or cross out text when writing using Google Docs.</p>
<h2 id="heading-how-to-strikethrough-text-in-google-docs">How to Strikethrough Text in Google Docs</h2>
<p>There are two methods we can use when crossing out text in Google Docs – using a shortcut command or choosing the strikethrough option from the Format tab in the Google Docs header section. </p>
<h3 id="heading-how-to-strikethrough-text-in-google-docs-using-a-shortcut-command">How to Strikethrough Text in Google Docs Using a Shortcut Command</h3>
<p>Here are the steps to follow when using a shortcut command to strikethrough text in Google Docs:</p>
<ul>
<li>Open <a target="_blank" href="https://docs.google.com/">Google Docs</a> and create a blank document.</li>
<li>Write some text in your document. </li>
<li>Highlight the text you've written.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/gdocs.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li>On windows, press <code>Alt</code> + <code>Shift</code> + <code>5</code>.</li>
<li>On Mac, press <code>⌘</code> + <code>Shift</code> + <code>X</code>.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/gdocs_strikethrough.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>There you go, we have used a shortcut command to cross out text in Google Docs. </p>
<h3 id="heading-how-to-strikethrough-text-in-google-docs-using-the-format-tab">How to Strikethrough Text in Google Docs Using the Format Tab</h3>
<p>In this section, we'll see how we can strikethrough text in Google Docs using the Format option. Here are the steps:</p>
<ul>
<li>Open <a target="_blank" href="https://docs.google.com/">Google Docs</a> and create a blank document.</li>
<li>Write some text in your document. </li>
<li>Highlight the text you've written.</li>
<li>Click on the <code>Format</code> tab in the header.</li>
<li>Click on <code>Text</code>.</li>
<li>Click on the <code>Strikethrough</code> option.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/gdocs_tab.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>After you have done this, your text should be crossed out.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article, we talked about strikethroughs in writing, their use cases and how to strikethrough/cross out text in Google Docs.</p>
<p>Thank you for reading! But really, thank's for reading! :)</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Get Headings and IDs for Your freeCodeCamp Blog Post Table of Contents ]]>
                </title>
                <description>
                    <![CDATA[ By Scott Spence In this post we're going to get all the headings from a freeCodeCamp blog post to make a Table of Contents (ToC) in Ghost CMS. I recently published quite a large post here on freeCodeCamp and needed to add a table of contents to the p... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-get-headings-and-ids-for-your-freecodecamp-blog-posts/</link>
                <guid isPermaLink="false">66d8522a981549ab9e803f07</guid>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ freeCodeCamp.org ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 07 Jan 2022 21:31:15 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/01/brett-jordan-M9NVqELEtHU-unsplash-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Scott Spence</p>
<p>In this post we're going to get all the headings from a freeCodeCamp blog post to make a Table of Contents (ToC) in Ghost CMS.</p>
<p>I recently published <a target="_blank" href="https://www.freecodecamp.org/news/build-your-developer-portfolio-from-scratch-with-sveltekit-and-graphcms/">quite a large post</a> here on freeCodeCamp and needed to add a table of contents to the post.</p>
<p>There's a really good supporting post written by Colby Fayock on how to do this. It details the process really clearly.</p>
<p>You can check out the video and really comprehensive guide on that for all the details: </p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.freecodecamp.org/news/how-to-add-a-table-of-contents-to-your-blog-post-or-article/">https://www.freecodecamp.org/news/how-to-add-a-table-of-contents-to-your-blog-post-or-article/</a></div>
<p>Colby's post details why you would want a Table of Contents (ToC) and how to create one using the Ghost editor (the editor used for writing this post in the Ghost CMS).</p>
<p>The thing is, I had 33 headings in the post I needed to add links for. And the thought of scrolling through a 10,000 word document to get a heading then scroll to the top to add it to the table of contents made me wonder if there was a better way to do it!</p>
<h3 id="heading-table-of-contents">Table of contents:</h3>
<ul>
<li><a class="post-section-overview" href="#heading-javascript-to-the-rescue">JavaScript to the rescue!</a></li>
<li><a class="post-section-overview" href="#heading-get-the-element-properties">Get the element properties</a></li>
<li><a class="post-section-overview" href="#heading-get-the-element-id-and-innertext">Get the element id and <code>innerText</code></a></li>
<li><a class="post-section-overview" href="#heading-filter-on-the-localname">Filter on the <code>localName</code></a></li>
<li><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></li>
</ul>
<h2 id="heading-javascript-to-the-rescue">JavaScript to the rescue!</h2>
<p>With this thought in mind I did a quick search and found a <a target="_blank" href="https://stackoverflow.com/a/7115083/1138354">Stack Overflow</a> answer that I could use. Here's the snippet:</p>
<pre><code class="lang-js"><span class="hljs-keyword">var</span> ids = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'[id]'</span>);

<span class="hljs-built_in">Array</span>.prototype.forEach.call( ids, <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"> el, i </span>) </span>{
  <span class="hljs-comment">// "el" is your element</span>
  <span class="hljs-built_in">console</span>.log( el.id ); <span class="hljs-comment">// log the ID</span>
});
</code></pre>
<p>So, let's hop on over to the browser now and try that out.</p>
<p>I'll go over to that published post now in the browser and open the developer tools. (In Chrome and Edge it's F12 to open the dev tools.) Then I'll paste in that example code into the console and hit enter, here's the output:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-42.png" alt="The browser window with the dev tools open and the code snippet run showing all the element ids on the page" width="600" height="400" loading="lazy"></p>
<h2 id="heading-get-the-element-properties">Get the element properties</h2>
<p>Not bad but I want the heading title as well, so one quick way to see the properties of the elements is to wrap the <code>el</code> in some curly braces:</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> ids = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'[id]'</span>);

<span class="hljs-built_in">Array</span>.prototype.forEach.call(ids, <span class="hljs-function">(<span class="hljs-params">el</span>) =&gt;</span> {
  <span class="hljs-built_in">console</span>.log({el});
});
</code></pre>
<p>You'll notice I've cleaned up the function a bit, replacing the inline function with an arrow function and replaced <code>var</code> with <code>let</code> so the syntax is more modern.</p>
<p>Running that snippet in the browser now gives me the object for each element:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-43.png" alt="The browser page with the dev tools open on the console showing the individual elements as objects" width="600" height="400" loading="lazy"></p>
<p>I can then expand out one of the elements now to get all the properties relating to it. From here I'm going to want to get the <code>id</code> (which I already know was there) and also the <code>innerText</code> which is the heading title:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-45.png" alt="The browser page with the dev tools open on the console with one of the element objects expanded to show all the properties" width="600" height="400" loading="lazy"></p>
<h2 id="heading-get-the-element-id-and-innertext">Get the element <code>id</code> and <code>innerText</code></h2>
<p>Let's add the <code>innerText</code> element to the snippet we're working with and see what that looks like now. Here's the snippet:</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> ids = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'[id]'</span>);

<span class="hljs-built_in">Array</span>.prototype.forEach.call(ids, <span class="hljs-function">(<span class="hljs-params">el</span>) =&gt;</span> {
  <span class="hljs-built_in">console</span>.log(el.id);
  <span class="hljs-built_in">console</span>.log(el.innerText);
});
</code></pre>
<p>And here's the output we get from that:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-46.png" alt="The browser page with the dev tools open on the console showing all the innerText from every element with an id" width="600" height="400" loading="lazy"></p>
<p>Ok, so that is really noisy as it's showing the <code>innerText</code> of every element in the document with a lot of irrelevant information on there. All we're really interested in is the title of the heading and it's id.</p>
<h2 id="heading-filter-on-the-localname">Filter on the <code>localName</code></h2>
<p>All the headings I use in the post are <code>h2</code> headings so I want a way to filter that. So from the <code>{el}</code> properties I'll need to grab the <code>localName</code> which denotes the type of the element <code>h2</code> in the case here.</p>
<p>So let's use an <code>if</code> function to see if the <code>localName</code> includes <code>h2</code> and if it does log that out. I'll also use a template literal to add the anchor id <code>#</code> to the beginning of the id:</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> ids = <span class="hljs-built_in">document</span>.querySelectorAll(<span class="hljs-string">'[id]'</span>);

<span class="hljs-built_in">Array</span>.prototype.forEach.call(ids, <span class="hljs-function">(<span class="hljs-params">el</span>) =&gt;</span> {
  <span class="hljs-keyword">if</span> (el.localName.includes(<span class="hljs-string">`h2`</span>)) {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`#<span class="hljs-subst">${el.id}</span>`</span>);
    <span class="hljs-built_in">console</span>.log(el.innerText);
  }
});
</code></pre>
<p>Let's take a look at the output now:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/image-47.png" alt="The browser page with the dev tools open on the console with the if function to filter on h2 elements" width="600" height="400" loading="lazy"></p>
<p>Much nicer!</p>
<p>Now I can use that output to start making my ToC!</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/8UnglHuuVTA" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-conclusion">Conclusion</h2>
<p>We took what could be quite an extended process and turned it into a handy snippet we can use in the browser console every time we need to create a ToC for our blog posts.</p>
<p>That's it, hope you found it useful! 🙏</p>
<p>If you like the content you can check out much more from me on my <a target="_blank" href="https://scottspence.com/">blog</a> and you can follow me on <a target="_blank" href="https://twitter.com/spences10">Twitter</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Delete a Page in Word – Remove Blank or Extra Pages ]]>
                </title>
                <description>
                    <![CDATA[ If you're using Microsoft Word, you don't want blank pages appearing in the middle of your document, or extra pages at the end.  These extra pages could be caused by tables, hitting the ENTER key too many times, unnecessary section breaks, unintentio... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-delete-a-page-in-word-remove-blank-or-extra-pages/</link>
                <guid isPermaLink="false">66adf114f452caf50fb1fdf9</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ how-to ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Fri, 15 Oct 2021 16:49:29 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/10/blank-page-in-word.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're using Microsoft Word, you don't want blank pages appearing in the middle of your document, or extra pages at the end. </p>
<p>These extra pages could be caused by tables, hitting the <code>ENTER</code> key too many times, unnecessary section breaks, unintentional page breaks, extra paragraph markers, and more.</p>
<p>You don’t want your Word document to look unprofessional because of this quirk, so in this article I'll show you how to delete blank and extra pages in Word.</p>
<p>I will be using Microsoft Office 2016 in this tutorial, but you can follow along with any version, as pretty much the same thing applies to all versions.</p>
<h2 id="heading-how-to-delete-a-blank-page-in-the-middle-of-a-word-document">How to Delete a Blank Page in the Middle of a Word Document</h2>
<p>If you are working with a large word document and you are about to present it or print it, it’s a good idea to check for blank pages and an extra final page. </p>
<p>To do this, press <code>CTRL</code> + <code>SHIFT</code> + <code>8</code>, or go to the Home tab and click the paragraph icon.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-1-4.jpg" alt="ss-1-4" width="600" height="400" loading="lazy"></p>
<p>This key combination displays paragraph markers (¶) at the end of every paragraph and each blank line – basically, whenever you hit the <code>ENTER</code> key, and at the beginning of the extra blank page. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/10/show-blank-pages.gif" alt="show-blank-pages" width="600" height="400" loading="lazy"> </p>
<p>To remove these extra pages, highlight the paragraph markers with your mouse or trackpad and hit the <code>DELETE</code> button. If one of the markers remains there, remove it with the <code>BACKSPACE</code> key.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/remove-the-blank-pages.gif" alt="remove-the-blank-pages" width="600" height="400" loading="lazy"></p>
<p>If you have the patience, you can also remove the blank page(s) by going to the blank pages and hitting the <code>BACKSPACE</code> key until the paragraph markers disappear.</p>
<h2 id="heading-how-to-delete-an-extra-blank-page-in-a-word-document">How to Delete an Extra Blank Page in a Word Document</h2>
<p><strong>Step 1</strong>: To delete an extra blank page that might get added at the end of your document, click the <code>View</code> tab:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-2-5.jpg" alt="ss-2-5" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Go to the Navigation Pane. This will display a sidebar containing 3 tabs – <code>Headings</code>, <code>Pages</code>, and <code>Results</code>. Click on <code>Pages</code> to display all the pages of the document in the sidebar.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-3b.jpg" alt="ss-3b" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-4-4.jpg" alt="ss-4-4" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: The active page will be automatically selected. Click the extra blank page to select it and hit the <code>DELETE</code> button on your keyboard to remove it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/10/delete-extra-page.gif" alt="delete-extra-page" width="600" height="400" loading="lazy"></p>
<p>You can also remove this extra blank page by simply pressing the <code>BACKSPACE</code> key.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article, you learned how to remove blank pages in Word, so you can make your documents appear more professional.</p>
<p>Thank you for reading. If you find this article helpful, please share it with your friends and family.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Writing Tips for Software Developers – How to Become a Better Tech Writer ]]>
                </title>
                <description>
                    <![CDATA[ By Karl Hughes You might think that software development is all about writing code, but that's not true. A huge part of the job is communicating with others. And as we all move towards more remote work, written communication is becoming increasingly ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/writing-tips-software-developers/</link>
                <guid isPermaLink="false">66d45f648812486a37369cd9</guid>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 18 Aug 2021 16:48:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/08/writing-tips.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Karl Hughes</p>
<p>You might think that software development is all about writing code, but that's not true. A huge part of the job is communicating with others. And as we all move towards more remote work, <a target="_blank" href="https://stackoverflow.blog/2021/08/09/how-writing-can-advance-your-career-as-a-developer/">written communication is becoming increasingly important</a>.</p>
<blockquote>
<p>“In their ﬁrst few years on the job, engineers spend roughly 30% of their workday writing, while engineers in middle management write for 50% to 70% of their day; those in senior management reportedly spend over 70% and as much as 95% of their day writing.” - Jon Leydens</p>
</blockquote>
<p>Last year, I left my career as a software engineering manager and CTO to start writing full-time. After a decade in engineering I was ready for a career change, so with six months of savings in the bank, I decided to take the plunge.</p>
<p>I'm happy to say that it's gone really well, and my company was recently <a target="_blank" href="https://techcrunch.com/2021/07/29/draft-dev-ceo-karl-hughes-on-the-importance-of-using-experts-in-developer-marketing/">featured on TechCrunch for our technical writing work</a>.</p>
<p>I had written blog posts and tutorials on the side for years before starting Draft.dev, so I was pretty confident in my writing skills. But I've learned a lot since going out on my own. I've also met a number of excellent mentors and peers who gave me their advice for writing along the way.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/08/brad-neathery-XrSzacdYbtQ-unsplash.jpg" alt="Person writing in a notebook" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@bradneathery?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"&gt;Brad Neathery on &lt;a href="https://unsplash.com/s/photos/write?utm_source=unsplash&amp;utm_medium=referral&amp;utm<em>content=creditCopyText)</em></p>
<p>In this post, I want to share a few of the writing tips I regularly share with other software developers. These will help you get over <a target="_blank" href="https://en.wikipedia.org/wiki/Resistance_(creativity)"><em>the resistance</em></a> that all new writers face and hopefully give you the confidence to start writing sooner rather than later.</p>
<h2 id="heading-1-start-by-writing-about-what-you-know">1. Start by Writing About What You Know</h2>
<blockquote>
<p>“No one started off as a great writer. Start writing about the things you currently know and share them with the community. You'll be surprised how many lives you'll impact.” - Eze Sunday, Software Developer and Technical Writer</p>
</blockquote>
<p>In order to become a better writer, you have to do it more often. This is true of any skill, but it can be especially hard with writing because you can't just string random words together on a page. You have to write about <em>something</em>.</p>
<p>The most common piece of advice for overcoming this barrier is to <strong>start writing about things you already know</strong>.</p>
<p>Daniel Phiri, who does Developer Relations at <a target="_blank" href="https://strapi.io/">Strapi</a>, told me, "Start with a problem you just solved no matter how trivial you think it is." </p>
<p>He went on to point out that even if the topic has been written about extensively already, your piece can be different. "Writing is about perspective and as unique as we all are as humans, so are our perspectives." </p>
<p>Eze Sunday reiterated this idea: "Yes, there are a lot of articles. But, there are not a lot of good articles that will explain things the way you would love it to be explained to you if you were just starting out."</p>
<h2 id="heading-2-focus-on-a-few-high-quality-pieces">2. Focus on a Few, High-Quality Pieces</h2>
<p>"Quality trumps quantity," James Hickey told me. "Focus on writing high-quality articles vs. a bunch of <em>ok</em> articles...No one will be impressed when your content is just <em>ok</em>."</p>
<p>James is a senior .NET Developer, Microsoft MVP, author, and speaker with eight young children at home, so finding time to write is always a challenge. His solution is to be very selective about the writing he takes on, but when he gets into a topic, he goes deep. </p>
<p>You can see this in his work, like <a target="_blank" href="https://resources.fabric.inc/blog/ecommerce-data-model">this one on e-commerce data models</a> that hit the front page of Hacker News.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/08/More-complex-orders-data-model.png" alt="Image" width="600" height="400" loading="lazy">
<em>Diagrams from James Hickey's post on e-commerce data models</em></p>
<p>I've similarly found that some of my most popular blog posts are the ones that went really deep into a topic. </p>
<p>For example, one of the most popular pieces on my personal blog is <a target="_blank" href="https://www.karllhughes.com/posts/api-development">this 4,500-word guide to API development</a>. I'll admit, I write a lot of shorter pieces, but there's something to be said for being thorough.</p>
<h2 id="heading-3-perfect-is-the-enemy-of-good-enough">3. Perfect is the Enemy of Good Enough</h2>
<p>On the flip side, don't let your drive to produce the best content possible stop you from hitting the "publish" button. </p>
<p>Dan Moore, who runs <a target="_blank" href="https://letterstoanewdeveloper.com/">Letters to a New Developer</a> and Developer Relations at FusionAuth, offered up this suggestion:</p>
<blockquote>
<p>"Perfect is the enemy of the good enough. To combat that, I like to timebox and then publish even if the piece isn't perfect...Maybe your post won't hit the front page of Hacker News, but I guarantee that if you don't publish it, no one will read it."</p>
</blockquote>
<p>Many new writers get too caught up in the mechanics rather than the structure and organization of their ideas. To be honest, readers are more likely to forgive spelling and grammar errors as long as they can follow your logic.</p>
<p>Keanan Koppenhaver, CTO at Alpha Particle, told me that being overly reliant on perfect grammar might even hurt your work by making it sound too robotic:</p>
<blockquote>
<p>“It's easy to get caught up in trying to make your writing the best it can possibly be: with perfect grammar, great sentence structure, etc. I've used tools like <a target="_blank" href="https://hemingwayapp.com/">Hemingway Editor</a> to make my writing 'technically correct' and when I re-read my work, it comes out sounding stale and like it was produced by AI.”</p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/08/rock-n-roll-monkey-R4WCbazrD1g-unsplash.jpg" alt="Robot photo" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@rocknrollmonkey?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"&gt;Rock'n Roll Monkey on &lt;a href="https://unsplash.com/s/photos/robot?utm_source=unsplash&amp;utm_medium=referral&amp;utm<em>content=creditCopyText)</em></p>
<h2 id="heading-4-set-aside-time-to-write-regularly">4. Set Aside Time to Write Regularly</h2>
<blockquote>
<p>“You’ll want to treat [writing] like any habit and set aside time. One thing I’ve found useful is to write first thing in the morning, maybe even get up a little earlier. I was not a “morning person,” but still found this to be when I had the most writing energy. Nothing else at that point has taken my mental energy.” - Adam DuVander, Founder of EveryDeveloper</p>
</blockquote>
<p>I've said this before, but I'll continue to reiterate the point: <strong>in order to become a better writer, you have to do it more regularly</strong>. This looks different for everyone though.</p>
<p>Personally, <a target="_blank" href="https://draft.dev/learn/technical-content">I block writing time on my calendar every week</a>. I found that I do my best work when I'm focused on writing for 4-8 hours rather than trying to cram it into little breaks throughout my day.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/08/y1V3iiX.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Of course, not everyone works the same way. <a target="_blank" href="https://www.stephaniemorillo.co/">Stephanie Morillo</a>, a Technical Communications Specialist, makes writing fit into shorter windows.</p>
<blockquote>
<p>"I use timeboxes: if I know I have to write a talk or a blog post, I'll set aside multiple 30-minute blocks throughout the course of a day or a few days and will sit down and write."</p>
</blockquote>
<p>She pointed out that these smaller chunks of time are more realistic for her schedule and it allows her to make progress and increase her output: "If you write 10 words or 100 words or 1,000 words in a day, you're still making progress toward your goal."</p>
<p>Another strategy is to make writing a daily habit. Alex Lakatos, who runs the Developer Avocados newsletter, did a daily writing challenge for part of last year:</p>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/lakatos88/status/1321423080095469568"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<p>The point is that every person is different and there's no one-size-fits-all approach to setting aside writing time. "The biggest thing is finding a time where your brain can focus and has the creativity to actually get your thoughts down in a coherent way," Keanan Koppenhaver told me.</p>
<h2 id="heading-5-manage-your-expectations">5. Manage Your Expectations</h2>
<blockquote>
<p>"It is, of course, nice to have your writing read by others, but there's tremendous value in writing for yourself, and you're guaranteed an audience. So, write for yourself first and foremost." - Dan Moore</p>
</blockquote>
<p>It's hard not to get caught up in the thrill of having something you write go viral. I've published hundreds of blog posts in the past 10 years and just <a target="_blank" href="https://hackernoon.com/how-i-hit-the-front-page-of-hacker-news-5-times-x81n3uyp">five of them have hit the front page of Hacker News</a>. This is not an impressive hit rate.</p>
<p>This is why you should primarily be writing for yourself. You don't even need to publish things publicly as Stephanie Morillo pointed out to me:</p>
<blockquote>
<p>“Keep a journal and write notes about work, your day, your life, your emotions. Journaling gives you the opportunity to write without being self-conscious because you're not writing with an audience in mind; you're doing it for yourself.”</p>
</blockquote>
<p>Finally, it's important to keep your goals in mind when you start writing. Are you simply writing to record your own learnings? Are you trying to promote a book or course or product? Do you need to get paid to write or is it just for fun? </p>
<p>Adam DuVander pointed out that being honest with yourself about these expectations is critical. "Decide whether it’s a side thing or a main thing," he told me. "You can make either work, but you’ll want to set your expectations appropriately...There are a lot of ways to use writing in an engineering career."</p>
<h2 id="heading-conclusion">Conclusion</h2>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/thebkh/status/1337781548918190082"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<p>As Brian Kofi Hollingsworth says above, you won't get better at something unless you start doing it. Whether you want to use writing to advance your career, make side income, or help others in the community, you have to start doing it more if you want to get better.</p>
<p>What tips do you have for software developers who are looking to become better writers? I'd love to <a target="_blank" href="https://twitter.com/KarlLHughes">hear from you on Twitter</a> if you've got something to add!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Create an Email Newsletter – Design, Layout, Send ]]>
                </title>
                <description>
                    <![CDATA[ If you manage a large community, chances are you need a way to communicate updates to your members quickly and efficiently. An email newsletter can be a very effective way to do so. In this article, I am going to provide some tips and suggestions for... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-an-email-newsletter-design-layout-send/</link>
                <guid isPermaLink="false">66ac7f3423cc28a03a55e084</guid>
                
                    <category>
                        <![CDATA[ email ]]>
                    </category>
                
                    <category>
                        <![CDATA[ email marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ newsletters ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Naomi Carrigan ]]>
                </dc:creator>
                <pubDate>Thu, 13 May 2021 21:19:40 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/05/pexels-anthony-shkraba-5206271.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you manage a large community, chances are you need a way to communicate updates to your members quickly and efficiently. An email newsletter can be a very effective way to do so.</p>
<p>In this article, I am going to provide some tips and suggestions for maximizing the impact of your email newsletter: open rates, click-through rate, and not irritating your recipients.</p>
<p>I will also share some technical details and configurations you can use to maximize the deliverability of your email newsletter.</p>
<h2 id="heading-how-to-write-an-impactful-subject-line">How to Write an Impactful Subject Line</h2>
<p>Your subject line is the first thing your readers will see when the email appears in their inbox. It's important, then, that you use something eye catching that encourages them to read the message.</p>
<h3 id="heading-what-to-include-in-the-subject-line">What to Include in the Subject Line</h3>
<p>Your subject line should provide a brief summary of the email content or highlight the key information. Some examples would be:</p>
<blockquote>
<p>Learn Data Structures and Algorithms [free 6-hour coding course]</p>
</blockquote>
<p>This headline comes from one of Quincy's email newsletters, and calls out the first article out of a weekly curated list of five articles.</p>
<blockquote>
<p>Our Community Reached 3,000 Members - Here's What's Next</p>
</blockquote>
<p>Here the headline provides a clear summary of the email's content – an update on the community's success and future plans.</p>
<blockquote>
<p>The Observatory #4: Gravity is the key to community growth</p>
</blockquote>
<p>Pulled from an <a target="_blank" href="https://orbit.love">Orbit</a> newsletter, this subject line has two benefits: Like the others, it summarizes the content of the email. It also helps readers recognize this email as a serial newsletter, and track the number to ensure they have not missed one.</p>
<h3 id="heading-what-to-exclude-from-the-subject-line">What to Exclude from the Subject Line</h3>
<p>You want to avoid headlines which are vague, uninformative, or may seem like spam.</p>
<blockquote>
<p>Click Here! Important Information Within!</p>
</blockquote>
<p>Avoid words and phrases such as <code>click here</code>, <code>urgent</code>, <code>important</code>, and <code>priority</code>. These types of subject lines are often used in spam emails, and can cause your readers to disengage.</p>
<blockquote>
<p>April 2020 Community Update</p>
</blockquote>
<p>While this subject is not going to seem like spam, it is also vague and uninformative. You want your subject to catch the reader's attention and be unique.</p>
<blockquote>
<p>Top Picks Just For You</p>
</blockquote>
<p>Another vague subject line, this one also gives off a "click-bait" vibe. This type of subject line doesn't hook your readers or entice them in to reading your full email.</p>
<h2 id="heading-how-to-craft-an-effective-email-body">How to Craft an Effective Email Body</h2>
<p>The body of your email is where your core content will go. Having a well written and effective email body is essential.</p>
<h3 id="heading-html-vs-plain-text-in-emails">HTML vs. Plain Text in Emails</h3>
<p>Using HTML in your email can make it look nice, certainly. However, HTML emails are more likely to be flagged as spam by the receiving providers.</p>
<p>Plain text emails are generally safer, though they offer less functionality. Additionally, a plain text email will ensure maximum compatibility with all devices, and ensure that your email can be viewed even over slower internet connections.</p>
<p>HTML, on the other hand, offers a much higher level of customization in terms of layout, content, and functionality. You can even implement things like interaction tracking to see who is opening (open rate), reading, and clicking on links in your email (click-through rate). Whether these features are worth the potential impact to delivery is or not is up to you.</p>
<h3 id="heading-how-to-handle-links-in-emails">How to Handle Links in Emails</h3>
<p>Speaking of links, there are some special considerations when it comes to handling links in your email. The key idea is to keep your links easily readable and verifiable.</p>
<p>One important aspect is the transparency of your links. You want to avoid using things like URL shorteners that hide the domain the link points to. Keeping your link's target clear ensures that your readers can trust the safety of the link.</p>
<p>Many sending providers offer click-tracking features, where they will provide metrics on how many of your readers click the links within your email.</p>
<p>While these metrics may seem useful, they do come at a cost – usually the links are obfuscated through a redirect via the provider's domain. This decreases the chance that your readers will click the link.</p>
<h3 id="heading-unsubscribe-links">Unsubscribe Links</h3>
<p>If your email is considered commercial material (marketing, advertisements, and so on.), having an unsubscribe link is <em>required</em>. If it is a transactional (receipt, account updates) or relationship (communicating with existing contacts) email, then an unsubscribe link is not necessarily required but is still strongly recommended.</p>
<p>Having an unsubscribe link allows your recipients to quickly and easily opt-out of receiving future communications. While it may not seem ideal to lose your reader base, it is much better than having your emails flagged as spam (which can impact your sender reputation and cause future emails to anyone with that email provider to be blocked).</p>
<p>Your unsubscribe link does not need to be prominent or featured – a simple link with the text "Unsubscribe" at the bottom of your email is often sufficient.</p>
<h3 id="heading-content-and-layout-of-your-emails">Content and Layout of Your Emails</h3>
<p>The content and layout of your email body are also very important. If you are using plain text to send your email, then your biggest consideration will be the length of your paragraphs. In general, shorter paragraphs are easier to read than a "wall of text", and will help your readers stay engaged with the content.</p>
<p>If you are using HTML, then you have some additional obstacles to consider.</p>
<p>For example, including images may seem very tempting as they can make the email look more visually appealing. But each image increases the time it takes for the email to render on the reader's device, and images aren't as accessible for those who use screen readers as plain text is.</p>
<p>Remember that images should add to the content, not detract from the information.</p>
<p>Another aspect to consider when using HTML is the semantic structure. To avoid any rendering errors or accessibility concerns, you will want to keep your HTML semantically correct. I recommend using an <a target="_blank" href="https://validator.w3.org/">HTML Validator</a> before sending the email to ensure you don't have any errors.</p>
<p>Content length itself is also important. You don't want to overwhelm your readers with too much information in a single email. If you have a lot of content you want to share, consider making a blog post or news article – then, link that article in your email with a brief summary of the content.</p>
<h3 id="heading-how-to-sign-off-in-an-email">How to Sign Off in an Email</h3>
<p>The signature of your email is just as important as the main content. Signing off your email lets your readers know who sent it, and gives you the opportunity to close out the content.</p>
<p>You should include your name and your role within your organization, so that your readers see that the email came from a person. This creates the impression that it is a more personal communication and not an automatically generated email.</p>
<p>Finally, the signature and conclusion also give you the chance to thank your readers for their time. It is good to recognize that your readers took time out of their day to read your content. Time is valuable, and your readers have given you theirs.</p>
<h2 id="heading-technical-aspects-of-email-newsletters">Technical Aspects of Email Newsletters</h2>
<p>Now that you've drafted your first newsletter, you need to address the technical concerns. Namely, you'll need to figure out how you'll send this newsletter.</p>
<h3 id="heading-choose-a-sending-provider">Choose a Sending Provider</h3>
<p>The first question to answer is what will you use to send this email? It is entirely possible to set up and run your own Secure Mail Transfer Protocol (SMTP) server, but that can be a significant investment of time and resources.</p>
<p>Instead, there are a number of providers that will handle sending the emails for you. Here at freeCodeCamp we use <a target="_blank" href="https://www.sendgrid.com">SendGrid</a>. Most providers will offer an API to request that emails be sent, or a UI to prepare your emails. Then they will handle the actual send process for you.</p>
<p>While these providers can get expensive at higher volumes, often times the cost is worth the access to additional features such as email validation and bounce report tracking.</p>
<h3 id="heading-set-up-email-authentication">Set up Email Authentication</h3>
<p>Another important technical aspect is email verification and authentication, especially if you are using a custom domain.</p>
<p>How does a provider such as Gmail confirm that the email has legitimately come from your organization and not someone pretending to be you?</p>
<p>There are a couple of security steps you can take to ensure that your emails are delivered while spoofed emails are not.</p>
<ul>
<li><p><strong>Sender Policy Framework (SPF):</strong> You can use an SPF setting to validate that the mail server is authorized to send emails from your email domain. SPF is enabled via a <code>TXT</code> record in your domain settings. The content of that record will depend on the system you are using to send those emails.</p>
</li>
<li><p><strong>DomainKeys Identified Mail (DKIM):</strong> You can use DKIM to assert that the email message has not been modified in transit from the sending server to the receiving server. DKIM records are set up in your domain settings either as a <code>TXT</code> record or a <code>CNAME</code> record, depending on your provider. These records will indicate the public encryption/decryption keys.</p>
</li>
<li><p><strong>Domain Message Authentication, Reporting, and Conformance (DMARC):</strong> The final step, after enabling SPF and DKIM, is to set up a DMARC record. The DMARC record tells email providers what to do if an email from your domain fails SPF or DKIM, where to send delivery reports, and how often to apply the DMARC policy. A DMARC record is added as a <code>TXT</code> record to your domain settings, as <code>_dmarc.yourdomain.tld</code>.</p>
</li>
</ul>
<p>Congratulations. Now that you have read this article, you should have a basic understanding of how to create and send your first email newsletter. I hope you found this article helpful.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Voice and Tone in the freeCodeCamp Community's Publication ]]>
                </title>
                <description>
                    <![CDATA[ When you're writing an article to publish on the freeCodeCamp community publication, it's important to keep in mind how you're saying what you're saying.  What are we talking about here? We're referring to your voice and your tone. These two aspects ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/voice-and-tone-in-freecodecamp-publication/</link>
                <guid isPermaLink="false">66c3649d09a9333511bcdb33</guid>
                
                    <category>
                        <![CDATA[ freeCodeCamp.org ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 12 May 2021 02:40:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/05/pexels-gezer-amorim-2293558.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>When you're writing an article to publish on the freeCodeCamp community publication, it's important to keep in mind <strong>how</strong> you're saying what you're saying. </p>
<p>What are we talking about here? We're referring to your <strong>voice</strong> and your <strong>tone</strong>. These two aspects of your writing can have a strong effect on how people react to your articles, how much they enjoy reading them, and whether or not they'll get through the whole thing.</p>
<p>So let's talk about voice and tone a bit more to help you develop yours so you can write educational, encouraging, and interesting tutorials for the developer community.</p>
<h2 id="heading-how-to-develop-your-voice-as-a-writer">How to Develop Your Voice as a Writer</h2>
<p>When you're writing, there are a number of things that come together to create your voice. So what do we mean when we say "voice"? Well, it's how you sound when you write – the language you use, how you phrase things, your writing style, and so on.</p>
<p>As you write more and more, you'll develop a stronger, more distinctive voice. Think of your favorite authors, or one you might have studied in school. Sometimes you feel like you could recognize their voice if you heard them speaking. That's what you want to develop as a writer for freeCodeCamp's publication.</p>
<p>Your writing voice is something that you don't really want to change. Once you've established how you write, try to stay consistent and keep writing in that style. That way, readers know what to expect when they read your articles and they'll feel comfortable with the way you write.</p>
<p>And here's something to keep in mind: the people reading your articles will often be learning to code, learning a new skill, looking for a job, or trying to level up in their current position.</p>
<p>Many of these readers are busy adults who have other jobs, families, and full lives outside of learning to code. So you want to engage them, welcome them into your article, and make them feel comfortable and interested.</p>
<p>Here's one more important tip about voice: it's usually better to write in active voice rather than passive voice. This gives the agency to the doer of the action, and it's a more powerful way to write.</p>
<p>So instead of saying something like "Now the project can be deployed", say "Now you can deploy the project". This keeps the focus on the reader and makes it clear that they're the ones doing the action.</p>
<p>If you want to read some articles by authors who have developed very strong voices, check out <a target="_blank" href="https://www.freecodecamp.org/news/author/colbyfayock/">Colby's articles</a> and <a target="_blank" href="https://www.freecodecamp.org/news/author/estefaniacn/">Estefania's articles</a>. These are just a couple examples – many freeCodeCamp authors have successfully found their own clear voices (and <a target="_blank" href="https://www.freecodecamp.org/news/author/quincylarson/">Quincy, freeCodeCamp's founder</a>, has one of the most recognizable writing voices of all).</p>
<h3 id="heading-an-example-of-active-vs-passive-voice">An example of active vs passive voice</h3>
<p>Let's look at another example of how to use active voice in your writing. Here's a paragraph that uses a lot of passive voice. See what it sounds like when you read it aloud:</p>
<blockquote>
<p>For aspiring web developers, HTML, CSS, and JavaScript should be studied. Once courses are taken, articles are read, and projects are built, the subjects will be learned thoroughly. It's especially important to build things with the skills you're learning, because that allows the knowledge to be cemented in your mind.</p>
</blockquote>
<p>Instead of writing something like the above (which, admittedly, went a little overboard with the passive voice for demonstration purposes), try something like this:</p>
<blockquote>
<p>If you're an aspiring web developer, you should study HTML, CSS, and JavaScript. After you've taken some courses, read some articles, and built some projects, you'll learn these subjects thoroughly. It's especially important to build things with the skills you're learning, because it will help cement that knowledge in your mind.</p>
</blockquote>
<p>Why is this better? Well, first of all it uses action verbs and places the reader at the center of the action (the reader is often the subject). The language is also more powerful and direct, and it flows more naturally and isn't stilted or awkward.</p>
<h2 id="heading-how-to-think-about-tone-in-your-writing">How to Think About Tone in Your Writing</h2>
<p>Tone is a bit different from voice, as it can change depending on what you're writing, who your audience is, and the feeling you're trying to convey.</p>
<p>If you're trying to sell a product, for example, you'd want your tone to sound authoritative, hopeful, maybe a bit intriguing – because you want people to trust and want to buy what you're selling.</p>
<p>If you're telling a story of a personal accomplishment, you want your tone to sound joyful, celebratory, expansive, and confident – but not boastful or hubristic. After all, you want to impart that feeling of success while still encouraging others and lifting them up with you.</p>
<p>If you're telling the story of how you got your first job in tech, you might sound excited and encouraging. If you're explaining how to use some particular syntax in Python, you might want to sound practical, informative, and engaging.</p>
<p>This is not to say you can't use different tones in the same article. Even if you're writing a deep technical guide, you can still bring in some levity and humor to keep readers engaged. </p>
<h3 id="heading-an-example-of-how-to-use-different-tones-in-your-writing">An example of how to use different tones in your writing</h3>
<p>Let's look an example of a couple short paragraphs that display different tones.</p>
<p>First, let's pretend that you're writing a React tutorial, and you want to sound authoritative, knowledgable, and encouraging. You might write something like this:</p>
<blockquote>
<p>In this tutorial, I'm going to teach you all the basics of React so you can use it confidently in your projects. You'll learn all about state, hooks, components, and other foundational React concepts. By the end of this article, you'll be able to build your own React app with x, y, and z features.</p>
</blockquote>
<p>Pretty straightforward and to the point, but it provides clear information, tells the reader what they'll be able to accomplish, and gets right down to business.</p>
<p>How about an inspirational or personal story – what should that sound like? Well, you'll want to make sure you sound conversational, approachable, and engaging. Why would your reader care about your story? You want them to be able to relate to what you're saying and feel connected to it. Something like this:</p>
<blockquote>
<p>When I graduated college, I knew I wanted to go to grad school to study archaeology. So I did – but things didn't turn out as I planned. After a couple career twists and turns, I found freeCodeCamp, started volunteering as an editor for the community's publication, and eventually got hired on full-time. Here's how it happened.</p>
</blockquote>
<p>Hopefully this would make you curious and draw you in so that you would keep reading. </p>
<h2 id="heading-how-to-choose-the-right-tone-for-freecodecamps-publication">How to Choose the Right Tone for freeCodeCamp's Publication</h2>
<p>When writing for the freeCodeCamp community's publication, your tone should stay positive, encouraging, and helpful. Avoid sounding disparaging and negative, as that sort of writing doesn't have a place in News. </p>
<p>Here are some tips to help you develop a helpful and positive tone in your articles.</p>
<h3 id="heading-write-like-youre-talking-to-a-friend">Write like you're talking to a friend</h3>
<p>When you're explaining a technical concept, pretend you're talking to a friend. Imagine how you'd explain it to a buddy or colleague, and then write that down. While it might need a bit of editing to tighten it up, this is a good start.</p>
<p>You probably wouldn't yell at your friend or make them feel stupid. You'd think about how to break the concept down into understandable chunks so they could learn and retain it. Then you'd explain and describe that concept in plain language you'd use in everyday conversation.</p>
<p>If you approach your articles in a similar way, it will help you keep your writing casual, simple, and relaxed. The publication is not an academic journal, and you don't need to be overly formal in your writing. Make it approachable and friendly when you can.</p>
<p>Even though it's best to keep your language simple and straightforward, it's helpful to maintain a basic level of professionalism and polish. After all, you want people to take your articles seriously and recognize them as helpful and insightful resources. So avoid too much slang, informal speech (keep the "LOLs" to a minimum), and so on.</p>
<p>But again, don't be afraid to use humor when it's appropriate – everyone can use a little chuckle now and then. And when you're reading through a long technical tutorial, sometimes the best mental break is a quick laugh. Don't force it, but if it comes naturally to you, let it flow.</p>
<p>So how should this language look? Well, for the most part it looks like the language in this article. Whenever a freeCodeCamp team member writes an article for our community's publication, we try to maintain a similar tone – generally casual, authoritative, positive, and helpful.</p>
<h3 id="heading-use-you-instead-of-we">Use "You" Instead of "We"</h3>
<p>When you're writing a step-by-step tutorial, it's easy to want to involve yourself. You might say "First, we need to install VS Code, since we'll use this as our code editor." But "you" is a powerful word, and it's more effective to use "you" than "we".</p>
<p>Just think of it as giving instructions directly to your reader – "First, you need to install VS Code, since you'll use this as your code editor." It's more direct, and focuses the reader on what they're doing. After all, you hope that they're coding along with your tutorial.</p>
<p>You can use "we", of course, if it's appropriate for the context – just don't overuse it, especially in step-by-step guides.</p>
<p>And on a related note, don't use "one" as a pronoun (like "To do this, one has to add the following code..."). It's overly formal and stilted, and can be a bit off-putting for the reader. Instead, always use "you" (or in rarer cases, "we", as discussed here).</p>
<p>How might this look in a more extensive example? Compare this:</p>
<blockquote>
<p>Alright, today we're going to build a Twitter clone. We'll go through all the steps we need to build the app, and in the end we'll have a fully-functioning social app. We won't get into the details of x or y, as they're a bit out of our scope. But we'll learn everything we need to know to finish the project.</p>
</blockquote>
<p>With this:</p>
<blockquote>
<p>Today, I'm going to teach you how to build a Twitter clone. You'll go through all the steps you need to know to build the app, and in the end you will have a fully functioning social app. We won't get into the details of x or y, as they're a bit out of the scope of this tutorial. But you'll learn everything you need to know to finish the project.</p>
</blockquote>
<p>You can see how the emphasis is on the reader in the second paragraph - "You will do this", or "You will learn" and so on. This makes the reader think of themselves, what they can do, what they're learning, and what they're getting out of the tutorial. </p>
<p>It's implied that you're going to walk them through it – so you don't need to include yourself with "we" unless it's a general statement about circumstances or something similar (how I said "We won't get into the details of x or y..." above in the second example).</p>
<h3 id="heading-keep-it-positive-and-relatively-pg">Keep it positive, and relatively PG</h3>
<p>freeCodeCamp is a friendly, welcoming, and inclusive community. The free resources we provide are open to everyone everywhere, and we want to make sure our articles, tutorials, and videos are accessible to all.</p>
<p>Because of this, we want the articles we publish to be free from negative language, gatekeeping, overly sarcastic language, and any hurtful or offensive remarks. The articles we publish on the publication are meant to be educational, inspiring, helpful, and encouraging – so your tone should reflect that.</p>
<p>No one should feel stupid or embarrassed when reading your articles. They should feel inspired, curious, and ready to dive in deeper. </p>
<p>Even if your reader is a complete beginner and might be in over their heads, your tone and language shouldn't discourage them or turn them away. Help them know what to expect by writing a clear introduction to the topic, laying out any prerequisites or requirements you have of them before they start, and so on. </p>
<p>And finally, it should go without saying that there's no room for hate speech, racism, bashing or belittling others, swearing, or trolling in the freeCodeCamp community. So keep all that out of your writing.</p>
<p>Let's see an example of how NOT to write:</p>
<blockquote>
<p>If you want to understand Redux, you need to be smart. After all, it's hard, especially for people who don't have a CS degree. Older devs might not understand Redux, either, because they're just not mentally quick enough.  </p>
<p>Obviously, you'll need to go through tutorials and courses and build a project with it to learn it thoroughly – duh. Just don't be an idiot and skip the fundamentals.</p>
</blockquote>
<p>Ok – DON'T write like that! I hope it's clear why this is overly negative, condescending, gatekeeping, and just generally offensive.</p>
<p>Remember – keep it positive, encouraging, clear, and educational!</p>
<h2 id="heading-thanks-for-reading-and-happy-writing">Thanks for reading, and happy writing!</h2>
<p>Want to know more about how to craft a great article? The freeCodeCamp community's publication <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">has a Style Guide</a> full of writing tips and publication guidelines.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Become a Technical Writer ]]>
                </title>
                <description>
                    <![CDATA[ By Edidiong Asikpo Technical writing helps you share your technical knowledge and experience with others. It also helps you reinforce your knowledge of the topic you're writing about while demonstrating your technical abilities and talents. In this a... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-become-a-technical-writer/</link>
                <guid isPermaLink="false">66d45e4273634435aafcef7e</guid>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Apr 2021 20:06:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/Writing.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Edidiong Asikpo</p>
<p>Technical writing helps you share your technical knowledge and experience with others. It also helps you reinforce your knowledge of the topic you're writing about while demonstrating your technical abilities and talents.</p>
<p>In this article, I will explain what you need to know to become a technical writer. We'll learn about what technical writing is, the skills you need, how to become a technical writer, and tips to help you become really good at it.</p>
<h2 id="heading-what-is-technical-writing">What is technical writing?</h2>
<p>We can define technical writing in a number of different ways. But the definition by <a target="_blank" href="https://grammar.yourdictionary.com/">Grammar</a> is the most helpful and explains exactly what technical writing is all about:</p>
<blockquote>
<p>"Technical writing is a type of writing where the author writes about a particular subject that requires direction, instruction, or explanation."</p>
</blockquote>
<p>Simply put, technical writing involves straightforward, easy-to-understand explanations of and instructions for a particular subject.</p>
<h2 id="heading-what-skills-should-technical-writers-have">What skills should technical writers have?</h2>
<p>A common assumption among many would-be writers is that they can't write well because they were not born with the gift or skill of writing. This raises the question: are writers born or made?</p>
<p>I was curious to know what other people thought about this popular myth, so I <a target="_blank" href="https://twitter.com/Didicodes/status/1263889432597409798?s=20">tweeted</a> about it.</p>
<p>It was fascinating to read everyone's opinion on this popular myth. Most people said they believe writers were born, while others disagreed and said writers were made. Interestingly, another set of people thought writers were both born and made. Crazy right?</p>
<p>I am sure you are curious to know what I think about this, so I will tell you. 😉</p>
<p>I believe that anybody, whether born with some sort of innate ability or not, can learn how to become a great writer. I know that I wasn't born with the gift of writing, so I decided to be more intentional about learning how to write.</p>
<p>Truth be told, most of the technical writers you see today likely had to develop or learn specific skills to become good at writing.</p>
<p>Now to the point 😃, here are five essential skills you should develop to be a successful technical writer:</p>
<h2 id="heading-know-how-to-write">Know How to Write</h2>
<p>I know it might be confusing to see that writing is one of the skills required to be a technical writer. You might think that technical writing and writing are the same, but <strong>they are not.</strong></p>
<p>Think of <strong>writing</strong> in general as the process of using symbols (letters of the alphabet, punctuation, and spaces) to communicate thoughts and ideas in a readable form. <strong>Technical writing</strong>, on the other hand, is the more specific process of sharing or conveying your ideas, views, instructions, and suggestions logically and technically.</p>
<p>The first and most important skill every technical writer needs to be able to write in their preferred language for communication. For example, if you intend to use English to write technical articles, you need to understand how to compose words and communicate with the English Language.  </p>
<p>Want to get better at writing? Follow the steps below: </p>
<ul>
<li>Learn the grammar and language rules for your preferred language for communication.</li>
<li>Understand the power of illustrations in writing.</li>
<li>Read more! Trust me, reading will help you expand your vocabulary.</li>
<li>Most importantly, write using your preferred language of communication.</li>
</ul>
<h2 id="heading-know-your-audience">Know Your Audience</h2>
<p>Identifying, understanding, and tailoring your content for a specific audience will make your articles or documentation stand out. That's why you <strong>need to know your audience.</strong></p>
<p>When you understand the audience, you will be able to tailor your article to meet their needs and automatically pass the message effectively.</p>
<p>So, how can you get to know your target audience?</p>
<h3 id="heading-ask-yourself-questions-about-your-readers">Ask yourself questions about your readers</h3>
<p>You need to ask yourself questions like: "who are my readers, and why are they reading the article? What do they expect from it?" </p>
<p>For instance, before I started writing this article, I asked myself these questions and came up with the answers below:</p>
<ul>
<li>Who are they? People that want to become technical writers</li>
<li>Why are they reading this article? To learn the necessary skills needed to become a technical writer.</li>
<li>What are they expecting? Everything they need to get started and eventually become technical writers: skills, tips, steps, advice and more!</li>
</ul>
<p>Once, I figured out the answer to these questions, I was able to identify my audience, and it was beginners. This helped me tailor this article to benefit you.</p>
<h3 id="heading-use-the-right-terms">Use the right terms</h3>
<p>If you are writing an article for beginners, you should use terms that are easy to understand. You can also add concrete examples to help your readers understand you.</p>
<h3 id="heading-give-your-article-or-documentation-a-helpful-titlename">Give your article or documentation a helpful title/name</h3>
<p>Name your articles in a descriptive and helpful way. </p>
<p>For example, don't name an article “A Deep Dive Into Understanding React” (when the content is about Rendering Elements in React), and risk disappointing readers who were expecting to learn everything about React after reading your article. </p>
<p>Instead, come up with a specific title that describes exactly what you wrote in your article like “How to Render Elements in React”.</p>
<h2 id="heading-develop-your-technical-skills">Develop Your Technical Skills</h2>
<p>As a technical writer, your goal will be to help readers understand highly complex processes or concepts in a straightforward way.</p>
<p>To achieve this, you'll need to be familiar with the topic you're writing about. That means if you want to write a technical article or documentation on React.js, you should be able to use React personally.</p>
<p>I'll end this section with this popular quote by Albert Einstein:</p>
<blockquote>
<p>If you can't explain it to a six-year-old, you don't understand it yourself.</p>
</blockquote>
<p>This quote also echoes the need to understand the technical details of your topic thoroughly before explaining it to someone else.</p>
<h2 id="heading-be-able-to-do-good-research">Be Able to Do Good Research</h2>
<p>Yes! Technical writers don't know everything. So even though you might be familiar with a technology, sometimes you'll have to research a language or framework to understand it better before you start writing about it.</p>
<p>This will make sure that your text is accurate and communicates the necessary data most efficiently. You definitely don't want to be sharing false or confusing information.</p>
<h3 id="heading-how-should-you-go-about-conducting-research">How should you go about conducting research?</h3>
<p>Researching involves asking questions on your preferred search engine, reaching out to someone who is knowledgeable about the subject matter (if you know any), or reading a book.</p>
<p>If you decide to follow the <strong>search engine route</strong>, ask questions targeted at what you want to discover. For instance, if you want to learn about how to use the GSAP ScrollTrigger Plugin in React, your question should follow this format <em>"How can I use GSAP ScrollTrigger Plugin in React"</em>.</p>
<p>If you decide to <strong>ask someone</strong> knowledgeable about the subject matter<strong>,</strong> always be polite and go straight to the point. Instead of saying "<em>Hi</em>" and waiting for the person to respond before asking your question, you can follow this format:</p>
<p>"<em>Hi Rita, my name is Edidiong</em>. <em>I</em> know you are very knowledgeable about using the GSAP ScrollTrigger Plugin. I have seen some of your CodePen demos over the years and they all looked really amazing. I'd love to know how can I manipulate the GSAP tween to make the animations trigger on the scroll? I'd totally understand if you can't respond because of your busy schedule but I will be glad if you do."</p>
<p>You might think that this was a pretty long message, but it covered the most important things: your name, your admiration of their work, what you need, and that you understand that you are not entitled to the person's time.</p>
<p>There's also an option of <strong>reading a book</strong> during the research phase. To do this you can go to a library or find a book online and read it. </p>
<h2 id="heading-develop-a-unique-voice">Develop a Unique Voice</h2>
<p>Have you ever wondered why people drop comments like <em>"wow, I've finally understood this concept thanks to your article"</em> or <em>"I read other articles but I didn't understand this concept until I read yours, thank you!"</em> on an article? </p>
<p>If you ask me, I'd say its because the author's unique voice spoke to them in a way others didn't.   </p>
<p><strong>What does this mean?</strong> It means everyone is <strong>unique.</strong></p>
<p>So, if two devs write about the same topic, some readers will understand one of their articles more than they understand the other. While others will understand the second article more than the understand the first. <strong>Why?</strong> Because they both have a unique voice that will work for some people and not for others. </p>
<h3 id="heading-so-how-can-you-develop-a-unique-voice">So, how can you develop a unique voice?</h3>
<p>By staying true to yourself, and letting your thoughts flow freely as a writer instead of copying other writers' content. Yes, get inspired by others. But don't forget who you are!   </p>
<p>The truth is, people learn in different ways and your content might be what one developer is hoping to read before they finally understand a concept.</p>
<p>Now that we've discussed the basic skills you need to become a good technical writer, I should point out that these skills can be learned over time. Please don't wait until you have all of them to start writing – go ahead and give it a try.</p>
<h2 id="heading-how-to-become-a-technical-writer">How to become a technical writer</h2>
<p>Now, let's talk about how to become a technical writer. 💃🏽</p>
<blockquote>
<p>The secret of getting ahead is getting started.  - Mark Twain</p>
</blockquote>
<p>Yes, I had to start with Mark Twain's quote because it is something we all need to remember when we take up a new challenge. Deciding to become a technical writer is great, but putting in the necessary work to get started is even greater.</p>
<p>Let's talk about four important things you need to do to become a technical writer.</p>
<h3 id="heading-take-a-course-in-technical-writing">Take a course in technical writing</h3>
<p>Technical writing is an in-demand skill, and employers want to hire the best writer for their team. Taking a course on technical writing is highly underrated, but it is essential because you will discover many tips that will help you become a better writer. </p>
<p>My technical writing skills significantly improved after I took a <a target="_blank" href="https://developers.google.com/tech-writing">technical writing course</a> from Google, and I highly recommend you take the course (or something similar) as well.</p>
<h3 id="heading-read-books-and-tech-articles">Read books and tech articles</h3>
<blockquote>
<p>Read a thousand books, and your words will flow like a river.  - Lisa See</p>
</blockquote>
<p>Reading is essential because it will help you enrich your vocabulary, keep you abreast of current trends, discover what's going on in the writing world, and also helps keep the spirit of writing alive.</p>
<p>For this, I highly recommend reading tech-related articles from sites on <a target="_blank" href="https://www.freecodecamp.org/news">freeCodeCamp</a>, <a target="_blank" href="https://hashnode.com">Hashnode</a>, <a target="_blank" href="https://writingcooperative.com">The Writing Cooperative</a>, and others.</p>
<h3 id="heading-start-writing">Start writing</h3>
<blockquote>
<p>You learn to write by writing, and by reading and thinking about how writers have created their characters and invented their stories. If you are not a reader, don't even think about being a writer.  - Jean M. Auel</p>
</blockquote>
<p>Even if you take all the technical writing courses and read all the tech articles you can find, that won't make you a writer. You need to actually write to be a writer. </p>
<p>You might be wondering how you can actually start writing. Well, I'll tell you.</p>
<p>First, you need to think of a topic you want to write about. Then you should carry out the necessary research, write a draft of the article, and proofread the article (more than once). When you're ready, you can finally publish the article on your blog.</p>
<p>You don't need to build your blog from scratch because it takes a bunch of time and will distract you from your actual focus, which is writing. In my case, I created my <a target="_blank" href="http://edidiongasikpo.com/">blog</a> with <a target="_blank" href="https://hashnode.com/@didicodes/joinme/">Hashnode</a> because it is super fast, has a strong community, and allows you to map the blog to your domain.</p>
<p>After you've gotten comfortable with writing, you can apply to become a guest author on freeCodeCamp. If you get approved, you can publish articles on the platform and reach a wide audience.</p>
<h3 id="heading-stay-consistent">Stay consistent</h3>
<p>Writing consistently plays a huge role in helping you become a better writer. It unlocks your productivity, transforms your perspective, and builds your confidence.</p>
<blockquote>
<p>You don't start out writing good stuff. You start out writing crap and thinking it's good stuff, and then gradually you get better at it. That's why I say one of the most valuable traits is persistence.  - Octavia E. Butler</p>
</blockquote>
<p>Just like every other skill, you get better at writing when you keep writing consistently. Aim to write at least one article every month, and you will be shocked at how your writing skills will improve if you keep doing it consistently.</p>
<p>If you need some accountability with your consistency as a technical writer, you can try the <a target="_blank" href="https://hashnode.com/2articles1week">#2Articles1Week Writing Challenge</a>. </p>
<h3 id="heading-what-is-the-2articles1week-challenge">What is the #2Articles1Week Challenge?</h3>
<p>The goal of this challenge is to encourage technical writers to define their writing goals, understand writing standards, and most importantly become consistent at writing.</p>
<p>Participants are expected to publish a <strong>minimum of 2 articles per week for 4 weeks</strong> on their blog. If you do this, you will be able to create and publish 8 articles on your blog in just one month. Amazing, right? 😉</p>
<p>I've seen a lot of people talk about the benefits of participating in this challenge and I believe it will help you kick off writing consistently.</p>
<h3 id="heading-contribute-to-open-source-projects">Contribute to Open Source projects</h3>
<p>The documentation for Open Source projects is arguably just as important as the software itself. So if you're a technical writer, you can contribute in a significant way to a project because <strong>humans can't use what they don't understand.</strong></p>
<p>Yes, you may be working on a project or for an open-source organization for free. But Open Source contributions can help you improve your writing skill, expand your network, and help you get recommendations and referrals from the maintainers.</p>
<p>It can also help increase your chances of getting accepted into the Google Season of Docs program. </p>
<h3 id="heading-what-is-google-season-of-docs-and-why-is-it-important">What is Google Season of Docs and why is it important?</h3>
<p>Season of Docs is an annual program organised by Google. Its goal is to bring technical writers and open source organisations together to foster collaboration and improvement of documentation in the Open Source space.</p>
<p>This initiative is extremely important because the documentation of an Open Source project provides an avenue for users to not only understand the project but also make contributions to it.</p>
<p>During the program, accepted technical writers spend between 3-5 months either building a new doc set, improving the structure of the existing docs, developing a much-needed tutorial, or improving the contribution processes and guides of an Open Source organisation.</p>
<p>The interesting thing about this program is that <strong>you can get paid between $3000 - $15000</strong> to contribute to Open Source projects as a technical writer. You'll also stand a higher chance of joining the Technical Writing team at Google and possibly get retained by the Open Source organisation to keep working as a technical writer after the program is over. </p>
<h2 id="heading-6-technical-writing-tips-to-help-you-start-writing">6 Technical Writing Tips to Help You Start Writing</h2>
<p>Here are some things to remember when you've completed your first draft your next article:</p>
<ul>
<li>Follow a <a target="_blank" href="https://developers.google.com/tech-writing/resources">style guide</a> when writing. It helps you stay on track and follow the best writing principles.</li>
<li>Make your paragraphs short so they support a single idea. Don't cram everything into one paragraph.</li>
<li>Write short, clear, and precise sentences because simplicity is the ultimate sophistication.</li>
<li>After writing your first draft, read your content out loud while assuming you are the reader. This will help you spot things that can be rephrased.</li>
<li>Edit your first draft only when you are focused.</li>
<li>Seek feedback by consulting with experts in the field you are writing about because no technical writer knows every technical detail about every topic.</li>
</ul>
<h2 id="heading-summary">Summary</h2>
<p>Technical writing continues to be a highly coveted skill in the professional workplace. Demand is <a target="_blank" href="https://www.bls.gov/ooh/media-and-communication/technical-writers.htm">expected to grow</a> at least 10% from 2014 to 2024.</p>
<p>Writing, like many other crafts, takes years of practice to hone. The best part of writing is that you can see your improvement. You can look at your previous works and see how much better you've gotten over time if you work at it.</p>
<p>Also, technical writers have the great benefit of becoming lifelong learners because they need to be well-versed in whatever field or topic they are writing about to communicate the content clearly to readers. I strongly encourage you not just to start this journey but also to stay consistent with your writing as well.</p>
<p>That's all, folks! I hope this was helpful? If yes, follow me on <a target="_blank" href="https://twitter.com/Didicodes">Twitter</a> to access more contents like this. </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Technical Blogging Basics – How to Write Articles as a Developer ]]>
                </title>
                <description>
                    <![CDATA[ Software developers work on designing, coding, testing, and delivering the software we use every day. And whatever that developer's particular specialty, they know a lot about a lot of things – which means they should share that knowledge.  Publishin... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/technical-blogging-basics/</link>
                <guid isPermaLink="false">66be0020eb957b90783c1c6d</guid>
                
                    <category>
                        <![CDATA[ blog ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tapas Adhikary ]]>
                </dc:creator>
                <pubDate>Thu, 15 Apr 2021 16:35:42 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/freeCodeCamp-Cover-3.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Software developers work on designing, coding, testing, and delivering the software we use every day. And whatever that developer's particular specialty, they know a lot about a lot of things – which means they should share that knowledge. </p>
<p>Publishing articles and creating video content are great ways to share what we learn as developers. You may have your own blog or you may write for a publication. In either case, you should follow specific processes to write well and feel great about it.</p>
<p>This article will cover the fundamentals of blogging to help you write great articles while not dropping the ball as a developer.</p>
<h1 id="heading-tldr">TL;DR</h1>
<p>This tweet summarizes most of the points at a high level. However, we will talk about some real-life experiences and learning how to blog in more detail. Please keep reading and enjoy.</p>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/tapasadhikary/status/1378224989288062982"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<h1 id="heading-know-your-purpose">Know your purpose</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/intent.png" alt="Image" width="600" height="400" loading="lazy">
<em>Know your purpose</em></p>
<p>We all need a purpose when we start something and the motivation to continue it. The intent behind our actions and our motivation may be different for everyone. You need to find your intent or purpose that explains why you want to start a blog or share your content. </p>
<p>In most cases, the simple answer could be <code>Passion</code>. Fair enough! It could also be a business strategy, or perhaps you want to teach others. Maybe you want to keep learning – practically anything that gets you started will work.</p>
<p>As a developer, we learn something new all the time. It is close to impossible to memorize every piece of what we've learned. When we document those lessons and bits of information, we might as well make that knowledge reusable. </p>
<p>This is why writing an article about something you've learned recently is an excellent idea, and gives you very clear intent for your progressive documentation.</p>
<p>💡 <strong>Tips:</strong> Create a private GitHub repo with a markdown file. When you encounter something new, add a note about it (with code, if needed) in the file. </p>
<p>The contents of this file will then become an excellent source for your future articles. I maintain a file called TIL_2021.md (Things I Learned in the year 2021) for the same purpose.</p>
<p>When I decided on blogging, I intended to learn by sharing knowledge. If you want to learn something deeply, start teaching it. Blogging is a great way to do that.</p>
<h1 id="heading-find-your-motivation">Find Your Motivation</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/motivation.png" alt="Image" width="600" height="400" loading="lazy">
<em>Do not give up, stay motivated</em></p>
<p>Motivation can do wonders when you have it, but it can be hard to continue without it. As a content creator, your biggest motivation is likely to hear feedback from your readers. Positive feedback and constructive criticism always help you improve the content you create.</p>
<p>But there is a problem. Initially, you may not have very many readers to give you feedback. The chances of disappointment are higher if you are an individual blogger. So it helps to have a lot of self-motivation to sustain and continue your work.  </p>
<p>Remember – do not give up, stay motivated. As a developer, you have plenty to learn, share, and write about.</p>
<p>💡 <strong>Tips:</strong> If you want to start blogging as a developer, the developer community is helpful to stay connected and motivated. There are many incredible communities around like <a target="_blank" href="https://hashnode.com/@atapas/joinme">Hashnode</a>, <a target="_blank" href="https://dev.to/">Dev.to</a>, <a target="_blank" href="https://community.codenewbie.org/">Codenewbie</a>, <a target="_blank" href="https://hackernoon.com/">Hackernoon</a>, <a target="_blank" href="https://forum.freecodecamp.org/">freeCodeCamp</a>, <a target="_blank" href="https://girlswhocode.com/">GirlsWhoCode</a>, and many more.</p>
<h1 id="heading-do-your-research">Do Your Research</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/research.png" alt="Image" width="600" height="400" loading="lazy">
<em>Research is the key. Content rules all.</em></p>
<p>In blogging, content rules all. As developers, we may have multiple ideas, problem-solving steps, and new learnings we want to get down. But the most crucial part is being able to turn it into quality content. It's usually necessary to take the time required to research your topic thoroughly.</p>
<p>Let me take an example of content research here. Say you have solved a problem using <code>Linked List</code>, and it is the first time you have used one. You are so excited that want to share what you've learned. Here are a few points to consider:</p>
<ul>
<li>You need to understand <code>Linked List</code> generically and beyond the context of the problem you have solved.</li>
<li>You need to understand both the pros and cons of using <code>Linked List</code>.</li>
<li>You need to set up a few examples that demonstrate how best to use it.</li>
<li>You need to make sure you explain the way you've solved the problem clearly so people can use it in their own use cases.</li>
</ul>
<p>💡 <strong>Tips:</strong> Once you figure out what you need to know, you can learn about it from any well-established resource. Perform a search wionth <code>Google</code>, <code>Quora</code>, <code>Reddit</code>, and so on. <code>Stackoverflow</code> is another excellent platform to check for info on the topic as well. </p>
<p>Make sure you note down what you learn as you make progress. These notes will eventually turn into the article you write and publish.</p>
<h1 id="heading-plan-the-content-structure">Plan the Content Structure</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/plan.png" alt="Image" width="600" height="400" loading="lazy">
<em>Plan the content structure</em></p>
<p>Once you have your content research done, the next thing is to plan the structure of the article. Excellent article content can go ignored by readers if you have an inadequate and messy content structure. </p>
<p>Here are a few tips to help you structure your article content in a readable way:</p>
<ul>
<li><strong>Title:</strong> A compelling title can help influence many readers to visit your article. No matter what, people hardly miss reading the title of the article. Keeping it catchy will increase the traffic to your content.</li>
<li><strong>Cover Image:</strong> A relevant cover image makes your article very attractive. When you share your articles on social media like Twitter, Linkedin, or Reddit, a creative cover image may attract your readers.</li>
<li><strong>Introduction:</strong> this section describes the content at a high level. It can be an initial paragraph or a <a target="_blank" href="https://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read">Tl;DR</a> section explaining what you plan to cover in the article.</li>
<li><strong>Headings and Sub Headings:</strong> You should break the content into logical sub-topics. To do that, create sections and provide relevant headings and sub-headings. For example, I have created multiple sections with headings like <code>Know Your Purpose</code>, <code>Find Your Motivation</code>, and so on in this article.</li>
<li><strong>Graphics: "</strong>A picture is worth a thousand words." This is often true, so think of supporting your content with some graphs, pictures, and so on.</li>
<li><strong>Summary:</strong> A summary section at the end helps your reader recap what they have learned from the article so far. It is also helpful for a returning reader to recollect the content by going through the summary.</li>
<li><strong>Important Links:</strong> You may want to end your article with a list of related links for further reading. You can use the same section to list the links to your previously published articles as well.</li>
</ul>
<p>💡 Tips: Try to use a consistent content structure for your articles. Your readers will get used to it and find it easy to follow.</p>
<h1 id="heading-writing-tools">Writing Tools</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/Tools.png" alt="Image" width="600" height="400" loading="lazy">
<em>Using tools to make you efficient and smarter</em></p>
<p>Creating quality content takes time. You can make yourself a productive and efficient content creator by using some of the tools available for free. Here are a few that you may find helpful,</p>
<p>⚒️ <a target="_blank" href="https://www.notion.so/">Notion</a>: this tool can help you manage your personal and professional work TODOs in an efficient manner. Anytime an article idea occurs to you or you solve an interesting problem, create a task in the tool. You can prioritize, schedule, and assign tasks with ease.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-29.png" alt="Image" width="600" height="400" loading="lazy">
<em>Task planner with Notion</em></p>
<p>⚒️ <a target="_blank" href="http://grammarly.com">Grammarly</a>: If you are a non-native English speaker like me, there are times when you might not be familiar enough with the language's grammar rules. </p>
<p>In this case, a tool like <code>Grammarly</code> is a life-saver in many ways. It detects grammatical and spelling mistakes, suggests re-phrasing for complex sentences, corrects passive to active voice, and more. You can start with the free version and go for the premium based on your usage.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-30.png" alt="Image" width="600" height="400" loading="lazy">
<em>Correction suggestion with Grammarly</em></p>
<p>⚒️ <a target="_blank" href="https://hemingwayapp.com/">Hemingway Editor</a>: This is another excellent tool to support you with your English writing. You can use this editor along with <code>Grammarly</code> if you want. I love the way it indicates inadequate use of adverbs, active/passive voice, and complicated words and phrases.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-31.png" alt="Image" width="600" height="400" loading="lazy">
<em>Categorized suggestions with the Hemmingway Editor</em></p>
<p>⚒️ <a target="_blank" href="https://www.canva.com/">Canva</a>: Canva is a tool where you make designs, art, and unleash your creativity. You can create cover images, article graphics, animated gifs, and more without any prior experience with <code>Canva</code>. The generous free plan is sufficient to get started.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-32.png" alt="Image" width="600" height="400" loading="lazy">
<em>Create and organize your creativity using Canva</em></p>
<p>⚒️ <a target="_blank" href="https://pixteller.com/">Pixteller</a>: This is an alternate suggestion for creating cover images, graphics, and so on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-33.png" alt="Image" width="600" height="400" loading="lazy">
<em>Pixteller to create images</em></p>
<p>⚒️ <a target="_blank" href="https://getsharex.com/downloads/">ShareX</a>: It is a super cool productivity tool for screen captures, making animated images, file sharing, and so on.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-34.png" alt="Image" width="600" height="400" loading="lazy">
<em>Create, gifs, screenshots, videos</em></p>
<p>⚒️ <a target="_blank" href="https://obsproject.com/download">OBS Studio</a>: this is a free, open-source video recording and streaming tool. You may be wondering, why do I need this for blogging? </p>
<p>At times, you may want to create a video, upload it to YouTube or Vimeo, and link to it from your articles. You can use the OBS Studio tool to create quality videos with lots of customization options.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-35.png" alt="Image" width="600" height="400" loading="lazy">
<em>Create high quality videos</em></p>
<p>⚒️ <a target="_blank" href="https://serpsim.com/">SERP Snippet Generator</a>: SERP (Search Engine Result Page) is the page we see after entering a query into search engines like Google or Bing. A SERP snippet generator helps you finalizing a suitable title and meta description of your article post before you publish it. </p>
<p>See the image below to figure out a title and description within a limit to show the search result correctly.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/serpsim_snapshot-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>SERP Generator</em></p>
<h1 id="heading-do-lots-of-proofreading">Do Lots of Proofreading</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/reading.png" alt="Image" width="600" height="400" loading="lazy">
<em>Review, re-review, re-re-review, and so on...</em></p>
<p>When you write something, you need to check for errors and get your article reviewed before publishing or sharing it. This process of checking and making sure your content is ready to publish is called proofreading. In general, you should check for:</p>
<ul>
<li>Spelling errors</li>
<li>Grammatical mistakes</li>
<li>Formatting issues</li>
<li>Punctuation</li>
<li>Accuracy</li>
<li>Language Consistency</li>
</ul>
<p>When it comes to proofreading and reviewing, here is a famous quote for some inspiration:</p>
<blockquote>
<p>“I've found the best way to revise your own work is to pretend that somebody else wrote it and then to rip the living sh*t out of it.” ― Don Roff</p>
</blockquote>
<h1 id="heading-publish-your-article">Publish Your Article</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/publish.png" alt="Image" width="600" height="400" loading="lazy">
<em>Don't keep it to yourself, just publish it</em></p>
<p>If you are happy with the article after your proofreading, the next logical step is to publish it. You may want to schedule it to publish on a particular day of the week, or you may want to publish right then – it is up to you. </p>
<p>As a general principle, it is better to publish when an article is ready from your side. Similarly, you should never rush to publish an article to meet a deadline.</p>
<p>💡 <strong>Tips:</strong> Publishing your article should be part of the entire plan. If you have to publish an article by a specific date, work backward to plan the content accordingly. Do not compromise the quality of the content in the rush of publishing it.</p>
<h1 id="heading-share-your-article-on-social-media">Share Your Article on Social Media</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/socialize.png" alt="Image" width="600" height="400" loading="lazy">
<em>Social media platforms are a big booster</em></p>
<p>Social media is an extremely powerful tool. And you should make positive use of it as a blogger. </p>
<p>Publishing your article may not be enough if you want it to reach as many potential readers as it can. It's therefore a good idea to share your article on various social media platforms. </p>
<p>Here a few platforms where you should share your article links:</p>
<ul>
<li><a target="_blank" href="https://twitter.com/">Twitter</a></li>
<li><a target="_blank" href="https://www.linkedin.com/feed/">LinkedIn</a></li>
<li><a target="_blank" href="https://www.reddit.com/">Reddit</a></li>
<li><a target="_blank" href="https://news.ycombinator.com/">HackerNews</a></li>
<li><a target="_blank" href="https://facebook.com/">FaceBook</a></li>
</ul>
<p>There are a few more platforms where link sharing alone may not work very well. You can create a cover image/graphic suitable to the topic and upload the image (and share the link) to places like <a target="_blank" href="https://www.instagram.com/">Instagram</a> and <a target="_blank" href="https://in.pinterest.com/">Pinterest</a> using the right hashtags.</p>
<p>💡 Tips: Make sure you follow the policies and guidelines specified by each social media platform when you share your blog link. If you don't, your account could be flagged or banned. </p>
<p>Another exciting way to share your content is by republishing it. You can republish your article on another blogging platform if you are allowed to do so. For example, an article written on the <code>Hashnode</code> platform can be republished on the <code>Dev.to</code> platform and vice-versa. </p>
<p>💡 <strong>Tips:</strong> You can set the <code>Canonical URL</code> to the link of the original article when you republish it. This is a way to tell the search engines like Google which is the original copy of the content and eliminate duplicate content.</p>
<h1 id="heading-good-blogging-platforms">Good Blogging Platforms</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/paltform.png" alt="Image" width="600" height="400" loading="lazy">
<em>A Blogging platform to get you started</em></p>
<p>Alright, now we know how to write an article and share it so others can read it. Now let's learn about a few blogging platforms where you can get started. </p>
<p>Here are a few platforms to start blogging and grow as part of the community.</p>
<ul>
<li><a target="_blank" href="https://hashnode.com/@atapas/joinme">Hashnode</a> </li>
<li><a target="_blank" href="https://dev.to/">DEV Community</a> </li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/">freeCodeCamp News</a>    </li>
<li><a target="_blank" href="https://hackernoon.com/">HACKERnoon</a> </li>
<li><a target="_blank" href="https://daily.dev/blog">daily.dev</a></li>
<li><a target="_blank" href="https://www.codenewbie.org/">Codenewbie Community</a></li>
<li><a target="_blank" href="https://www.educative.io/edpresso">Educative Edpresso Shorts</a> </li>
<li><a target="_blank" href="https://cofounderstown.com/">CoFoundersTown</a> </li>
</ul>
<p>There are many publications and organizations who hire and pay content creators. As a developer-blogger, this may open up many freelancing opportunities and let you get compensated for sharing your content. You can also contribute to open-source documentation and other projects.</p>
<h1 id="heading-in-summary">In Summary</h1>
<p>To summarize,</p>
<ul>
<li>Blogging as a developer is manageable as a side activity without compromising your work output.</li>
<li>Problems you've solved and your searches on Google, Quora, and Stackoverflow could be a helpful source of writing ideas.</li>
<li>Find your purpose before you start a blog and write articles. The intent behind your work can be trivial or more significant – either way is fine.</li>
<li>Stay motivated.</li>
<li>Use the right tools to make you a productive writer.</li>
<li>Plan your content structure, proofread your articles, and publish them.</li>
<li>Use social media as a tool to share your articles.</li>
<li>There are some fantastic blogging platforms out there. Give them a try and be part of the developer communities.</li>
<li>Keep learning, keep writing, and keep sharing.</li>
</ul>
<h1 id="heading-before-we-end">Before We End...</h1>
<p>I hope you've found this article insightful, and that it helps you start using these concepts more effectively in blogging. </p>
<p>Let's connect. You will find me active on <a target="_blank" href="https://twitter.com/tapasadhikary">Twitter (@tapasadhikary)</a>. Please feel free to give a follow.</p>
<p>You may also like these articles:</p>
<ul>
<li><a target="_blank" href="https://blog.greenroots.info/how-to-find-blog-content-ideas-effortlessly-ckghrjv5200o7rhs1ewn40102">How to find blog content ideas effortlessly?</a></li>
<li><a target="_blank" href="https://blog.greenroots.info/where-to-begin-some-practical-tips-from-a-beginner-ckcu5llil00ncw8s11dr1fh2w">Where to begin? Some practical tips from a beginner</a></li>
<li><a target="_blank" href="https://blog.greenroots.info/why-do-you-need-to-do-side-projects-as-a-developer-ckhn5m5km05teajs1fvjd7u5f">Why do you need to do Side Projects as A Developer?</a></li>
<li><a target="_blank" href="https://blog.greenroots.info/16-side-project-github-repositories-you-may-find-useful-ckk50hic406quhls1dui2d6sd">16 side project GitHub repositories you may find useful</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/learn-something-new-every-day-as-a-software-developer/">How to Learn Something New Every Day as a Software Developer</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How Writing Can Lead to Better Product Design ]]>
                </title>
                <description>
                    <![CDATA[ By Adam Naor In my time building and devising products – apps, websites, and graphics makers – I have come across two types of people in general: those that prefer qualitative narratives and those that prefer data and analytics.  The first group is c... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-writing-can-lead-to-better-product-design/</link>
                <guid isPermaLink="false">66d45d70cc7f04d2549a3704</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Product Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 12 Mar 2021 21:19:10 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/604adcf9a7946308b7687147.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Adam Naor</p>
<p>In my time building and devising products – apps, websites, and <a target="_blank" href="http://gfxmaker.com/">graphics makers</a> – I have come across two types of people in general: those that prefer qualitative narratives and those that prefer data and analytics. </p>
<p>The first group is comfortable framing product development in the context of more subjective user feedback and perspectives. The second group, wary of this approach, wants to apply “excel models” to work backwards from numbers. </p>
<p>For ease of categorization, let’s call the first group “storytellers” and the second group “quants”.</p>
<p>Both groups want to construct meaningful <a target="_blank" href="https://instasize.com/blog/5-tips-for-taking-great-product-images">product visions</a>, understand users, and build tools at scale. Both groups are well intended but have a different approach to leveraging insights to make decisions.</p>
<p>Yet the way they go about collecting, analyzing, and deploying these insights varies.</p>
<p>It is likely useful to pause for a moment and ask yourself which camp do you more readily side with? Are you more of a storyteller or a quant?</p>
<p>Regardless of the answer, there is a unifying approach that I believe can bring these two personas together and help them find common ground in the pursuit of building better, more well thought out products. </p>
<p>And that approach is through writing.</p>
<h2 id="heading-why-writing-is-critical-to-product-design">Why writing is critical to product design</h2>
<p>Writing is defined as the activity or skill of marking coherent words on paper and composing text. Learning to write starts with foundational principles: you must learn an alphabet and how to organize letters to make words. </p>
<p>These words, in turn, are then placed together to make sentences.</p>
<p>Sentences, when taken together, can start to convey deeper meaning.</p>
<p>Writing is a forcing mechanism. It makes us think deeply about what we want to communicate and why.</p>
<p>Writing helps us focus on what is most important.</p>
<p>And writing – when done well – mitigates obfuscation. </p>
<p>How many times have you seen a product presentation and been convinced about its merits due to the quality (both good or bad) of the presenter? A charismatic argument, for example, can mask what really matters to users and sway judgements. </p>
<p>Amazon founder Jeff Bezos once wrote: </p>
<blockquote>
<p>“Powerpoint-style presentations somehow give permission to gloss over ideas, flatten out any sense of relative importance, and ignore the interconnectedness of ideas.”</p>
</blockquote>
<p>Writing forces us to see what really matters: the strength and coherence of an argument and how that argument is supported or substantiated by evidence.</p>
<p><a target="_blank" href="https://crustlab.com/">Product development</a> is inherently messy because oftentimes products, even if they appear simple, are inherently complex.</p>
<p>This is true for both hardware and software. Massive complexity exists in common items we take for granted.</p>
<p>Lufthansa claimed that it took 6 million parts for Boeing to build the 747-8. </p>
<p>A simple drive-off-the-lot car might have 30,000 parts.</p>
<p>By some estimates the Android operating system runs on 12-15 million lines of code. </p>
<p>The Large Hadron Collider uses 50 million lines. </p>
<p>Not including backend code, Facebook (the front end and various <a target="_blank" href="https://www.ideazinc.com/top-20-amazing-landing-pages-reviewed/">landing pages</a>) runs on 70 million lines of code.</p>
<p>Well-structured narrative text (as opposed to bullet points or plain text) can help the writer or product designer explain the “why” behind an argument.</p>
<p>Strong and active writing forces more reflective thought and a better understanding of what’s most important and how things – parts, people, plans, budgets, product – are related.</p>
<p>Lastly, writing helps create an even playing field. </p>
<p>All too often ideas (and how or who explains them) can lead to bias. Imagine being given a memo advocating for a product feature or Go To Market plan and you knew nothing of the author, including their background, role, or team. </p>
<p>And all you were allowed to do was evaluate the quality, durability, and clarity of the author’s words. This might lead to better business outcomes and product design decisions. </p>
<h2 id="heading-how-to-get-better-at-writing">How to get better at writing</h2>
<p>Writing is a skill that can be improved through practice. I remember in 5th grade my mother sitting down with me and using a red ink pen to edit and correct an essay I had written for homework.</p>
<p>Editing words is not easy. It wasn’t fun then and more than two decades later it's still not always fun. But by chipping away at it, we can embrace writing and get better at it.</p>
<p>The old expression “practice makes perfect” certainly didn’t apply in my case. Nevertheless, by forcing myself to write frequently, I was able to improve.</p>
<p>If you are building products and want to use written words to share your vision, win over internal stakeholders, and <a target="_blank" href="https://www.cloudtalk.io/blog/types-of-call-centers">help communicate more effectively</a>, there are a few things that you can start doing today.</p>
<h3 id="heading-create-an-outline">Create an outline</h3>
<p>Firstly, you can take out a piece of paper or open an online document, and start building an outline of what you want to communicate. Lead with they <em>why</em>.</p>
<p>You can use an outline to sharpen your thoughts and sketch out your product vision.</p>
<h3 id="heading-try-different-types-of-writing">Try different types of writing</h3>
<p>Secondly, you can play around with fun and different ways of writing to communicate about your product. </p>
<p>For example, you can write a press release. What would the New York Times say about your product if you were a journalist writing for the technology section? </p>
<p>Writing a futuristic press clipping is fun, gets the creative juices flowing, and is an enjoyable way to think through how others might see what you are building.</p>
<h3 id="heading-jot-down-some-faq">Jot down some FAQ</h3>
<p>Thirdly, you can improve your product writing skills by drafting and completing Frequently Asked Questions (FAQs). What do people not understand about your product and why? Try to think through the questions users have and answer these questions. </p>
<p>The benefits of writing out FAQs are two-fold: you can improve your writing while also more deeply understanding those aspects of your product that users might struggle with. And as a result of this insight you can preemptively solve these problems.</p>
<h2 id="heading-bringing-it-all-together-writing-and-product-design">Bringing It All Together: Writing and Product Design</h2>
<p>At the beginning of this article I described “storytellers” and “quants”. These two groups represent different approaches to using inputs (data, numbers, feedback, <a target="_blank" href="https://resources.credly.com/blog/degree-inflation-hiring">credentials</a>, and so on) to draw conclusions and make inferences.</p>
<p>Writing can bring “storytellers” and “quants” together and provides a level playing field for the expression of ideas. </p>
<p>Writing helps us avoid premature optimization.</p>
<p>While writing might be a challenge for you today, it is worth practicing. If you need prompts to get started try outlining the future of the <a target="_blank" href="https://www.savingjunkie.com/best-gig-economy-apps/">gig economy</a> or futuristic trends in <a target="_blank" href="https://www.resourcifi.com/blog/latest-trends-in-mobile-app-design-2020-2021/">mobile apps</a>.</p>
<p>If you don’t write about the future state of your products, you should start. It will help sharpen your thinking and enable you to build for better outcomes.</p>
<p>In the end of the day that should be the North Star for all builders.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Write for freeCodeCamp News ]]>
                </title>
                <description>
                    <![CDATA[ Writing is an important skill for a developer to have. It's how you convey your ideas, influence people, advocate for your skills and pay raises, as well as produce comments and documentation to assist others. “What many people underestimate is that... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-write-for-freecodecamp/</link>
                <guid isPermaLink="false">66bc55e0d94fa6cb67b84523</guid>
                
                    <category>
                        <![CDATA[ freeCodeCamp.org ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kealan Parr ]]>
                </dc:creator>
                <pubDate>Mon, 01 Mar 2021 21:45:22 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/03/write-for-fcc--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Writing is an important skill for a developer to have.</p>
<p>It's how you convey your ideas, influence people, advocate for your skills and pay raises, as well as produce comments and documentation to assist others.</p>
<blockquote>
<p>“What many people underestimate is that being a good writer,<br>whether that is through emails or through documents, allows you<br>to be more impactful. I see many engineers ignore that skill.   </p>
<p>You might be proud about your code. You should also be equally proud<br>of the craft of writing… Writing is a highly underestimated skill<br>for engineers.” –<strong>Urs Hölzle (Google’s first VP of Engineering)</strong></p>
</blockquote>
<p>Writing can:</p>
<ul>
<li>Impress future employers</li>
<li>Help you solidify what you recently learned</li>
<li>Share insights to other developers</li>
<li>Save others the pain of hours of research</li>
</ul>
<p><strong>freeCodeCamp</strong> can really help develop your writing skills too. They can help give you ideas based on what people are searching for, and they proof-read and edit your writing to make sure everything is explained well. Then they help publish it to a wide, diverse audience.</p>
<p>All this is done by the <strong>Editorial team</strong> and they're all really friendly and (most importantly) really useful. As you write more articles, you will learn more about who everyone is and how they can help you.</p>
<p>I'm going to briefly explain how I started writing for <strong>freeCodeCamp</strong> and my experience with it so far. We'll also touch on <strong>freeCodeCamp</strong>'s publication style guide which you can find <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">here</a>.</p>
<h1 id="heading-who-writes-for-freecodecamp">Who writes for freeCodeCamp?</h1>
<p>There are all sorts of people who write for freeCodeCamp.</p>
<p>Some are professional teachers who run programming courses, some are indie developers, some are still learning programming, others are full-time employed software engineers...and the list goes on.</p>
<p>There are people from all different places in the world who speak many different first languages – lots of voices are represented on <strong>freeCodeCamp</strong>.</p>
<p>There are no hard prerequisites for becoming a contributor to <strong>freeCodeCamp News</strong>. They don't check whether you have a Computer Science degree (in fact, many self-taught programmers write articles on News), submit you to a test, or expect you to finish their entire curriculum before writing.</p>
<p>You just need to have some prior writing experience so you can provide samples of your work when you apply to become a contributor.</p>
<p>But there are some guidelines about the content you contribute (maybe <strong>freeCodeCamp</strong> isn't the place for your lasagne recipe).</p>
<p>I'm a full time software engineer. I write to learn more about topics I find interesting. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/02/image-59.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><strong>freeCodeCamp</strong> distributes their articles so widely that last month alone (January 2021) people spent 600 hours reading the articles I wrote. That's pretty cool.</p>
<h1 id="heading-what-does-freecodecamps-style-guide-cover">What does freeCodeCamp's style guide cover?</h1>
<p>The <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">style guide</a> is the way <strong>freeCodeCamp</strong> standardises their expectations and guidelines so that all contributors know how best to research, write, and present their articles. It also helps ensure that what is published is high quality.</p>
<p>The style guide covers topics like article length, composition tips, how to write a good headline, how to choose a cover image, how not to plagiarize others' work, some rules about cross posting, and a lot more.</p>
<p>I also found it useful to take a Google technical writing course that you can find <a target="_blank" href="https://developers.google.com/tech-writing/one">here</a>. If you don't want to take the course, you can read my summary of it <a target="_blank" href="https://www.freecodecamp.org/news/what-google-taught-me-about-technical-writting/">here</a> if you don't have the 4 hours to do it all.</p>
<p>This course helped me learn some common helpful tips for technical writing, but it's not mandatory for <strong>freeCodeCamp</strong>.</p>
<h1 id="heading-how-do-freecodecamp-authors-apply">How do freeCodeCamp authors apply?</h1>
<p>If you want to apply to become a contributor to freeCodeCamp News, you should first <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">read the style guide</a>. In it, you'll find the application form.</p>
<p>When you're filling out the application, you are asked to link to 3 articles you have written in the past. </p>
<p>If you don't have three samples, or the work you've done is private, make an account on <a target="_blank" href="https://dev.to/">dev.to</a> or <a target="_blank" href="https://hashnode.com/">Hashnode</a> and write some articles. This helps the freeCodeCamp <strong>Editorial team</strong> learn about your writing style, what you like to write about, and whether you'd be a good fit for the publication. </p>
<p>I just want to really emphasise that you should read <strong>freeCodeCamp</strong>'s <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">style guide</a>. Read it two or three times and email the team if you aren't 100% sure about what something means. </p>
<p>If you write those 3 articles following <strong>freeCodeCamp</strong>'s style guidelines, you will hugely increase your chances of being approved as a contributor.</p>
<p>But they do also "<em>only approve a small percentage</em>" of contributor applicants, so don't be discouraged if you don't make it the first time around.</p>
<p>My best advice to get approved is to try and find what is missing from articles you are currently reading. Are you going to write the articles for total beginners or intermediates? How much detail are you going to put in? Do you have a favourite programming language? How much do you use humour? None, or lots of jokey references? How should readers apply this knowledge? </p>
<p>When I first started writing I got the genre wrong a few times (I wrote satire for one article, and some article ideas I had weren't great). But through some practice and speaking to the team, I started to improve and understand what <strong>freeCodeCamp</strong>'s genre is.</p>
<h2 id="heading-but-i-cant-write-well">But I can't write well</h2>
<p>So what? The best way to improve is by writing! If you feel like your writing skills are weak, try and set yourself a specific goal – for example to write 50 words a week on any topic. Something achievable for you, and on a topic you will enjoy.</p>
<p>Give yourself 6 months to see if you are making improvements. Reflect on what you don't like about your writing and try to address it. </p>
<p>My only other advice to improve your writing is to read more. The more I have read, the better my writing has become over time by seeing how others do it.</p>
<h2 id="heading-i-dont-know-what-to-write-about">I don't know what to write about!</h2>
<p>Write about something you want to learn about. You don't have to be an expert in something to write about it. You develop expertise by writing, discussing, and researching topics you're passionate about.</p>
<p>You can also ask the <strong>Editorial team</strong> too if you want some help once you get your contributor account.</p>
<h2 id="heading-what-if-im-wrong">What if I'm wrong?</h2>
<p>It's proof read by the team so you aren't alone. They offer a second pair of eyes, and you are able to make edits post-publishing if you misunderstood something in your research.</p>
<p>It's a good way to learn, too. When you publish something and you're wrong, people will direct message you to correct you. I have been messaged about things people thought were unclear. I thanked them and reviewed what they said, which often helped me improve that article.</p>
<p>Don't feel too scared about failure to try it!</p>
<h2 id="heading-i-write-too-slowly">I write too slowly</h2>
<p><strong>freeCodeCamp</strong> doesn't have a schedule for you. They don't email you to chase you about writing an article a week.</p>
<p>You just write as and when you want to, and the Editorial team are there to proof read and help in any way they can when you're ready. If you only want to publish once a year, go for it!</p>
<h2 id="heading-english-is-not-my-first-language">English is not my first language</h2>
<p>This is the case for many freeCodeCamp News contributors. They're practising English by writing, and contributing to the <strong>freeCodeCamp</strong> audience.</p>
<p>I hope you feel encouraged rather than intimidated to push your comfort zone boundaries if you have always wanted to try technical writing.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>You can <a target="_blank" href="https://www.freecodecamp.org/news/developer-news-style-guide/">apply here</a> to contribute to <strong>freeCodeCamp News</strong>.</p>
<p>Part of my writing was influenced by a talk Quincy did <a target="_blank" href="https://www.youtube.com/watch?v=Ef07Hhoc5KE">here</a> about writing technical articles. I would encourage you to watch if you plan to apply to <strong>freeCodeCamp</strong> in the future. He also gives some fascinating case studies of people who began writing and some benefits that came from it.</p>
<p>I have enormously enjoyed writing for freeCodeCamp and it's been an incredibly positive experience for me. I would encourage anyone to try their hand at writing. </p>
<p>Even if you don't end up doing it at <strong>freeCodeCamp</strong> it's a skill worth investing time in, and makes you a well rounded developer.</p>
<p>I share my writing on <a target="_blank" href="https://twitter.com/kealanparr">Twitter</a> if you enjoyed this article and want to see more.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How Google's Technical Writing Course Helped Me Become a Better Writer ]]>
                </title>
                <description>
                    <![CDATA[ Google has a technical writing course that I recently completed and highly enjoyed. It takes roughly 4 hours, and has some exercises along the way so you can test yourself.  I'm going to briefly explain what I learned from completing the course, and ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-google-taught-me-about-technical-writting/</link>
                <guid isPermaLink="false">66bc55f0e35f27b353950762</guid>
                
                    <category>
                        <![CDATA[ Google ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kealan Parr ]]>
                </dc:creator>
                <pubDate>Mon, 08 Feb 2021 19:57:56 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/02/Technical-Writting-One.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Google has a technical writing course that I recently completed and highly enjoyed. It takes roughly 4 hours, and has some exercises along the way so you can test yourself. </p>
<p>I'm going to briefly explain what I learned from completing the course, and I'll summarise the best bits so you can get a good overview of what's covered.</p>
<p>We'll go over some grammar rules and linguistics for the English language, but I'll explain everything upfront so we're all on the same page. The only thing you need to complete the course is a "little writing proficiency in English", but "you don't have to be a strong writer".</p>
<p>Let's dive in.</p>
<h1 id="heading-introduction">Introduction</h1>
<p>Let's define some terms we are going to use throughout this document:</p>
<ul>
<li><strong>Nouns</strong> are used to name something such as <strong>Mrs Kay</strong>, <strong>Eiffel Tower</strong> or <strong>manager</strong>.</li>
<li><strong>Pronouns</strong> are used instead of a noun such as <strong>I</strong>, <strong>you</strong>, <strong>we</strong>, <strong>them</strong>, <strong>he</strong>, or <strong>it</strong>.</li>
<li><strong>Adjectives</strong> are used to describe nouns such as <strong>friendly</strong> Mrs Kay, the <strong>rusty</strong> Eiffel Tower or the <strong>good</strong> manager. </li>
<li><strong>Verbs</strong> are doing words such as <strong>fight</strong>, <strong>run</strong>, <strong>type</strong> and <strong>eat</strong>.</li>
<li><strong>Adverbs</strong> describe verbs such as <strong>strongly</strong> fight, <strong>cowardly</strong> run, <strong>aggressively</strong> type and <strong>timidly</strong> eat. </li>
</ul>
<h1 id="heading-be-clear">Be Clear</h1>
<p>Clarity describes how clear your point is in your writing. Your number one priority in technical writing is clarity. </p>
<h3 id="heading-pronoun-use">Pronoun use</h3>
<p>Whenever you use pronouns, make sure they are clear. It's easy to get confused. Something like:</p>
<blockquote>
<p>C++ is a pretty old language, but JavaScript is old too. I really like it though.</p>
</blockquote>
<p>Huh? You like what? C++ or JavaScript? The <strong>pronouns</strong> used here don't help the clarity.</p>
<p>Clarify pronouns usage like:</p>
<blockquote>
<p>C++ is a pretty old language, but JavaScript is old too. I really like C++.</p>
</blockquote>
<p>Generally, when proof reading, if it's unclear to what you're referring, use the noun instead of the pronoun. <strong>This</strong> or <strong>that</strong> are especially prone to this issue. Make sure whenever you use these words it's clear what is being discussed.</p>
<h3 id="heading-idioms">Idioms</h3>
<p><strong>Idioms</strong> are common phrases used to describe something. But some idioms mean nothing to an international audience. Because <strong>idioms</strong> are so specific to your region/language, try to avoid them in your technical writing. </p>
<p>No one understands what <strong>walking around the porridge, chewing the fat</strong>, or <strong>inflating a cow</strong> means intuitively. Just say exactly what you mean, and try to keep your analogies simple and idiom free.  </p>
<h1 id="heading-be-succinct">Be Succinct</h1>
<p><strong>Succinctness</strong> is how brief and clearly expressed your writing is.</p>
<p>Good software engineers spend as much time deleting code as writing it when polishing their work. It's the same in writing. Shorter code generally:</p>
<ul>
<li>Makes it easier for others to read</li>
<li>Makes code easier to maintain</li>
<li>Extra lines of code add extra points of failure</li>
</ul>
<p>All of these points also apply to your technical writing.</p>
<p>Sometimes polishing and saying what you want to say <strong>succinctly</strong> takes time, and you have to really craft the document. You might even end up proof reading multiple times – but it is worthwhile. </p>
<p>Shorter sentences also encourage readers to continue reading. How intimidating is one huge paragraph? It can sometimes intimidate readers, and some readers will just bounce straight off your page when they see huge 1,000 word paragraphs.</p>
<h3 id="heading-remove-there-is-and-there-are">Remove "there is" and "there are"</h3>
<p>As you go through your writing, "<strong>there is</strong>" and "<strong>there are</strong>" can almost always be removed to more briefly express your point.</p>
<p>Both terms are generally very generic and bore readers. Rework the sentence. Here are some examples:</p>
<ul>
<li>There is a lot of overlap between software and hardware.</li>
<li>There are not multiple threads in JavaScript.</li>
</ul>
<p>I hope you agree how much better these now read:</p>
<ul>
<li>Software and hardware have a lot of overlap.</li>
<li>JavaScript does not have multiple threads.</li>
</ul>
<h3 id="heading-minimise-use-of-adjectives-and-adverbs">Minimise use of adjectives and adverbs</h3>
<p>Adjectives and adverbs are used a lot in descriptive, creative writing like fiction and poetry.</p>
<p>Google's example is turning "<strong>grass</strong>" into "<strong>verdant, prodigal grass</strong>" or turning the lifeless-sounding "<strong>hair</strong>" into "<strong>silky, flowing hair</strong>" </p>
<p>The trouble is that <strong>adverbs</strong> and <strong>adjectives</strong> are generally too loosely defined, and they can also make your technical writing sound like marketing.</p>
<blockquote>
<p>Running the code in production mode makes the code run screamingly fast.</p>
</blockquote>
<p>As opposed to:</p>
<blockquote>
<p>Running the code in production mode will result in a 225% performance gain.</p>
</blockquote>
<p>I hope you agree the second is more precise and quantifiable. </p>
<h3 id="heading-make-use-of-lists">Make use of lists</h3>
<p>When you have a long sentence with lots of elements in it, you should split it up into a list. For example, if you're listing the benefits of a particular technology, you could say, X is a great choice because:</p>
<ul>
<li>It's lightweight</li>
<li>It's fast</li>
<li>It's easy to use</li>
</ul>
<p>While this is a simple example, you get the idea. This is now far more readable than an overly long sentence and you won't lose readers or your flow.</p>
<h3 id="heading-use-the-right-list">Use the right list</h3>
<p>If you do find a good place to use a list, it's important to use the right list. You could use either a numbered list, like this: </p>
<ol>
<li>Here's my numbered list</li>
<li>Isn't it pretty?</li>
</ol>
<p>Or you can use a bulleted list, like this:</p>
<ul>
<li>Here's my bulleted list</li>
<li>Different, but still cool</li>
</ul>
<p><strong>So which one should you use?</strong></p>
<p>Use a <strong>numbered list</strong>, where the order matters, like say a recipe. Try to start each number with a commanding verb to reinforce the step by step instructions of the list, too:</p>
<ol>
<li>Turn on the oven.</li>
<li>Bake the cake.</li>
</ol>
<p><strong>Bulleted lists</strong> work well for everything else.</p>
<h3 id="heading-keep-your-lists-parallel">Keep your lists parallel</h3>
<p>Now you're hopefully using the right lists! The next step to help you use lists to their maximum potential is to keep them <strong>parallel</strong>. What does that mean?</p>
<p>Your list items should all have the same:</p>
<ul>
<li>Grammar and punctuation</li>
<li>Logical categorisation (the list items reasonably all belong together)</li>
<li>Capitalisation</li>
</ul>
<p>Let's provide a bad example:</p>
<ul>
<li>c++</li>
<li>JAVASCRIPT?</li>
<li>Rust! </li>
<li>chocolate chip cookies</li>
</ul>
<p>All of the above rules have been broken. The item "chocolate chip cookies" doesn't logically belong in the list, the capitalisation/casing of each element is different, and the punctuation isn't consistently applied (It's not clear why "JAVASCRIPT" ends in a "?", and "Rust" with an "!")</p>
<h1 id="heading-use-active-voice">Use Active Voice</h1>
<p>Sentences are generally made up of <strong>subject</strong>, <strong>object</strong> and <strong>verb</strong>. Let's do a few as a test:</p>
<blockquote>
<p>I wrote a story.</p>
</blockquote>
<p><strong>I</strong> am the subject, <strong>story</strong> is the object, and <strong>wrote</strong> is the verb.</p>
<blockquote>
<p>I really admire Jake's work</p>
</blockquote>
<p><strong>I</strong> am the subject, <strong>Jake</strong> is the object and <strong>admire</strong> is the verb.</p>
<ul>
<li>The subject is the one doing the thing.</li>
<li>The object is the thing being done to.</li>
<li>The verb is what is being done to the object by the subject.</li>
</ul>
<p>All of the above examples use <strong>active voice</strong> because the subject does the verb to the object. So let's flip those above examples to <strong>passive voice</strong>:</p>
<blockquote>
<p>The story was written by me</p>
<p>Jake's work has my admiration <em>(or Jake's work is admired by me)</em></p>
</blockquote>
<p>You should use <strong>active voice</strong> because, in addition to being more powerful and direct:</p>
<ul>
<li>It's much easier to understand. Whenever people read the <strong>passive voice</strong> they have to make the mental effort to transfer <strong>passive voice</strong> to <strong>active voice.</strong> So for ease of reading, skip that step and write in the <strong>active voice</strong>.</li>
<li><strong>Active voice</strong> is far more familiar to the reader, as we read active voice writing most of the time</li>
<li><strong>Passive voice</strong> sometimes forces the reader to guess who did what in the sentence and obscures the meaning</li>
<li><strong>Active voice</strong> is generally shorter than passive voice.</li>
</ul>
<h1 id="heading-general-writing-tips">General Writing Tips</h1>
<p>Let's look at how to maximise each component of a well crafted written piece.</p>
<h3 id="heading-sentences">Sentences</h3>
<p>Developers are familiar with keeping their code single responsibility. Keep the same formula in mind for sentences.</p>
<p>Express one idea clearly and briefly, before moving onto the next sentence. Don't have lots of <strong>and also this</strong> and <strong>that too</strong> and <strong>even further splitting on our final sentence</strong>. If you end up doing that, split each text after the <strong>and</strong> into its own sentence.</p>
<h3 id="heading-paragraphs">Paragraphs</h3>
<p>Paragraphs should have a clear opening sentence to explain the paragraph's central point. </p>
<p>You also should clearly answer:</p>
<ul>
<li>What are you trying to convey?</li>
<li>Why is it important?</li>
<li>How should the reader use this knowledge?</li>
</ul>
<p>Let's have an example that does all the above:</p>
<blockquote>
<p>The <code>garp()</code> function returns the delta between a dataset's mean and median. Many people believe unquestioningly that a mean always holds the truth. However, a mean is easily influenced by a few very large or very small data points.   </p>
<p>Call <code>garp()</code> to help determine whether a few very large or very small data points are influencing the mean too much. A relatively small <code>garp()</code> value suggests that the mean is more meaningful than when the <code>garp()</code> value is relatively high.</p>
</blockquote>
<h3 id="heading-jargon-and-context">Jargon and context</h3>
<p><strong>Jargon</strong> is the specialised terminology that a particular field uses. </p>
<p>Investors might talk about a <strong>W8-BEN</strong> form or <strong>SPAC</strong>s. But if you're outside that field, you have no clue what's being discussed. </p>
<p>Where possible, remove all jargon and acronyms and briefly explain what something is. </p>
<p>Try to make your writing as plain and simple as possible, still giving due credit to the complexity of what you're discussing (don't oversimplify!). If your writing is difficult or complex to understand, it won't help anyone. </p>
<p>Don't assume knowledge either. If you want to talk about something, either explain it, or try to link to a good resource on it. Some refer to this as the <strong>Curse of Knowledge</strong>.</p>
<p>Assume your reader knows less than you, so experienced readers can just skim the parts they already know, and newbies don't get lost.</p>
<h3 id="heading-word-choice">Word choice</h3>
<p>English is the dominant language for technical writing, but English is not always the first language of the reader. Try to stick to commonly used, simple English words.</p>
<p>You don't have to discuss the <strong>exuberance</strong> you find from <strong>polysyllabic</strong> words, flaunting your <strong>magniloquence</strong>.</p>
<h1 id="heading-meta-info">Meta info</h1>
<h3 id="heading-write-an-introduction">Write an Introduction</h3>
<p>When you write something, briefly explain at the beginning what you're going to cover. This can help people understand exactly what you're discussing before reading more.</p>
<h3 id="heading-tailor-your-contents-to-your-audience">Tailor your Contents to your Audience</h3>
<p>Try and fit your document to your audience. When you write on <a target="_blank" href="https://dev.to/">dev.to</a> you may write one way, and when you write on freeCodeCamp News you might write another way. </p>
<p>Compose your document to best suit the audience. For example, if you're explaining your company's architecture to a wider audience, you will have to explain things more thoroughly as there's less shared knowledge there than with your colleagues.</p>
<p>Sometime you may not even be writing for technical people, and you'll need to explain things in a less-complex way to aid their understanding.</p>
<h1 id="heading-summary">Summary</h1>
<p>Let's do a brief overview of what we covered:</p>
<ul>
<li>Try to be consistent through your writing</li>
<li>Avoid ambiguous pronouns</li>
<li>Prefer active voice</li>
<li>Be succinct.</li>
<li>Focus each sentence on one idea</li>
<li>Make use of lists</li>
<li>Focus on deleting unnecessary words</li>
<li>Don't use complex English or jargon</li>
<li>Keep lists parallel</li>
<li>Open paragraphs with an overview of what you're covering</li>
<li>Scope your document to your audience.</li>
<li>Establish your key points at the start of your writing. </li>
</ul>
<h1 id="heading-conclusion">Conclusion</h1>
<p>I hope this article has explained some helpful concepts Google taught me when I completed their technical writing course.</p>
<p>I am going to try and pick and choose the relevant parts of their advice as and when it applies to the writing I do, and I hope it helps you too. I found quite a few helpful rules here for me to apply to documentation or any technical writing I produce.</p>
<p>The course I referred to throughout this article can be found <a target="_blank" href="https://developers.google.com/tech-writing/one">here</a>.</p>
<p>I share my writing on <a target="_blank" href="https://twitter.com/kealanparr">Twitter</a> if you enjoyed this article and want to see more.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Add Page Numbers in Word – Microsoft Word Number Pages Tutorial ]]>
                </title>
                <description>
                    <![CDATA[ If you're writing a book or a paper for school, you'll likely want to include page numbers. They'll help readers keep track of how far along they are, and allow them to reference specific spots in the text.  And if you're writing in Microsoft Word, t... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/page-numbers-in-word-tutorial-how-to-insert-a-page-number-in-microsoft-word/</link>
                <guid isPermaLink="false">66b1fa5a125aeccef6f65c4a</guid>
                
                    <category>
                        <![CDATA[ Microsoft ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Abigail Rennemeyer ]]>
                </dc:creator>
                <pubDate>Tue, 02 Feb 2021 06:35:00 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/604148afa7946308b7681dc7.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're writing a book or a paper for school, you'll likely want to include page numbers. They'll help readers keep track of how far along they are, and allow them to reference specific spots in the text. </p>
<p>And if you're writing in Microsoft Word, there's an easy way to add page numbers to your work. Let's see what it is.</p>
<h2 id="heading-how-to-add-page-numbers-in-word">How to Add Page Numbers in Word</h2>
<p>When you have a Word document open, you'll see the main Word menu along the top of your screen, like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-12.56.18-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>Main Word menu at the top of your screen.</em></p>
<h3 id="heading-step-1-click-the-insert-tab-in-the-main-word-menu">Step 1: Click the "Insert" Tab in the Main Word Menu</h3>
<p>Just click on the "Insert" tab, and you'll get a dropdown menu with lots of options. About two thirds of the way down, you'll see a "Page Numbers" option, like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-12.59.02-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>Just click on "Insert" on the main menu and then scroll down to "Page Numbers".</em></p>
<h3 id="heading-step-2-scroll-down-and-select-the-page-numbers-option">Step 2: Scroll Down and Select the "Page Numbers" Option</h3>
<p>When you click on "Page Numbers" a little box will pop up asking you how you want to format your page numbers. </p>
<h3 id="heading-step-3-format-your-page-numbers">Step 3: Format Your Page Numbers</h3>
<p>You'll have options for where you want to place the numbers ("Position"), how you want them aligned on the page ("Alignment"), and other formatting options. It'll look like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-1.02.04-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>How you can format your page numbers.</em></p>
<h3 id="heading-step-4-optional-customize-your-page-numbers">Step 4 (Optional): Customize Your Page Numbers</h3>
<p>If you just click on the dropdowns by each option, you'll be able to choose exactly where and how you want your numbers to appear.</p>
<p>For example, if I want my numbers to appear at the bottom right, I'll just leave those options at the default. But if I want them, say, at the top and insides of each page, I can make the following adjustments:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-1.40.25-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>How to customize your page numbering.</em></p>
<p>You can also choose whether you want a number to show on the first page (perhaps not if it's a title page, and so on).</p>
<p>If you really want to get into the details of your page numbers, you can click the "Format..." button. There you can choose how your numbers look (you can have Roman numerals if you want!), whether you want to include chapter numbers, and how your numbers should start.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-2.19.33-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>More page number options.</em></p>
<p>And voilà – now your pages are numbered!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-5.18.53-PM.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-find-the-page-numbers-tab-in-word">How to Find the Page Numbers Tab in Word</h2>
<p>Here's something cool about Word: if you go to the "Help" tab to search for some functionality, it'll show you where to find it in the main menu.</p>
<p>Here's what I mean:</p>
<p>Say I want to find where to add page numbers (and didn't have this handy tutorial). I could just click on the "Help" tab in the main menu and type in "Page numbers".</p>
<p>But that's not the cool part – as you're typing, you'll see a match pop up (highlighted in pink below). When you hover over that option (don't click yet), Word displays where to find that tool or feature (in the red box below) and points to your query with a pulsing blue arrow! Like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/03/Screen-Shot-2021-03-04-at-2.46.58-PM.png" alt="Image" width="600" height="400" loading="lazy">
<em>Click "Help", type in "page numbers", hover over "Page Numbers", and the menu will pop up to the left.</em></p>
<p>Then if you actually click on your page numbers query in the Help tool, it'll just take you straight there and you'll see the "Page Numbers" box pop up.</p>
<p>Now you know how to add page numbers in Microsoft Word and you can customize those numbers to your heart's content. Happy writing!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Technical Writing for Beginners – An A-Z Guide to Tech Blogging Basics ]]>
                </title>
                <description>
                    <![CDATA[ If you love writing and technology, technical writing could be a suitable career for you. It's also something else you can do if you love tech but don’t really fancy coding all day long. Technical writing might also be for you if you love learning by... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/technical-writing-for-beginners/</link>
                <guid isPermaLink="false">66bcb0d7463cb352e42ea098</guid>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Amarachi Johnson ]]>
                </dc:creator>
                <pubDate>Fri, 20 Nov 2020 19:47:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/11/etienne-boulanger-aafOjsh-9jU-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you love writing and technology, technical writing could be a suitable career for you. It's also something else you can do if you love tech but don’t really fancy coding all day long.</p>
<p>Technical writing might also be for you if you love learning by teaching others, contributing to open source projects and teaching others how to do so, too, or basically enjoy explaining complex concepts in simple ways through your writing.</p>
<p>Let's dive into the fundamentals and learn about what you should know and consider when getting started with technical writing.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<p>In this article, we’ll be looking at:</p>
<ul>
<li><a class="post-section-overview" href="#what-technical-writing-is">What Technical writing is</a></li>
<li><a class="post-section-overview" href="#benefits">Benefits of Technical Writing</a></li>
<li><a class="post-section-overview" href="#some-necessary-skills">Necessary skills to have as a Technical Writer</a></li>
<li><a class="post-section-overview" href="#heading-the-technical-writing-process">The Technical Writing Process</a></li>
<li><a class="post-section-overview" href="#platforms-for-publishing-your-articles">Platforms for publishing your articles</a></li>
<li><a class="post-section-overview" href="#heading-technical-writing-courses">Technical Writing Courses</a></li>
<li><a class="post-section-overview" href="#heading-technical-writing-forums-and-communities">Technical Writing forums and communities</a></li>
<li><a class="post-section-overview" href="#Some-amazing-technical-writers-to-follow">Some amazing technical writers to follow</a></li>
<li><a class="post-section-overview" href="#heading-final-words">Final Words and references</a></li>
</ul>
<h2 id="heading-what-is-technical-writing">What is Technical Writing?</h2>
<p>Technical writing is the art of providing detail-oriented instruction to help users understand a specific skill or product.</p>
<p>And a technical writer is someone who writes these instructions, otherwise known as technical documentation or tutorials. This could include user manuals, online support articles, or internal docs for coders/API developers.</p>
<p>A technical writer communicates in a way that presents technical information so that the reader can use that information for an intended purpose.</p>
<h2 id="heading-benefits-of-technical-writing">Benefits of Technical Writing</h2>
<p>Technical writers are lifelong learners. Since the job involves communicating complex concepts in simple and straightforward terms, you must be well-versed in the field you're writing about. Or be willing to learn about it.</p>
<p>This is great, because with each new technical document you research and write, you will become an expert on that subject.</p>
<p>Technical writing also gives you a better sense of user empathy. It helps you pay more attention to what the readers or users of a product feel rather than what you think.</p>
<p>You can also make money as a technical writer by contributing to organizations. Here are <a target="_blank" href="https://catalins.tech/websites-that-pay-you-to-write-technical-articles">some organizations that pay you to write for them</a>, like <a target="_blank" href="https://smashingmagazine.com">Smashing Magazine</a>, <a target="_blank" href="https://auth0.com/">AuthO</a>, <a target="_blank" href="https://twilio.com">Twilio</a>, and <a target="_blank" href="https://stackoverflow.com">Stack Overflow</a>.</p>
<p>In addition to all this, you can contribute to Open Source communities and participate in paid open source programs like <a target="_blank" href="https://edidiongasikpo.com/how-to-crack-the-google-season-of-docs-application-process-for-2020">Google Season of Docs</a> and <a target="_blank" href="https://outreachy.org">Outreachy</a>.</p>
<p>You can also take up technical writing as a full time profession – lots of companies need someone with those skills.</p>
<h2 id="heading-necessary-skills-to-have-as-a-technical-writer">Necessary Skills to Have as a Technical Writer</h2>
<h3 id="heading-understand-the-use-of-proper-english">Understand the use of proper English</h3>
<p>Before you consider writing, it is necessary to have a good grasp of English, its tenses, spellings and basic grammar. Your readers don't want to read an article riddled with incorrect grammar and poor word choices.</p>
<h3 id="heading-know-how-to-explain-things-clearly-and-simply">Know how to explain things clearly and simply</h3>
<p>Knowing how to implement a feature doesn't necessarily mean you can clearly communicate the process to others. </p>
<p>In order to be a good teacher, you have to be empathetic, with the ability to teach or describe terms in ways suitable for your intended audience.</p>
<blockquote>
<p>If you can't explain it to a six year old, you don't understand it yourself. Albert Einstein</p>
</blockquote>
<h3 id="heading-possess-some-writing-skills">Possess some writing skills‌‌</h3>
<p>I believe that writers are made, not born. And you can only learn how to write by actually writing. </p>
<p>You might never know you have it in you to write until you put pen to paper. And there's only one way to know if you have some writing skills, and that's by writing. </p>
<p>So I encourage you to start writing today. You can choose to start with any of the platforms I listed in <a class="post-section-overview" href="#Platforms-for-publishing-your-articles">this section</a> to stretch your writing muscles.</p>
<p>And of course, it is also a <strong>huge benefit to have some experience in a technical field.</strong></p>
<h2 id="heading-the-technical-writing-process">The Technical Writing Process</h2>
<h3 id="heading-analyze-and-understand-who-your-readers-are">Analyze and Understand who your Readers are</h3>
<p>The biggest factor to consider when you're writing a technical article is your intended/expected audience. It should always be at the forefront of your mind.</p>
<p>A good technical writer writes based on the reader’s context. <strong>As an example</strong>, let's say you're writing an article targeted at beginners. It is important not to assume that they already know certain concepts.</p>
<p>You can start out your article by outlining any necessary prerequisites. This will make sure that your readers have (or can acquire) the knowledge they need before diving right into your article.</p>
<p>You can also include links to useful resources so your readers can get the information they need with just a click.</p>
<p>In order to know for whom you are writing, you have to gather as much information as possible about who will use the document.</p>
<p>It is important to know if your audience has expertise in the field, if the topic is totally new to them, or if they fall somewhere in between.</p>
<p>Your readers will also have their own expectations and needs. You must determine what the reader is looking for when they begin to read the document and what they'll get out of it.</p>
<p>To understand your reader, ask yourself the following questions before you start writing:</p>
<ul>
<li>Who are my readers?</li>
<li>What do they need?</li>
<li>Where will they be reading?</li>
<li>When will they be reading?</li>
<li>Why will they be reading?</li>
<li>How will they be reading?</li>
</ul>
<p>These questions also help you think about your reader's experience while reading your writing, which we'll talk about more now.</p>
<h3 id="heading-think-about-user-experience">Think About User Experience</h3>
<p>User experience is just as important in a technical document as it is anywhere on the web.</p>
<p>Now that you know your audience and their needs, keep in mind how the document itself services their needs. It’s so easy to ignore how the reader will actually use the document.</p>
<p>As you write, continuously step back and view the document as if you're the reader. Ask yourself: Is it accessible? How will your readers be using it? When will they be using it? Is it easy to navigate?</p>
<p>The goal is to write a document that is both useful to and useable by your readers.</p>
<h3 id="heading-plan-your-document">Plan Your Document</h3>
<p>Bearing in mind who your users are, you can then conceptualize and plan out your document.</p>
<p>This process includes a number of steps, which we'll go over now.</p>
<h4 id="heading-conduct-thorough-research-about-the-topic">Conduct thorough research about the topic</h4>
<p>While planning out your document, you have to research the topic you're writing about. There are tons of resources only a Google search away for you to consume and get deeper insights from. </p>
<p>Don't be tempted to lift off other people's works or articles and pass it off as your own, as this is plagiarism. Rather, use these resources as references and ideas for your work. </p>
<p>Google as much as possible, get facts and figures from research journals, books or news, and gather as much information as you can about your topic. Then you can start making an outline.</p>
<h4 id="heading-make-an-outline">Make an outline</h4>
<p>Outlining the content of your document before expanding on it helps you write in a more focused way. It also lets you organize your thoughts and achieving your goals for your writing.</p>
<p>An outline can also help you identify what you want your readers to get out of the document. And finally, it establishes a timeline for completing your writing.</p>
<h4 id="heading-get-relevant-graphicsimages">Get relevant graphics/images</h4>
<p>Having an outline is very helpful in identifying the various virtual aids (infographics, gifs, videos, tweets) you'll need to embed in different sections of your document. </p>
<p>And it'll make your writing process much easier if you keep these relevant graphics handy. </p>
<h3 id="heading-write-in-the-correct-style">Write in the Correct Style</h3>
<p>Finally, you can start to write! If you've completed all these steps, writing should become a lot easier. But you still need to make sure your writing style is suitable for a technical document.</p>
<p>The writing needs to be accessible, direct, and professional. Flowery or emotional text is not welcome in a technical document. To help you maintain this style, here are some key characteristics you should cultivate.</p>
<h4 id="heading-use-active-voice">Use Active Voice</h4>
<p>It's a good idea to use active voices in your articles, as it is easier to read and understand than the passive voice.</p>
<p>Active voice means that the <strong>subject</strong> of the sentence is the one actively performing the <strong>action</strong> of the verb. Passive voice means that a <strong>subject</strong> is the recipient of a verb's <strong>action</strong>.</p>
<p>Here's an example of <strong>passive voice</strong>: The documentation should be read six times a year by every web developer.</p>
<p>And here's an example of <strong>active voice</strong>: Every web developer should read this documentation 6 times a year.</p>
<h4 id="heading-choose-your-words-carefully">Choose Your Words Carefully</h4>
<p>Word choice is important. Make sure you use the best word for the context. Avoid overusing pronouns such as ‘it’ and ‘this’ as the reader may have difficulty identifying which nouns they refer to. </p>
<p>Also avoid slang and vulgar language – remember you're writing for a wider audience whose disposition and cultural inclinations could differ from yours.</p>
<h4 id="heading-avoid-excessive-jargon">Avoid Excessive Jargon</h4>
<p>If you’re an expert in your field, it can be easy to use jargon you're familiar with without realizing that it may be confusing to other readers. </p>
<p>You should also avoid using acronyms you haven't previously explained.</p>
<p><strong>Here's an Example</strong>:</p>
<p>Less clear: <strong>PWAs</strong> are truly considered the future of multi-platform development. Their availability on both Android and iOS makes them the app of the future.</p>
<p>Improved: <strong>Progressive Web Applications (PWAs)</strong> are truly the future of multi-platform development. Their availability on both Android and iOS makes <strong>PWAs</strong> the app of the future.</p>
<h4 id="heading-use-plain-language">Use Plain Language</h4>
<p>Use fewer words and write in a way so that any reader can understand the text.‌‌ Avoid big lengthy words. Always try to explain concepts and terms in the clearest way possible.</p>
<h4 id="heading-visual-formatting">Visual Formatting</h4>
<p>A wall of text is difficult to read. Even the clearest instructions can be lost in a document that has poor visual representation.</p>
<p>They say a picture is worth a thousand words. This rings true even in technical writing.</p>
<p>But not just any image is worthy of a technical document. Technical information can be difficult to convey in text alone. A well-placed image or diagram can clarify your explanation.</p>
<p>People also love visuals, so it helps to insert them at the right spots. Consider the images below:</p>
<p>First, here's a blog snippet without visuals:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/step2-1.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here's a snippet of same blog, but with visuals:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/step1-1.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Adding images to your articles makes the content more relatable and easier to understand. In addition to images, you can also use gifs, emoji, embeds (social media, code) and code snippets where necessary.</p>
<p>Thoughtful formatting, templates, and images or diagrams will also make your text more helpful to your readers. You can check out the references below for a technical writing template from @Bolajiayodeji.</p>
<h4 id="heading-do-a-careful-review">Do a Careful Review</h4>
<p>Good writing of any type must be free from spelling and grammatical errors. These errors might seem obvious, but it's not always easy to spot them (especially in lengthy documents).</p>
<p>Always double-check your spelling (you know, dot your Is and cross your Ts) before hitting 'publish'.</p>
<p>There are a number of free tools like <a target="_blank" href="https://grammarly.com/">Grammarly</a> and the <a target="_blank" href="http://www.hemingwayapp.com/">Hemingway app</a> that you can use to check for grammar and spelling errors. You can also share a draft of your article with someone to proofread before publishing.</p>
<h2 id="heading-where-to-publish-your-articles">Where to Publish Your Articles</h2>
<p>Now that you've decided to take up technical writing, here are some good platforms where you can start putting up technical content for free. They can also help you build an appealing portfolio for future employers to check out.</p>
<p><a target="_blank" href="https://dev.to"><strong>Dev.to</strong></a> is a community of thousands of techies where both writers and readers get to meaningfully engage and share ideas and resources.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/devto.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><a target="_blank" href="https://hashnode.com"><strong>Hashnode</strong></a> is my go-to blogging platform with awesome perks such as custom domain mapping and an interactive community. Setting up a blog on this platform is also easy and fast.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/hashnode.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://freecodecamp.org">freeCodeCamp</a></strong> has a very large community and audience reach and is a great place to publish your articles. However, you'll need to apply to write for their publication with some previous writing samples. </p>
<p>Your application could either be accepted or rejected, but don't be discouraged. You can always reapply later as you get better, and who knows? You could get accepted.</p>
<p>If you do write for them, they'll review and edit your articles before publishing, to make sure you publish the most polished article possible. They'll also share your articles on their social media platforms to help more people read them.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/freecodecamp.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://hackernoon.com">Hackernoon</a></strong> has over 7,000 writers and could be a great platform for you to start publishing your articles to the over 200,000 daily readers in the community. </p>
<p>Hacker Noon supports writers by proofreading their articles before publishing them on the platform, helping them avoid common mistakes.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/hackernoon.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-technical-writing-courses">Technical Writing Courses</h2>
<p>Just like in every other field, there are various processes, rules, best practices, and so on in Technical Writing. </p>
<p>Taking a course on technical writing will help guide you through every thing you need to learn and can also give you a major confidence boost to kick start your writing journey. </p>
<p>Here are some technical writing courses you can check out:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/tech-writing">Google Technical Writing Course</a> (Free)</li>
<li><a target="_blank" href="https://www.udemy.com/topic/technical-writing/">Udemy Technical Writing Course</a> (Paid)</li>
<li><a target="_blank" href="https://hashnode.com/bootcamp/batch-2">Hashnode Technical Writing Bootcamp</a> (Free)</li>
</ul>
<h2 id="heading-technical-writing-forums-and-communities">Technical Writing Forums and Communities</h2>
<blockquote>
<p>Alone we can do so little, together, we can do so much ~ Helen Keller</p>
</blockquote>
<p>Being part of a community or forum along with people who share same passion as you is beneficial. You can get feedback, corrections, tips and even learn some style tips from other writers in the community. </p>
<p>Here are some communities and forums for you to join:</p>
<ul>
<li><a target="_blank" href="https://hashnode.com">Hashnode</a></li>
<li><a target="_blank" href="https://dev.to">Dev.to</a></li>
<li><a target="_blank" href="http://technicalwritingworld.com/forum">Technical Writing World</a></li>
<li><a target="_blank" href="https://www.linkedin.com/groups/112571/profile">Technical Writer Forum</a></li>
<li><a target="_blank" href="http://forum.writethedocs.org/">Write the Docs Forum</a></li>
</ul>
<h2 id="heading-some-amazing-technical-writers-to-follow">Some Amazing Technical Writers to follow</h2>
<p>In my technical writing journey, I've come and followed some great technical writers whose writing journey, consistency, and style inspire me. </p>
<p>These are the writers whom I look up to and consider virtual mentors on technical writing. Sometimes, they drop technical writing tips that I find helpful and have learned a lot from. </p>
<p>Here are some of those writers (hyperlinked with their twitter handles):</p>
<ul>
<li><a target="_blank" href="https://twitter.com/ossia">Quincy Larson</a></li>
<li><a target="_blank" href="https://twitter.com/didicodes">Edidiong Asikpo</a></li>
<li><a target="_blank" href="https://twitter.com/catalinmpit">Catalin Pit</a></li>
<li><a target="_blank" href="https://twitter.com/lo_victoria2666">Victoria Lo</a></li>
<li><a target="_blank" href="https://twitter.com/iambolajiayo">Bolaji Ayodeji</a></li>
<li><a target="_blank" href="https://twitter.com/amrutaranade">Amruta Ranade</a></li>
<li><a target="_blank" href="https://twitter.com/dailydevtips1">Chris Bongers</a></li>
<li><a target="_blank" href="https://twitter.com/colbyfayock">Colby Fayock</a></li>
</ul>
<h2 id="heading-final-words">Final words</h2>
<p>You do not need a degree in technical writing to start putting out technical content. You can start writing on your personal blog and public GitHub repositories while building your portfolio and gaining practical experience.</p>
<p><strong>Really – Just Start Writing.</strong></p>
<p>Practice by creating new documents for existing programs or projects. There are a number of open source projects on GitHub that you can check out and add to their documentation.</p>
<p>Is there an app that you love to use, but its documentation is poorly written? Write your own and share it online for feedback. You can also quickly set up your blog on <a target="_blank" href="https://hashnode.com">hashnode</a> and start writing.</p>
<blockquote>
<p><em>You learn to write by writing, and by reading and thinking about how writers have created their characters and invented their stories. If you are not a reader, don't even think about being a writer. - Jean M. Auel</em></p>
</blockquote>
<p><strong>Technical writers are always learning</strong>. By diving into new subject areas and receiving external feedback, a good writer never stops honing their craft.</p>
<p>Of course, good writers are also voracious readers. By reviewing highly-read or highly-used documents, your own writing will definitely improve.</p>
<p>Can't wait to see your technical articles!</p>
<h3 id="heading-references">References</h3>
<p><a target="_blank" href="https://www.bittbox.com/advice/introduction-technical-writing">Introduction to Technical Writing</a>‌‌</p>
<p><a target="_blank" href="https://amarachiazubuike.com/how-to-structure-a-technical-article-ckg9yiy9c01sns9s17jk1aazd">How to structure a technical article</a>‌‌</p>
<p><a target="_blank" href="https://edidiongasikpo.com/understanding-your-audience-the-why-and-how">Understanding your audience, the why and how</a></p>
<p>‌‌<a target="_blank" href="https://github.com/BolajiAyodeji/technical-writing-template">Technical Writing template</a></p>
<p>I hope this was helpful. If so, follow me on <a target="_blank" href="https://twitter.com/msamarachukwu">Twitter</a> and let me know!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Write Your First Technical Book: Tools, Techniques, and Resources for First-time Developer Authors ]]>
                </title>
                <description>
                    <![CDATA[ By Shubham Chadokar Recently, I wrote my first technical book – yes, I finally finished it. ?This project was on my list for a long time. And now that I've finally completed it, I'd like to share my experience with everyone. In this post, I tried to ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-write-your-first-technical-book/</link>
                <guid isPermaLink="false">66d460f073634435aafcefc0</guid>
                
                    <category>
                        <![CDATA[ books ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 22 Sep 2020 19:35:55 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/09/writing-cover.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Shubham Chadokar</p>
<p>Recently, I wrote my first technical book – yes, I finally finished it. ?<br>This project was on my list for a long time. And now that I've finally completed it, I'd like to share my experience with everyone.</p>
<p>In this post, I tried to document my complete journey of writing the book. I discuss everything motivation and hurdles to tools, techniques and resources.</p>
<p>My book focuses on the <a target="_blank" href="https://schadokar.dev/ebooks/">Hyperledger Composer Blockchain</a> tool. It is completely free and right now is only available in PDF format.  </p>
<p>All these points are equally helpful for technical blog writing. So let's get started and dive into what I learned.</p>
<h1 id="heading-motivation">Motivation</h1>
<p>I have been writing technical articles and tutorials since late 2018. By now I am quite comfortable with the process of writing an article or a tutorial. I understand how to approach the article and which tools I should use.</p>
<p>But when it comes to book writing – and especially a technical book – the arena is quite different. </p>
<p>My motivation was curiosity. I wondered how authors write books. What is their thought process? What tools do they use? And of course, how does it feel to write a book? ?</p>
<p>I am a Software Engineer and I have been working on Blockchain since 2018. I have learned about different blockchains like Ethereum and Hyperledger Fabric. I have also used many tools like <a target="_blank" href="https://www.trufflesuite.com/">truffle</a>, <a target="_blank" href="https://remix.ethereum.org/">remix</a> and <a target="_blank" href="https://hyperledger.github.io/composer/">hyperledger composer</a>.</p>
<p>There were a few different things I wanted to write about, like <strong>Ethereum</strong> or <strong>Hyperledger Fabric</strong>. </p>
<p>But since it was my first book, these topics were not ideal for me. They would've required a lot more time and effort than I could give. So, I picked a simple one: Hyperledger Composer.</p>
<h1 id="heading-first-hurdle">First Hurdle</h1>
<p>Before getting started, I wondered which tool or editor I should use to write the book. </p>
<p>Should I write in MS Word, Google Docs, or use something else?<br>The major issue was how to format code snippets correctly. These editors are not designed for technical writing. </p>
<p>There are different work arounds to add code, but it would require additional formatting.  </p>
<p>I read lots of articles about <strong>what good tools are available for technical book writing.</strong> I tried many of them, but I wasn't happy with any of them. I wasted a lot of time finding the perfect tool.  </p>
<p>In the end, I realized that editors only ease the writing process and make managing the book simpler. But what really matters is the content. So, I stopped searching for the perfect editor and went to the basics.</p>
<h2 id="heading-the-basics-vs-code">The basics: VS Code</h2>
<p>I used my favourite code editor to write the book. Yes, <strong>VS Code</strong> ?. </p>
<p>After spending days searching around on the Internet, not a single article suggested that you need any specific tool or editor to write a technical book. VS Code or Atom would be more than enough.</p>
<p>I wrote the whole book in <strong>VS Code</strong> in my favourite markdown format. To make my writing easier, I used a couple of markdown plugins like <strong>Markdown All in One</strong> and <strong>Markdown Preview Enhanced</strong>.  </p>
<p>The first plugin helps you write markdown while the second helps in preview mode. It shows how the markdown will look and behave after converting it into HTML or other formats. </p>
<p><strong>Markdown All in One</strong> also has a preview mode, but <strong>Markdown Preview Enhanced</strong> has multiple themes and options to export the markdown file in HTML, PDF, and other readable formats like epub or Mobi. </p>
<p>Just a heads up – those other formats require that you install <strong>Pandoc</strong> on your machine.</p>
<blockquote>
<p>I am a Windows User. For Mac Users, I found there are many great editors available like <a target="_blank" href="https://bear.app/">bear</a>, <a target="_blank" href="https://ulysses.app/">ulysses</a> and many others.</p>
</blockquote>
<p>Recently, I discovered that there are many markdown editors available on <strong>Windows</strong> and <strong>MacOS</strong> which you can use for book writing. Check out <a target="_blank" href="https://www.notion.so/">Notion</a>, <a target="_blank" href="https://typora.io/">Typora</a>, <a target="_blank" href="https://ia.net/writer">iA Writer</a>, and <a target="_blank" href="https://simplenote.com/">SimpleNote</a>.</p>
<p>Bottom line <strong>Don't waste too much time finding the perfect editor</strong>. Just start writing in your editor of choice. With time you'll figure it out.</p>
<h1 id="heading-second-hurdle">Second Hurdle</h1>
<p>Then I started asking myself, from where should I start writing? How should I write? How should I approach it?  </p>
<p>In short, I wanted to know how exactly I should write this book so that the reader would get the most out of it.</p>
<p>These questions made me scratch my head a lot. In the beginning, I changed my approach 4 or 5 times.  </p>
<p>At this point, I suggest spending some time to really ponder your approach. Because once you're in the middle of the book, it is not going to be an easy task to change it.</p>
<h3 id="heading-ask-the-questions">Ask the questions</h3>
<p>I asked myself these questions about the book and noted my thoughts down.</p>
<ol>
<li>Who is my target audience? Are they beginner, intermediate, or expert?</li>
<li>Do they need some prior knowledge of the subject? </li>
<li>How should I organize the book?</li>
<li>How should I name the files or chapters so it's easy to find each topic?</li>
<li>How should I track my progress?</li>
<li>How should I maintain the versions of the chapters and drafts of the book? There will be a number of occasions that last edit was actually much better than the current version.</li>
</ol>
<p>These are a few basic questions which I asked, and they were helpful.</p>
<h2 id="heading-my-approach">My approach</h2>
<p>I'll now describe the approach I took to writing this book.</p>
<h3 id="heading-create-a-todo-list">Create a todo list</h3>
<p>First, I created a to-do list. In this list, I noted down all the main points, topics, sub-topics, references, preface, cover, title and so on. </p>
<p>I pretty much added all the thoughts that came to mind about the book.</p>
<p>I would suggest creating 2 todo lists: one on paper and the same as a soft copy.  </p>
<p>First, note down all the points on paper. Once you note down everything, read it 2-3 times. Then whatever new ideas pop into your head, note them down. </p>
<p>For example, if you think about how you're going to explain a particular topic, note it down. It will make your work much easier. Then when you start writing about that topic, you can refer to these notes.</p>
<p>Once you have a <strong>todo</strong> list on paper, create a soft copy and save all the points in chronological order.  </p>
<p>This is what my <strong>todo</strong> list used to look like:</p>
<h4 id="heading-tasks">Tasks</h4>
<ul>
<li>[x] Index</li>
<li>[x] Cover</li>
<li>[x] Title</li>
<li>[x] Subtitle</li>
<li>[x] Preface</li>
<li>[x] What is Blockchain and Hyperledger Fabric?</li>
<li>[x] Introduction to Hyperledger Composer</li>
<li>[x] Environment Requirements and Setup<ul>
<li>[x] Azure</li>
<li>[x] AWS</li>
<li>[x] GCP</li>
</ul>
</li>
<li>[x] Project Objective</li>
<li>[x] Project Setup in Composer</li>
<li>[x] Model File<ul>
<li>[x] Definition</li>
<li>[x] Modeling Language</li>
<li>[x] project code</li>
</ul>
</li>
<li>[x] Script File<ul>
<li>[x] Definition</li>
<li>[x] syntax</li>
<li>[x] project code</li>
</ul>
</li>
<li>[x] Query File<ul>
<li>[x] Definition</li>
<li>[x] Query Language</li>
<li>[x] project code</li>
</ul>
</li>
<li>[x] ACL File<ul>
<li>[x] Definition</li>
<li>[x] syntax</li>
<li>[x] project code</li>
</ul>
</li>
<li>[x] Deployment in Composer Playground</li>
<li>[x] Testing in Composer Playground</li>
<li>[x] Export the .bna</li>
<li>[x] Composer Rest Server</li>
<li>[x] Frontend</li>
<li>[x] Conclusion</li>
<li>[x] References</li>
<li>[x] About Me</li>
<li>[x] Grammar Check 1</li>
<li>[x] Grammar Check 2</li>
<li>[x] Read the draft</li>
<li>[x] Read the final draft</li>
<li>[x] PDF format</li>
<li>[x] Add page no. to PDF</li>
<li>[x] New chapter starts from the new page</li>
<li>[x] Thank You Note</li>
<li>[x] License</li>
<li>[x] End cover</li>
</ul>
<p>I used markdown format for my <strong>todo</strong> list. You can use whatever format is easiest for you.</p>
<h2 id="heading-start-small-but-do-start">Start Small but Do Start</h2>
<p>Keep in mind that you don't need to write about each topic in order. There might be many topics which depend on previous topics, but others won't. </p>
<p>Also, you don't have to finish writing about the topic all at once either. Whatever topics you are feeling comfortable with, start there.</p>
<p>Your goal should be to start the book. Aim to write 10-20% of your book within a couple of weeks. Once you start, it will keep reminding you that you have to complete the book. In time you'll realize that this turns into a great motivator.</p>
<p>If there is a topic you don't know as much about, don't worry. Don't hesitate to get help from the Internet. Read how other people explained it. Take inspiration and then write about it in your way. </p>
<p>And remember – If you use any content from other people's work, make sure you inform them, cite it properly in your text, and list their work as a reference at the end.</p>
<blockquote>
<p>Consider this as a professional courtesy. -- John Wick ?</p>
</blockquote>
<h2 id="heading-chronological-order">Chronological Order</h2>
<p>It took me a while to understand the importance of having a file naming convention. </p>
<p>At first I started following a <em>Chapter 1</em>, <em>Chapter 2</em> naming convention for each topic. It turned out to be a terrible idea. </p>
<p>The problem with this naming scheme is that you have to maintain a separate file where you explain what is in the file. Or you have to open each file to see what it contains. </p>
<p>Another problem is that if you add a new chapter in between then you have to rename all the following chapters.</p>
<p>There are two conventions I found helpful, but each has its disadvantages.</p>
<p>One option is to use <strong>chapternumber-topic</strong>: Name the file as a chapter number followed by the topic of the chapter. Like this <strong>10-Introduction-of-Blockchain</strong>. </p>
<p>Name the chapter number in 2 digits. This will help you add sub-sections to the same chapter in different files. Like this <strong>11-History-of-Blockchain</strong>. </p>
<p>Another benefit of this naming convention is it will show all the files in the order of your book chapters.</p>
<p><strong>Disadvantage:</strong> Adding new chapter in between requires that you rename all the following chapters.</p>
<p>The second option is to use <strong>filename as topic</strong>: Name all the files as the topic name. This will give you the freedom to write topics in random order. And you can maintain the order of the book in your todo list.</p>
<p><strong>Disadvantage:</strong> All the files will be arranged in alphabetical order. After 10-15 files it will be difficult to track all the files, and it'll be harder to put them together in a draft.</p>
<p>In the end, I followed the second method. It worked alright for me.</p>
<p>To create a draft, I created a Node.js script. In this script, I entered all the topics in an array. Then I created a draft file and appended all the topics in it. Of course by reading them first ?. A few perks of being a Software Engineer ?.</p>
<p>This script was a saviour when I was editing. Many times I updated the topics or pictures within them. I fixed grammatical mistakes. Here Grammarly really saved me...but not completely as I was using the free version. ?</p>
<h2 id="heading-chronicle-of-the-book-journey">Chronicle of the book journey</h2>
<p>Writing a book is not a sprint, it is a marathon. Always save your work when you complete a topic or are done for the day. </p>
<p>The next day, you might get a new idea for the same topic which you already completed. You might spend an hour on it, but it doesn't look good. In this case, UNDO is great but it also has limitations (and its limits vary from editor to editor). <strong>Do not test its limits too much</strong>.</p>
<p>Instead of relying on the editor or making duplicate copies, I used <strong>Git</strong> for version control. Don't think that <strong>git</strong> can only be used for managing your code. It is a versitile tool and its applications are only limited by your imagination.</p>
<p>For the readers who don't know about <strong>git</strong>:</p>
<blockquote>
<p>Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. --<a target="_blank" href="https://en.wikipedia.org/wiki/Git">Wikipedia</a></p>
</blockquote>
<p>You don't have to learn everything about <strong>git</strong> to use it for writing. The basic commands like <strong>init</strong>, <strong>add</strong>, <strong>commit</strong>, <strong>logs</strong> and <strong>checkout</strong> are more than enough for you to maintain your versions and keep your text accessible and safe.  </p>
<p>There are many Git code hosting platforms available, like <a target="_blank" href="https://github.com/">GitHub</a>, <a target="_blank" href="https://about.gitlab.com/">GitLab</a> and others. To host your book on one of these platforms, you can follow the below steps:</p>
<ol>
<li>Create an account. My personal choice is <strong>GitHub</strong>.</li>
<li>Create a private repository with default choices. You can change its visibility to public in the future.</li>
<li>Follow the instructions provided once the repository is created. Basically, in this step, you're connecting your local <strong>Git</strong> to your hosted repository.</li>
<li>Learn 2 more commands, <strong>push</strong> and <strong>pull</strong>. Use <strong>push</strong> to push the local changes to the cloud repo and use <strong>pull</strong> to get the content from the cloud.</li>
</ol>
<p>After this, whenever you make any changes, just <strong>add</strong>, <strong>commit</strong> and <strong>push</strong>. Simple, isn't it? ?  </p>
<p>After a couple of commits, you will feel comfortable with <strong>git</strong>.  </p>
<blockquote>
<p>Check out this amazing article to learn more: <a target="_blank" href="https://www.freecodecamp.org/news/learn-git-and-version-control-in-an-hour/">Learn Git and Version Control in an Hour</a></p>
</blockquote>
<h1 id="heading-the-tools-and-resources-i-used">The tools and resources I used</h1>
<p>I used many tools and resources while writing, editing, formatting and designing the book.</p>
<h2 id="heading-writing">Writing</h2>
<p>For writing, I used the VS Code editor with a couple of markdown plugins, as I've discussed above.</p>
<p>For emojis, I used <a target="_blank" href="https://getemoji.com/">copy and paste emojis</a>.</p>
<h2 id="heading-editing">Editing</h2>
<p>For correcting grammatical mistakes I used the free version of Grammarly. In the free version, it corrects all the basic mistakes like incorrect or missing articles, prepositions, commas, and so on.</p>
<p>I used the <a target="_blank" href="https://www.ilovepdf.com/add_pdf_page_number">online pdf editor</a> to add page numbers to the book.</p>
<h2 id="heading-formatting">Formatting</h2>
<p>I used the Markdown in Preview plugin in VS Code to generate the PDF format. I used the default Git markdown formatting. You can change the formatting in the settings.</p>
<h3 id="heading-page-breaks-in-the-pdf">Page breaks in the PDF</h3>
<p>As I was writing in markdown format, the PDF output was inconsistent. For example, it starts a new topic from the last page instead of from a new page. </p>
<p>To fix this, I used the page break <code>html</code> code at the end of each topic.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"page-break-after:always;"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<p>This will make the content that follows it start on a new page.<br>You can also add the end of the page-sequence like *<strong>****</strong> this.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"page-break-after:always; display:block; text-align:center; border:none"</span>&gt;</span>*****<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<h3 id="heading-about-me-page">About Me Page</h3>
<p>In the <strong>About Me</strong> section of my book, I divided the content into two columns: a brief about me and a profile picture. </p>
<p>It took me a while to realize the full capabilities of the markdown format. We can add plain <code>html</code> code in it. Here's what my "about me" page says:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> &gt;</span>
  <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">align</span>=<span class="hljs-string">"right"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"padding-left:65px"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"../images/profilepic.JPEG"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"400px"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"450px"</span> /&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>

Hello, I am **_Shubham Kumar Chadokar_**.

I am a Software Engineer and in my short career of almost 4 years, I've had the opportunity to work on Blockchain, Nodejs, Golang, and Docker.

I've learned about other tech as well, but these are my primary focus. I love to write articles and tutorials on new tech by following a hands-on approach. This is my first book.

Front end development isn't my specialty, and that's why I didn't include it in the book.

If you have any queries or questions, please feel free to drop me an email.

:e-mail: [hello@schadokar.dev](hello@schadokar.dev)
:globe_with_meridians: [schadokar.dev](https://schadokar.dev)
<span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://github.githubassets.com/images/icons/emoji/octocat.png"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"width:20px;"</span> /&gt;</span>[github.com/schadokar](https://github.com/schadokar)
</code></pre>
<p>For octacat, I used the <code>img</code> tag.</p>
<p>It looks like this.  </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/about-me-3.PNG" alt="about-me-3" width="600" height="400" loading="lazy"></p>
<h3 id="heading-thank-you-page">Thank You Page</h3>
<p>I added a thank you page to express my gratitude to the <strong>Hyperledger Composer Community</strong> for their work. I tried to add the content in the middle of the page.</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"padding-top:40%; text-align: center; font-size:35px;"</span>&gt;</span>
Thank You <span class="hljs-tag">&lt;<span class="hljs-name">img</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/microsoft/209/person-with-folded-hands_1f64f.png"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"width:40px"</span> /&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"text-align: center; font-size:25px;"</span>&gt;</span>
I especially want to thanks the entire
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"https://github.com/hyperledger/composer/graphs/contributors"</span>&gt;</span>Hyperledger Composer Community<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span> for creating such
an amazing tool. Many developers entered into the blockchain domain because of the simplicity of the composer. <span class="hljs-tag">&lt;<span class="hljs-name">br</span> /&gt;</span>
It is unfortunate that it is deprecated but it sets a great example of easy automation,
wrapping a complex Hyperledger Fabric into the easy to use Hyperledger Composer.
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<p>It looks like this.  </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/thanks-note.PNG" alt="thanks-note" width="600" height="400" loading="lazy">  </p>
<h2 id="heading-book-title-and-sub-title">Book Title and Sub-title</h2>
<p>The book title should make the contents of the book clear in a few words or one short sentence. </p>
<p>While you're writing the book, note down all the keywords you use. This will help you to come up with a great title. You want to capture the essence of the book and let readers know, for example, whether it's theoretical or more hands-on.</p>
<p>A sub-title should give readers more detail about what they will get from this book or what they are going to learn. </p>
<p>A one sentence sub-title is ideal, and shouldn't be any longer than two sentences. Don't overdo it – let readers read the book. The idea is to give readers a taste of the complete book in one sentence but still not to tell anything ?.</p>
<p>My book title is <strong><em>Playtime with Hyperledger Composer</em></strong> and sub-title is <strong>Create a supply chain management project in Blockchain using Hyperledger Composer</strong>.</p>
<p>When you start writing your book, don't spend much time on the book title. When you finish writing, you'll be in a much better position to decide the book title. Everything is written, you know what it is all about, and what others will get from it. </p>
<p>In my case, I changed the book title and book cover at the last moment before publishing it. Before that, it was so boring ?.</p>
<h2 id="heading-designing-the-book-cover">Designing the Book Cover</h2>
<p>You might have heard the idiom <strong>Don't judge a book by its cover</strong>.<br>But the harsh reality is, a book's cover is very important. It is the face of the book. </p>
<p>Try to keep it simple and informative. Don't overdo it. A simple title and a short subtitle with an image or two is more than enough.   </p>
<p>I started designing the book cover by taking references from other books, and trying to edit them in Paint. The result was a complete disaster, and I couldn't think of anything good. </p>
<p>Then I realized that <em>designing is not my cup of tea</em>. I decided to hire a freelancer for this, so I checked out freelancing sites like <strong>UpWork</strong> and <strong>Fiverr</strong>.</p>
<p>Then, I found <a target="_blank" href="https://canva.com"><strong>Canva</strong></a>. It's such a great tool. Amazing! ? ? ? ?</p>
<blockquote>
<p>Canva is a graphic design platform that allows users to create social media graphics, presentations, posters and other visual content. It is available on web and mobile and integrates millions of images, fonts, templates and illustrations. <a target="_blank" href="https://en.wikipedia.org/wiki/Canva">Wikipedia</a></p>
</blockquote>
<p>I used one of the templates from the canva book cover section and created my book cover. Not bad, right? ?</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/book-cover.png" alt="book-cover" width="600" height="400" loading="lazy"></p>
<h2 id="heading-license">License</h2>
<p>I wrote this book out of curiosity and for fun. So, I wanted it to be free, and open-source, but I didn't want others to monetize it. Without a license, there are no restrictions.  </p>
<p>I searched for a while and found a great answer on StackOverflow regarding free licenses, <a target="_blank" href="https://creativecommons.org/licenses/">Creative Commons Licenses</a>.</p>
<blockquote>
<p><strong>Creative Commons is a nonprofit organization that helps overcome legal obstacles to the sharing of knowledge and creativity to address the world’s pressing challenges.</strong></p>
</blockquote>
<p>They have provided a <a target="_blank" href="https://creativecommons.org/choose/">form</a> with a couple of questions related to what kind of license you want. Fill out the form and voilà ?, your license is ready. Copy and paste it or use the embedded link.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/license.PNG" alt="license" width="600" height="400" loading="lazy"></p>
<h1 id="heading-publishing-your-book">Publishing your book</h1>
<p>There are many options you can choose from to publish your book. You can approach a publishing house and send in your draft. If they want to publish you can go ahead and secure a deal. </p>
<p>After this, the publishing house takes care of other processes like formatting, editing your book, creating an attractive book cover, all the licensing, the publishing process, and most importantly marketing.</p>
<p>In short, if you want to monetize your book and you're expecting a good amount, then a publishing house is the best option available.</p>
<p>Another option is self-publishing. Yes, we can self-publish our own books. Amazon's <a target="_blank" href="https://kdp.amazon.com/en_US/">Kindle Direct Publishing</a> provides a great platform for this. It is free and it publishes the book worldwide. </p>
<p>You'll get 70% of the profits for each sale. The kdp take cares of all the publishing process. You just have to write the book, upload it and format it. </p>
<p>You simply enter the price you want to charge, along with some basic info about the book and and yourself. You can follow their tutorials for more info – they have done a great job.</p>
<p>But I wanted to keep my book free and didn't have the patience for the above processes. So, I self-published it without using any third party. </p>
<p>I just converted the book to PDF format and saved it in an AWS S3 Bucket so that anyone can download it. Then I hosted the book on my website. Simple. ?</p>
<h1 id="heading-share-your-work">Share your work</h1>
<p>Once you complete your masterpiece, it is time to show it to the world.<br>If you haven't teamed up with a publisher or even if you did, you have to spread the word.</p>
<p>These are the few platforms I used, but don't limit yourself.</p>
<h2 id="heading-linkedin">LinkedIn</h2>
<p>LinkedIn is a professional platform and many developers are on it, no matter their specialty in the tech world. You'll also find people of every profession, you name it. </p>
<p>Share your work with them, ask for feedback. 90% of the time you'll get a reply. I shared my work with Dan Selmon, one of the Hyperledger Composer contributors, as well as Srinivas Mahankali, who wrote many books on Blockchain. </p>
<p>They were both very helpful and gave their honest feedback. I am thankful to Dan, who even offered to share the book among his network on LinkedIn and Twitter. ?</p>
<h2 id="heading-reddit">Reddit</h2>
<p>Reddit is a community hub. You will find many active communities on various subjects here. You just have to join the community that's relevant to your work and share it there. </p>
<p>You'll find a lot of active members on Reddit, in these groups, and they are not shy to share their opinion. If there is a room for improvement, some of them might offer to help. </p>
<p><em>But before sharing, DO READ THE GUIDELINES. If you violate any of them, they will remove your post</em>.</p>
<h2 id="heading-twitter">Twitter</h2>
<p>Twitter is not just a social platform where people share their opinions. So don't underestimate it. </p>
<p>If you like facts and figures, here you go: there are 1.3+ billion accounts on Twitter, 330 million monthly active users, 152 million daily active users and 500 million tweets per day. This is huge. </p>
<p>You just have to craft your message and select the right keywords within the 280 characters limit and you can potentially reach a large audience.</p>
<h2 id="heading-blogs">Blogs</h2>
<p>Do some research and figure out which publications or digital magazines publish articles in your book's category. Share your book summary and details with them. </p>
<p>Ask them if they can write an article about your book. Or you can write an article about your book and share the draft with those publications.</p>
<p>There are also many other platforms you can try – just do a bit of digging.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>This was my first experience writing a book. It took some time but it was worth it. Now, I have another badge on my portfolio. ?</p>
<p>I learned a lot from this experience. This article serves as documentation of all my learning for anyone who wants to write their first book or their next book.</p>
<p>Below is the final list of tools I've used so far.<br>Any suggestions for others are most welcome.</p>
<p>Thank you for reading and don't forget to share your first book with me. ?</p>
<h1 id="heading-final-list-of-tools-i-used">Final List of Tools I used</h1>
<ul>
<li><strong>Editor</strong>: <a target="_blank" href="https://code.visualstudio.com/">Visual Studio Code</a> with 2 Markdown plugins</li>
<li><strong>Versioning Tool</strong>:Git and <a target="_blank" href="https://github.com">GitHub</a></li>
<li><strong>Emojis</strong>: <a target="_blank" href="https://getemoji.com/">Copy and Paste emojis</a></li>
<li><strong>Grammar Check</strong>: <a target="_blank" href="https://app.grammarly.com/">Grammarly</a></li>
<li><strong>License</strong>: <a target="_blank" href="https://creativecommons.org/licenses/">Creative Commons Licenses</a></li>
<li><strong>Cover Design</strong>: <a target="_blank" href="https://www.canva.com/">Canva</a></li>
<li><strong>PDF page number</strong>: <a target="_blank" href="https://www.ilovepdf.com/add_pdf_page_number">online pdf editor</a></li>
<li><strong>eBook storage</strong>: <a target="_blank" href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">AWS S3 bucket</a>.</li>
<li><strong>Book Hosting</strong>: <a target="_blank" href="https://schadokar.dev/ebooks/">On my blog</a></li>
</ul>
<h2 id="heading-thanks-for-reading">Thanks for Reading</h2>
<p>If you have any feedback or suggestions to help me improve this article please connect with me on <a target="_blank" href="https://twitter.com/schadokar1">twitter</a> or <a target="_blank" href="hello@schadokar.dev">email</a> me.  </p>
<ul>
<li><a target="_blank" href="https://schadokar.dev">Read my other articles</a></li>
<li>Subscribe to <a target="_blank" href="https://schadokar.dev/newsletter/">My Newsletter</a></li>
</ul>
<p><span>Cover photo by <a href="https://unsplash.com/@thoughtcatalog?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Thought Catalog</a> on <a href="https://unsplash.com/s/photos/writers?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
