<?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[ goal-setting - 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[ goal-setting - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 05:06:39 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/goal-setting/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Set Smart Goals You Can Actually Achieve ]]>
                </title>
                <description>
                    <![CDATA[ As we start the new year, it is a good time to reflect back on how the past 12 months went, and gear up for the next 12.  I like to spend a few hours in the beginning of the year doing a reflection of the past year, and ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-set-smart-goals-you-can-achieve/</link>
                <guid isPermaLink="false">66b99ce394b336889c600474</guid>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                    <category>
                        <![CDATA[ motivation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Shruti Kapoor ]]>
                </dc:creator>
                <pubDate>Tue, 24 Jan 2023 17:45:02 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/pexels-skitterphoto-15812.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>As we start the new year, it is a good time to reflect back on how the past 12 months went, and gear up for the next 12. </p>
<p>I like to spend a few hours in the beginning of the year doing a reflection of the past year, and brainstorming goals for the new year. Here’s a reflection of <a target="_blank" href="https://shrutikapoor.dev/posts/2022-Recap">my 2022 year.</a></p>
<p>Setting your goals can be a daunting task. Whether you have already set your goals or still need to do so, this guide will give you the tools and resources you need to set goals that truly matter to you – and help you to achieve them. </p>
<p>It doesn’t matter whether you are starting to set your goals in January, or in the middle of the year. The best time to set your goals is now.</p>
<h2 id="heading-why-is-setting-goals-important">Why is Setting Goals Important?</h2>
<p>Goal setting is important because it provides a clear direction, a plan to follow, and a means to measure progress. It allows individuals to focus their energy and efforts on what is truly important to them, rather than getting bogged down by the many distractions in life.</p>
<p>Goals are an essential part of personal and professional development as they provide direction and purpose to our lives. Having a written goal provides a clear destination to work toward and a roadmap to follow.</p>
<h2 id="heading-framework-for-setting-goals"><strong>Framework for Setting Goals</strong></h2>
<p>In this section, we'll discuss some steps you can follow to setup actionable goals that you feel motivated to follow.</p>
<h3 id="heading-step-1-start-with-your-vision">Step 1: Start with your vision</h3>
<blockquote>
<p>There is one quality which one must possess to win, that is a definiteness of purpose, the knowledge of what one wants, and a burning desire to possess it. – Napoleon Hill</p>
</blockquote>
<p>Here are some prompts to help you set your goals:</p>
<ol>
<li><strong>Envision your legacy</strong>: What impact do you want to make and how do you want to be remembered?</li>
<li><strong>Create a 5-year vision</strong>: Imagine where you want to be in five years and what you want to have accomplished.</li>
<li><strong>Start with your dream</strong>: Think about what you would love to achieve, even if it seems unrealistic.</li>
<li><strong>Reflect on your past</strong>: Think about what you've been wanting to achieve over the last few years.</li>
<li><strong>Consider what you admire in others</strong>: What are the qualities or accomplishments that you admire in other people that you would like to adopt?</li>
<li><strong>Determine what you want to do less of:</strong> Are there any activities or habits that you want to reduce or eliminate?</li>
</ol>
<p>Write down everything that comes to your mind even if it seems crazy. Your wildest dreams may be unrealistic, but this process will help you steer yourself towards achieving them.</p>
<p>For instance, for me, my dream is to write a book that is important to developers in my community.</p>
<h3 id="heading-step-2-break-down-your-vision-into-achievable-goals">Step 2: Break down your vision into achievable goals</h3>
<blockquote>
<p>Your desire to achieve this goal must be so intense that the idea of accomplishing your goal brings you happiness and excitement. – Brian Tracy, Goals!</p>
</blockquote>
<p>Once you have written down what you want to achieve, it is now time to create goals that will help you get there. Here are some strategies for creating achievable goals.</p>
<h3 id="heading-create-goals-from-your-vision">Create goals from your vision</h3>
<p>Working backwards from your vision, think about what goals will help you get there. For example, if your dream is to run a marathon, what goals can help you achieve that? </p>
<p>An example of a goal that would help you achieve this vision would be to run 5 miles every day. For me, that goal would be to write a few words every day. Write down all your goals on a piece of a paper or a digital notepad.</p>
<h3 id="heading-prioritize-your-goals">Prioritize your goals</h3>
<p>If you have a lot of goals at this stage, it helps to pick your topmost goals. When prioritizing, I like to think about the “fire level” I have for each goal. I define “Fire level” as the feeling you get when you think about how badly do you want to achieve your goal? I use 🔥 to denote “HECK YEAH” and 💕 for “would be nice”. </p>
<p>In the book Goal!, author Brian Tracy recommends thinking about your “why” behind the goal and writing it down next to the goal. </p>
<p>Since we have finite time and it is possible you won’t be able to achieve all your goals in one year, knowing your “Why” will help you determine how much fire you have in you to achieve this goal. </p>
<p>Knowing how strongly you want your goal will also help you evaluate if this goal is worth pursuing when it is time to re-evaluate goals.</p>
<h3 id="heading-bring-goals-under-your-control">Bring goals under your control</h3>
<p>You have better chances of achieving your goal if you have control over the outcome. </p>
<p>For example, if I set a goal of becoming a best-selling author, I am setting a goal that is not under my control. I can try to write the best book I can, which is under my control, but how the audience receives it is not under my control. </p>
<p>So to bring this goal under my control, I can reframe my goal to be “write a well-researched book on topics that my audience is interested in”. Now this is under my control, and it makes it achievable for me since I can do research to ensure I am writing a well-informed and in-demand book.</p>
<h3 id="heading-identify-the-areas-that-require-improvement">Identify the areas that require improvement</h3>
<p>For each of your goals, evaluate why you have not achieved your goal yet. In his book Goals!, Tracy recommends identifying any obstacles or barriers that are preventing you from reaching your goal. </p>
<p>Be specific and thorough in considering all possible factors that may be hindering your progress. What are you missing right now to achieve your goal? Where are you good? Where do you need to improve? These are the gaps you need to work on to achieve your goal. Write these down as tasks.</p>
<h3 id="heading-define-success">Define success</h3>
<p>One of the key questions to ask yourself when measuring progress is, "How do I know I achieved this goal?" Having a clear understanding of what success looks like will help you know when you've reached your goal. </p>
<p>In the book Atomic Habits, author James Clear suggests thinking of your goals in terms of quantifiable metrics, such as numbers and percentages. This makes it easy to track progress towards your goals. </p>
<p>For example for me, I will know I am making progress towards achieving my goal if I start writing chapters and have completed a certain number of chapters in a year. So a measure of progress for me is the number of chapters I finish by the end of the year.</p>
<h3 id="heading-step-3-prepare-for-failures">Step 3: Prepare for failures</h3>
<p>As we all know, not everyone who starts a new year’s resolution sticks to it by the end of the year. </p>
<p>How long do you think it takes most people to drop their new year’s resolutions? 23% of people quit by the end of the first week, 64% after the first month (according to a study with Australian and UK citizens), and 81% before the end of the second year. </p>
<p>Why do you think that happens? It’s because people lose motivation when things get tough.</p>
<p><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdfqeo2a4sdw5cn5nrd8.png" alt="Image description" width="750" height="232" loading="lazy"></p>
<p>When we haven’t prepared ourselves for the adverse situations, it becomes hard to stay on track and be motivated to overcome hardships when progressing towards our goal. Instead, when we prepare for failures, we've prepared ourselves ahead of time to tackle the situation.</p>
<p>So to ensure success of your goal, it is important to prepare yourself by thinking about the issues or challenges that might occur. Some questions that can help your prepare yourself are:</p>
<ol>
<li>What will stop you from starting this goal?</li>
<li>What are some things that can go wrong when you are making progress?</li>
<li>What can you do when you encounter failure?</li>
<li>How can you prevent yourself from burning out?</li>
<li>How can you get back on track to keep your momentum going?</li>
</ol>
<p>Write these down next to your goals, so that when you see you are not making progress, you can use these to get back in the momentum.</p>
<p>For example, it will be my imposter syndrome and the habit of procrastination that will stop me from even starting. When I do start, I may feel bored, unmotivated or too tired at the end of the day to write anything. I may run out of ideas while writing or feel burnt out. </p>
<p>But if I prepare myself for these things in advance, I can get a better handle on things when they go south.</p>
<h3 id="heading-step-4-make-it-a-habit">Step 4: Make it a habit</h3>
<p>Once you know your goals, it's time to put them into action. Do something everyday that brings you closer to achieving them, even if it is for a few minutes. </p>
<p>To make it easier to be consistent towards your goals, it helps to establish a system that helps you achieve these habits everyday. In Atomic Habits, author James Clear discusses the importance of setting a habit system. Here are some tips from Atomic Habits that can help you establish your habit system:</p>
<h3 id="heading-find-your-clutter">Find your “clutter”</h3>
<p>Clutter is any time that is not directly progressing you towards your goal, adding to the joy of your life, or helping you relax. </p>
<p>Take an inventory of the time you are spending every day on each clutter activity. By removing your clutter, you can bring intention into your schedule and clear up time to put your goals on your calendar in the form of daily habits.</p>
<h3 id="heading-block-time-in-your-calendar-for-a-habit">Block time in your calendar for a habit</h3>
<p>It becomes a lot easier to achieve your goal, when the habit that will help you achieve that goal is scheduled in your calendar. </p>
<p>It is a lot easier to forget about a goal if it is not accounted for in your day-to-day life. Use your calendar or however you schedule your time to appoint time to achieve goals.</p>
<h3 id="heading-remove-friction">Remove friction</h3>
<p>Instead of relying on motivation, create a system that makes it easy to follow through on your good habits and hard to slip back into bad habits. </p>
<p>Think about how you can help your future self be in the right mindset to achieve the goal. Remove all distractions. </p>
<p>For example, if you are going to workout, make it easy for your future self to get to the gym by keeping your workout clothes next to your bed so you can put them on first thing in the morning, and load up your pump-up playlist on your phone so you can play as you go.</p>
<h3 id="heading-figure-out-baby-steps">Figure out baby steps</h3>
<p>Often, a goal feels overwhelming to achieve because it feels like a giant elephant we need to eat. But, how do you eat an elephant? One bite at a time. </p>
<p>Similarly, in order to build lasting habits, small, incremental changes are incredibly important. Think about what is the smallest thing you can do to make a baby step towards your goal today. </p>
<p>If you are thinking of getting in shape and are struggling to go to gym, put on your favorite workout clothes and go for a walk. Bring out your yoga mat and do an easy yoga practice. </p>
<p>The practice of finishing a small task <a target="_blank" href="https://blog.trello.com/the-psychology-of-checklists-why-setting-small-goals-motivates-us-to-accomplish-bigger-things">towards your goal can release dopamine</a>, which makes us feel motivated, joyful and successful. Our mind wants to achieve that feeling again, and so getting into the habit of achieving smaller tasks towards our goals becomes easier.</p>
<p>For me, this baby step is getting a few words on the page. I will be a lot closer to finishing my book if I put in 200 words every day. This will help me make incremental progress towards my goal by the end of the year.</p>
<h3 id="heading-be-consistent">Be consistent</h3>
<p>Consistency is key to building lasting habits. By sticking to your habits even when you don't feel like it, you'll be able to make it a part of your identity and make it stick.</p>
<h3 id="heading-step-5-find-people-who-support-you-your-hype-squad">Step 5: Find people who support you – your hype squad.</h3>
<p>Having a group of people whom you can reach out to when you are feeling low, unmotivated, doubtful, or lost is really important and often overlooked. </p>
<p>We undervalue how much we are affected by our surroundings, family and co-workers. Think about some people who affect you day-to-day – your friends, family, co-workers, social circle, and folks who you don’t interact with day-to-day but aspire to be like. </p>
<p>I like to think of this group of folks as my hype squad. These are the folks I reach out to when I am in doubt, need advice, want to feel motivated, want them to hype me up, or am just generally looking to get good vibes when I share my accomplishments. </p>
<p>Here are some roles that you should look to fill:</p>
<ol>
<li>Who is someone who can help you reach your goals? Perhaps this is someone who has already achieved this goal themselves. This person can be your mentor.</li>
<li>Who is someone who can be your cheerleader when you feel down? This person can help lift up your spirits when you are feeling doubtful of your skills.</li>
<li>Who can be your accountability buddy? This person can help you stay motivated and on track by checking in with you regularly and helping you stay accountable.</li>
<li>Who should you surround yourself with so you can stay inspired and motivated? These can be experts in the industry, or someone who is excelling in this field. This person will inspire you, motivate you, and keep you focussed on your goal.</li>
<li>Who in your household can help you achieve your goal? We often overlook the importance of family and housemates. Think of how your family can support you in achieving your goal.</li>
</ol>
<p>For example, for my book, my hype squad could include people who have written a book before, and can therefore offer me advice.</p>
<p>Staying accountable and tracking your goals becomes easier when you are part of a supportive and motivated community. For this reason, I created <a target="_blank" href="https://discord.com/invite/umJXpbuCXE">this Discord community</a>. We help each other stay on track by keeping each other accountable, checking in regularly, and hype each other up. I strongly suggest you become a member of this community.</p>
<h3 id="heading-step-6-measure-progress-and-re-evaluate-goals">Step 6: Measure progress and re-evaluate goals.</h3>
<p>Forming habits is a continuous process that requires constant reflection and adjustments in order to improve. Tracking progress, staying motivated, and making necessary changes will aid in this process.</p>
<h3 id="heading-reflect-and-adjust">Reflect and adjust</h3>
<p>Measuring progress towards your goals is an important step in achieving them. Reflect on your progress regularly and be honest with yourself. </p>
<p>If you are not making enough progress, try to understand the reasons behind it. Is it that the “Why” of your goal is not strong enough and you are not motivated to achieve this goal? Is it possible that your schedule is too busy and you don’t have time for this goal?</p>
<h3 id="heading-reward-yourself">Reward yourself</h3>
<p>To make the journey toward achieving your goal more exciting, reward yourself for reaching milestones. This can help keep you motivated and give you a sense of accomplishment. </p>
<p>Celebrating your progress by setting up rewards for yourself can be a great way to stay motivated throughout the process.</p>
<h3 id="heading-have-a-check-in-day">Have a check-in day</h3>
<p>In order to make sure your goals are working for you, setup a check-in day. During this time, you can reflect on your progress, evaluate if the goal still makes sense for you, check if your priorities are the same, and see if there are any obstacles that are preventing you from achieving the goal. </p>
<p>This could mean changing some things around your goal, stopping or pivoting if you're not making progress, or even breaking your long-term goals into smaller, more manageable chunks. </p>
<p>This is also a good time to check in with your hype-squad. This check-in day could be quarterly or monthly.</p>
<h2 id="heading-my-personal-goal-setting-tools">My Personal Goal-Setting Tools</h2>
<p>Here are my personal tools that I use to set goals:</p>
<p>Bullet Journal Goals spread – I mentioned writing down your goals on a piece of paper. I use my bullet journal to write my goals for the year. This is the spread from my 2023 bullet journal</p>
<p><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khrnladlnxnag9t8k6kh.jpg" alt="Goals bullet journal spread" width="4032" height="3024" loading="lazy"></p>
<p>Notion template – I use the framework I described in this blog to break down my goal into smaller tasks, habits, my “why”, the fire level, potential failures and my hype squad. I put this in a digital format that I can keep on me at all times. <a target="_blank" href="https://www.notion.so/Goal-Setting-Template-56a6f9bd3a0b472982683f5beccc4ab6">This is the notion template I use.</a> This is inspired by <a target="_blank" href="https://www.youtube.com/watch?v=FJwp5RBLQcs&amp;ab_channel=AliAbdaal">Ali Abdaal.</a></p>
<p>Discord –This is <a target="_blank" href="https://discord.com/invite/umJXpbuCXE">my accountability community</a> to help you stay on top of your goals. This is a goals cohort, and we check-in with each other monthly. </p>
<p>I am excited to invite the community to join my Discord channel, where we will come together and support each other as we work towards our goals. Together, we will be a powerful force of accountability and motivation, pushing each other to be our best selves. </p>
<p>Whether you're working on personal development, career goals, or just looking for a supportive community, this Discord channel is the perfect place to connect with others who are on a similar journey. By joining forces, we will be able to achieve more than we ever thought possible.</p>
<p>Let's make our dreams a reality!</p>
<p>This is OUR YEAR.</p>
<h3 id="heading-thank-you-for-reading">Thank you for reading!</h3>
<p>If you enjoyed this article, share it with someone you know and spread the knowledge.</p>
<ul>
<li>For more frequent tips, <a target="_blank" href="http://twitter.com/shrutikapoor08">stay in touch on Twitter</a></li>
<li><a target="_blank" href="https://bit.ly/shrutinewsletter">Get articles like this directly in your inbox</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Set Goals that Will Actually Stick ]]>
                </title>
                <description>
                    <![CDATA[ By Megan Kaczanowski It's January, which means for a lot of people it's time to make New Year's Resolutions. Personally, I've never liked the idea of waiting until January to set resolutions for change. But I do like using it as an opportunity to rev... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-set-goals-that-actually-stick/</link>
                <guid isPermaLink="false">66d4605db3016bf139028d73</guid>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 13 Jan 2021 22:25:16 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5fff333898be260817e495b2.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Megan Kaczanowski</p>
<p>It's January, which means for a lot of people it's time to make New Year's Resolutions.</p>
<p>Personally, I've never liked the idea of waiting until January to set resolutions for change. But I do like using it as an opportunity to review what I've accomplished in the last year and set goals for the next.</p>
<h3 id="heading-that-sounds-like-the-same-thing-whats-the-difference-between-a-goal-and-a-resolution">That sounds like the same thing. What's the difference between a goal and a resolution?</h3>
<p>There really isn't one, except that resolutions get a bad reputation (probably deservedly), since by February, around <a target="_blank" href="https://www.businessinsider.com/the-psychology-behind-why-we-cant-keep-new-years-resolutions-2018-1?IR=T">80% of people</a> have already failed to stick to their new year’s resolution.</p>
<p>There are a lot of reasons why that's the case - but a big reason is how hard it is to form new habits. One study found that it can take anywhere from 18 to 254 days to form a habit, depending on the person. They also found that it takes at least 66 days (or more than <a target="_blank" href="https://www.headspace.com/articles/habit-loop"><strong>two months</strong></a>) to make that habit automatic.</p>
<p>There's usually a good reason that people goals give up on their goals - competing priorities (like family and work), or temptations to go back to bad habits (like delicious cookies or an awesome new video game).</p>
<p>Because of that, I follow the same process every year in setting goals and ensuring I'm as successful as I can be. I've done a LOT of research on what makes goals effective, and how to stick to them over the long term.</p>
<p>So, whether your goal is to code for 100 days, learn a new programming language, or start working out regularly, I'm here to talk about how you can set yourself up for success.</p>
<h2 id="heading-how-to-get-started-with-goal-setting">How to Get Started with Goal Setting</h2>
<p>First, write down everything you want to accomplish. Then, narrow it down. Start with one goal, maybe a few if they're in very different fields (for example, you want to get in shape, start a technical blog, and start saving for a house downpayment). All require commitment and time, but in different spheres of your life.</p>
<p>Circle the goals you've chosen. If you do have multiple goals, make sure you know what their relative prioritization is - which one is most important to you? Essentially, if two of your goals come into conflict, which one is more important? You should have an answer to this question before you continue.</p>
<p>If you're struggling with this process, think about your motivation. Is it external? Did someone else tell you that this is important, or is this something important to you?</p>
<p>If it is an externally-motivated goal, figure out how to generate internal (intrinsic) motivation. People are generally much more likely to stick to goals which have intrinsic motivation.</p>
<p>Now, the hard part. Accept that the goals which you didn't circle are going to be ignored until you accomplish your circled goals.</p>
<p>Dividing your time and energy is difficult, but it's also the reason that many people fail to reach their goals. Trying to do too many things at once can be exhausting, and result in you falling back into bad habits.</p>
<h2 id="heading-define-your-goals">Define Your Goals</h2>
<p>Now it's time to refine your goals. There are a LOT of different theories on how to set (and maintain) effective goals, but most share several characteristics.</p>
<p>This info is derived from research by Dr Edwin Locke and Dr Gary Latham, who pioneered much of modern goal setting theory. They outlined 5 characteristics which can help you set and maintain successful goals.</p>
<h3 id="heading-clarity">Clarity</h3>
<p>Make your goals as specific as possible. Instead of saying, 'I want to lose weight' or 'I want to learn Python', try 'I want to lose 10 pounds' or 'I want to create a text-based adventure game'.</p>
<p>These goals are specific enough that you'll know if you've reached them, leaving you with a sense of accomplishment.</p>
<h3 id="heading-challenge">Challenge</h3>
<p>Set difficult goals. Tougher goals will motivate you to work harder. Plus, even if you fail to reach the goal, the progress you'll make toward a very tough goal will get you farther toward your goal than accomplishing an easier goal.</p>
<h3 id="heading-commitment">Commitment</h3>
<p>Demonstrate your commitment to your goal. This can be a financial investment (signing up for a year-long gym membership), or a personal one (telling your family and friends what goal you're working toward and asking them to keep you accountable).</p>
<p>Both options will increase the likelihood that you follow through on your goals.</p>
<h3 id="heading-feedback">Feedback</h3>
<p>Feedback helps you improve on your journey. For example, getting a personal trainer, or a friend who is working on the same coding challenge you are can be very helpful. They can provide direct feedback to help you, or just keep you motivated (and accountable) to keep working toward your goal.</p>
<p>They can also make the task easier by helping out with complex tasks (like creating a workout plan for you, or a syllabus for learning to code).</p>
<p>The more time you have to devote to actually working on your goal, instead of planning out <em>how to work</em> on your goal, the faster you'll be able to accomplish it (essentially the difference between developing a series of steps to learn back-end development and actually carrying those steps out).</p>
<h3 id="heading-complexity">Complexity</h3>
<p>Account for the complexity of the task. If you've never coded before and you're trying to build a project from scratch, account for the extra time you'll need to learn and troubleshoot something you're unfamiliar with.</p>
<p>A great way to do this is to break the goal down into smaller, more manageable tasks. Set these as mini-goals along the way, which can help keep you motivated as you work toward a larger goal. Plus, the more <a target="_blank" href="https://www.nytimes.com/2020/12/29/well/live/new-years-resolutions-2021.html">detailed your goals are</a>, the more likely you are to follow through.</p>
<p>I tend to prefer backward goal setting when working on my goals, but any of the following frameworks can be very helpful! Essentially, the way this works is by thinking backward from your end goal.</p>
<p>For example, one of my 2020 goals was 'I want to pass the AWS Solutions Architect Associate Exam by December 2020.'</p>
<p>Then, I needed to think backwards about how to accomplish the goal. For example, 'I want to pass 3 practice exams with a score of 80% or higher by December 15th'.</p>
<p>I then repeat this process. 'It will probably take me a month of practice questions to achieve the score I want, so I should plan to finish reading all suggested whitepapers by November 15th'.</p>
<p>'I want to read 4 white papers, so if I can read one per week, it will take me one month to finish the whitepapers. Thus, I want to finish an overview course of the material by October 15th'</p>
<p>'The course I plan to take is 60 hours long, and I can dedicate two hours per day to watching course lectures, so I should plan on starting it no later than September 15th.'</p>
<p>In this way, I have a dedicated, step-by-step plan to accomplish my goal and I know exactly when I need to start each stage of my plan.</p>
<p>Key to this strategy is including information on how long I can devote each day/week/month to working toward my goal, how long each stage will take me to complete, and how many stages there are in total.</p>
<h3 id="heading-other-theories-on-goal-setting">Other theories on goal setting</h3>
<p>Here are some other theories on goal setting. Read through them and find the one you think will work best for you.</p>
<ul>
<li><p><a target="_blank" href="https://www.atlassian.com/blog/productivity/how-to-write-smart-goals">SMART (Specific, Measurable, Achievable, Relevant, and Time-Bound) Goals</a></p>
</li>
<li><p><a target="_blank" href="https://www.smartinsights.com/marketing-planning/marketing-models/ogsm-model-framework">OGSM (Objective, Goals, Strategies, and Measures)</a></p>
</li>
<li><p><a target="_blank" href="https://www.thebalancesmb.com/how-to-set-business-goals-with-just-one-word-2951849">Just One Word</a></p>
</li>
<li><p><a target="_blank" href="https://www.thebalancesmb.com/how-to-set-achievable-goals-with-backward-goal-setting-2951823">Backward Goal Setting</a></p>
</li>
<li><p><a target="_blank" href="https://agileleanlife.com/goal-setting/">Goal Journey Map</a></p>
</li>
<li><p><a target="_blank" href="https://www.sitepoint.com/how-to-create-a-big-hairy-audacious-goal/">Big Hairy Audacious Goal</a></p>
</li>
<li><p><a target="_blank" href="https://www.geckoboard.com/blog/setting-company-priorities-golden-circle/">The Golden Circle</a></p>
</li>
<li><p><a target="_blank" href="https://cultivatedculture.com/goal-setting/">Tiered Goal Setting</a></p>
</li>
<li><p><a target="_blank" href="https://www.nytimes.com/2021/01/01/at-home/newsletter.html">Making Tinier Resolutions</a></p>
</li>
<li><p><a target="_blank" href="https://jamesclear.com/buffett-focus">Warren Buffett's Two List Strategy</a></p>
</li>
</ul>
<h2 id="heading-how-to-break-a-habit-loop">How to Break a Habit Loop</h2>
<p>A habit loop can be broken down into three parts - a cue, a routine, and a reward. For example, I have a very bad habit of checking Twitter far too often. That breaks down into the cue (my feeling of boredom), the routine (me checking Twitter), and the reward (my feeling of interest in a tweet).</p>
<p>In order to break that habit, I need to replace the habit and the reward.</p>
<p>For example, since one of my goals this year is to get outside every day, when I feel bored, instead of immediately going to Twitter, I've started getting up and making a cup of tea or going for a quick walk.</p>
<p>Both of those serve as small rewards for me - I end up feeling refreshed, more awake, and more focused. It also means that I'm changing one of the habits which prevents me from reaching my goal (any time I'm mindlessly scrolling Twitter isn't time I'm spending outside).</p>
<p>Identifying the habits you want to change, what prompts them, and what would feel like a reward to you is deeply personal and will depend on what habits you'd like to change. However, identifying the habits which are keeping you from accomplishing your goals are the first step to breaking them.</p>
<p>A quick note that when you're writing goals, it's more effective to write positive goals (like, I want to get outside everyday) rather than negative goals (Watch less TV, spend less time on Twitter, and so on). Your brain tends to find the first more compelling and you're more likely to stick to it.</p>
<h2 id="heading-hold-yourself-accountable">Hold Yourself Accountable</h2>
<p>Physically write down your goals. Buy a notebook just for your goal tracking, tape them to the wall if you like, and tell the people in your life.</p>
<p>Telling other people and writing it down holds you accountable, and makes you more likely to stick to it.</p>
<h2 id="heading-plan-for-obstacles">Plan for Obstacles</h2>
<p>Figure out what kind of obstacles you’re going to face. If you're trying to lose weight, maybe it’ll be those delicious brownies your partner makes, or the fact that you typically order pizza on Friday nights.</p>
<p>If you're trying to carve out time to write technical blog posts, maybe it's your daughter who wants to play a new game with you.</p>
<p>Then, figure out what you can do to change your environment in order to succeed. Often what determines whether or not your goal is successful is not how much self control or determination you have, but how many temptations you have. The fewer temptations, the more likely you are to be able to stick to it.</p>
<p>For example, perhaps ask your partner to save the brownies for special occasions only, or look for other restaurants in the area which offer healthier take-out options.</p>
<p>A big part of any environment is the people around you. Find friends who will support you (ideally folks who are working toward the same goal) - if you're trying to lose weight that might be folks at your gym, or in a local running club.</p>
<p>If you're trying out a 100 days of code challenge, find friends <a target="_blank" href="https://forum.freecodecamp.org/">on the freeCodeCamp forum</a>. Be accountability buddies for each other!</p>
<p>At the same time, figure out who might not support you (perhaps because they want you to continue hanging out with them every week during happy hour) and what to say to them. Tell them what is changing, why, and how much you still appreciate or value them.</p>
<p>And remember – don't sound too apologetic. This is a good thing for you and your friends should celebrate it.</p>
<p>For example, "I've really enjoyed getting together every week, but I'm going to have to start coming every other week. I'm trying to learn how to code and I need to spend Friday nights working on my new project. Thank you for your support!". Practice your script and stick to it.</p>
<h2 id="heading-plan-for-failure">Plan for Failure</h2>
<p>Failure is almost inevitable when you're trying to change old habits. Accept that, and don't beat yourself up too much if you slip up.</p>
<p>Instead, take a deep breath and get back on track – and use science. Studies have shown that people are more likely to be successful during a time that feels like a new beginning (for example, your birthday, or the beginning of new year, or a milestone like moving or starting a new job - or the start of a new week).</p>
<p>So, even if you get off track, use a day that feels like a new beginning to get back on track.</p>
<h2 id="heading-celebrate-small-successes">Celebrate Small Successes</h2>
<p>Make sure you reward yourself for meeting small goals. If you're trying to run a marathon but haven't run much before, try setting goals to run a 5k, 10k, and a half marathon.</p>
<p>When you meet each goal, celebrate it! Try posting on social media, telling your friends, or giving yourself a small reward (I like Snickers bars).</p>
<h2 id="heading-check-in-regularly">Check in Regularly</h2>
<p>Keep track of your progress toward your goals – and check in with yourself (or your accountability buddy) every few months or weeks.</p>
<p>Are you on track? If not, why not? Are there changes you can make in your environment to make you more successful? Or, is the goal less important now, because your priorities have changed? Perhaps it's time for a fresh start with a new goal.</p>
<h2 id="heading-looking-for-more-research-on-goal-setting">Looking for more research on goal setting?</h2>
<ul>
<li><p><a target="_blank" href="https://www.cracked.com/blog/6-harsh-truths-that-will-make-you-better-person/">6 Harsh Truths That Will Make You A Better Person</a></p>
</li>
<li><p><a target="_blank" href="https://www.nytimes.com/2018/12/31/smarter-living/better-habits-tips-new-year-resolutions-science.html?action=click&amp;module=RelatedLinks&amp;pgtype=Article">How to Crush Your Habits in the New Year With the Help of Science</a></p>
</li>
<li><p><a target="_blank" href="https://gostrengths.com/what-is-goal-setting-theory/">Goal Setting Theory</a></p>
</li>
<li><p><a target="_blank" href="https://www.headspace.com/articles/habit-loop">Research on Forming Habits</a></p>
</li>
</ul>
<h2 id="heading-a-sample-template-for-goal-setting">A Sample Template for Goal Setting</h2>
<p>If you're interested in using this method of goal setting, please feel free to use the template below, removing my example and replacing it with one of your own!</p>
<p><strong>Goal:</strong> <em>I want to be able to deadlift 200 pounds by the end of 2021. This goal is clear (200 pounds) and difficult (right now I can only deadlift ~120 pounds). I don't need to account for complexity in this case, as I already deadlift semi-regularly.</em></p>
<p><strong>Break it Down:</strong> <em>In order to accomplish this goal, I need to lift consistently over the entire year (ideally, at least 2x per week).</em></p>
<p><strong>Feedback/Accountability:</strong> <em>I will go to the gym with my partner 2x/week, who will keep me accountable to my goal and will provide feedback on my deadlifting form.</em></p>
<p><strong>Potential Obstacles:</strong> <em>When it's cold, I'd often rather stay inside than go to the gym. Also, part of lifting heavy is eating healthy, and I have a penchant for snickers bars.</em></p>
<p><strong>Break the Loop:</strong> <em>When I'm bored (cue), I go looking for snacks (habit, while the snack is the reward). I'm going to stock healthier snacks, so when I do go looking for snacks, instead of grabbing junk food, I grab fruit or make popcorn on the stove.</em></p>
<p><strong>Plan for Obstacles:</strong> <em>My partner likes the gym more than I do and will be my accountability buddy. Also, I've committed to a gym membership that I have to pay for even if I don't go.</em></p>
<p><strong>Plan for Failure:</strong> <em>I accept that there's a chance that I can't lift as much as I want, but as long as my deadlift improves and I go to the gym regularly, I'm going to be pretty happy because I'll feel healthy (and strong)!</em></p>
<p><strong>Celebrate Small Successes:</strong> <em>Feeling really strong and powerful when I lift heavy weights is a huge motivator for me. That feeling (and some really great music) is how I celebrate my smaller successes.</em></p>
<p><strong>Check In Regularly:</strong> <em>I'm going to use an app called 'Strong Lifts' to track my progress.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Overcome Your Fear of Writing and Find Motivation to Start ]]>
                </title>
                <description>
                    <![CDATA[ Writing about our work is one of those things that most of us have on our to-do list. But whether it's due to procrastination or fear, we never actually get to it. Here's some more motivation and reasons why you should give it a shot! Why should we w... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/overcoming-your-fear-of-writing-and-how-you-can-find-motivation/</link>
                <guid isPermaLink="false">66bee941dceb56d88f491c64</guid>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ education ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learn to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ motivation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ teaching ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Colby Fayock ]]>
                </dc:creator>
                <pubDate>Thu, 30 Apr 2020 14:45:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/04/writing-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Writing about our work is one of those things that most of us have on our to-do list. But whether it's due to procrastination or fear, we never actually get to it. Here's some more motivation and reasons why you should give it a shot!</p>
<h2 id="heading-why-should-we-write-in-the-first-place">Why should we write in the first place?</h2>
<p>Maybe you've never thought about writing before or maybe you're looking for a little more motivation. Whatever the case, there are a lot of good reasons why writing can help us grow.</p>
<h3 id="heading-helping-others-to-learn">Helping others to learn</h3>
<p>Coding can be tough. And we all started somewhere at the beginning.</p>
<p>It's a long journey that each of us go through and it's even harder to go at it alone. Luckily, we've had websites like <a target="_blank" href="https://www.freecodecamp.org/">freecodecamp.org</a> and <a target="_blank" href="https://css-tricks.com/">css-tricks.com</a> along the way that have made that journey more manageable, but there's always going to be a challenge that just doesn't make sense.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/css-tricks-around-2011.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>CSS-Tricks around 2011 when I got my first official coding job via <a target="_blank" href="https://web.archive.org/web/20110701022701/http://css-tricks.com/">Way Back Machine</a></em></p>
<p>This is where we have an opportunity to share our experiences to help others grow. While our favorite coding sites have tons of amazing tutorials, maybe they're missing a key point someone needed to fully grasp the solution. </p>
<p>Whether you're at the beginning or middle of your journey, every experience, big or small, can help another developer on their own journey.</p>
<p>And this is where it can be rewarding. One of my favorite parts of writing has been getting a <a target="_blank" href="https://twitter.com/colbyfayock">Twitter</a> DM from someone about how <a target="_blank" href="https://www.freecodecamp.org/news/author/colbyfayock/">one of my tutorials</a> helped them learn. It's a great feeling knowing you helped someone else on their journey.</p>
<p>Take this as a way for you to give back to the community that helped you learn and grow.</p>
<h3 id="heading-reinforcing-your-learning">Reinforcing your learning</h3>
<p>Thinking back to your grade school Spanish class, one of the tricks to helping the students learn was to reinforce learning. Teachers use different methods like reading, writing, speaking, flashcards, or even that Cinco de Mayo fiesta where you learned about and celebrated Mexico's heritage to help make the language stick.</p>
<p>This applies to development concepts as well. While your solution is still fresh in your head, write it down! Being able to teach what you've learned by writing about it will help those concepts stick in your head.</p>
<p>And just because you write it, it doesn't mean you have to share it. If you're not comfortable sharing it with the world, just keep a copy in a private notebook. You'll always be able to reference it yourself and still reinforce what you know by writing it down.</p>
<h3 id="heading-documenting-our-experiences">Documenting our experiences</h3>
<p>Doubling up on reinforcing your learning, by writing about your experiences, you're kind of creating your own personal <a target="_blank" href="https://stackoverflow.com/">StackOverflow</a> with a list of problems you've already solved.</p>
<p>As much as we had hoped we would remember how to speak Spanish from the classes we took, 10 years goes by pretty quickly and you suddenly realize you can only correctly say "hola" in Spanish.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/hola-sign.jpg" alt="Image" width="600" height="400" loading="lazy">
_Hola sign from Jon Tyson on <a target="_blank" href="https://unsplash.com/photos/8MMtYM_3xMY">Unsplash</a>_</p>
<p>If you were the ambitious type, maybe you saved all of your notes. If not, maybe you remember a good website that has flashcards.</p>
<p>Either way, having resources to go back to, whether it's your own notes or that website you still have bookmarked, helps us to quickly reference challenges we've already come across. By writing down your experiences, you're adding to that digital notebook that you know you can always use to remember that quirk you fixed.</p>
<h3 id="heading-growing-your-personal-network">Growing your personal network</h3>
<p>Everyone has their own reasons for wanting to write and share content – and that's okay! While some of us might be doing this to help others learn, others might be simply trying to get a job or grow their Twitter following.</p>
<p>One of the benefits of sharing your experiences is that you're immediately growing the network of developers that have a little more insight into who you are and the work you've done.</p>
<p>This doesn't guarantee a job, but it certainly can help. All teams are a little different in how they recruit. Smaller teams tend to include other developers more in the beginning of the process who are probably more likely to open your blog and not only read a little bit, but actually understand it.</p>
<p>But even if you don't immediately get hired, you're playing the long game. Opportunities will start to come in small ways that lead to bigger opportunities down the road.</p>
<h2 id="heading-why-you-might-be-hesitating-and-how-we-can-look-at-it-another-way">Why you might be hesitating and how we can look at it another way</h2>
<p>Sometimes motivation isn't enough. We all have our personal challenges that might prevent us from doing something we want to do. But sometimes it's a matter of finding a different perspective to give you that bit of inspiration to finally dive in.</p>
<h3 id="heading-imposter-syndrome-who-am-i-to-write-about-this">Imposter syndrome – who am I to write about this?</h3>
<p>This is something I've personally struggled with for the majority of my career. Whether I was confident in my ability to do my job or not, I never felt like it was enough to be one of the people writing guides for others.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/colby-fayock-personal-website.jpg" alt="Image" width="600" height="400" loading="lazy">
<em><a target="_blank" href="https://www.colbyfayock.com/">My website and blog</a></em></p>
<p>It wasn't until another team member brought another perspective to this argument (thanks Marquet) – everyone learns differently and maybe my way of telling a story can help someone learn. </p>
<p>If someone doesn't read my work, what are the consequences beyond a little bit of wasted time? On the other hand, maybe my blog post resonated with someone in a way that other blog posts didn't and they were finally able to solve their problem.</p>
<p>And this goes for any level of experience. As <a target="_blank" href="https://twitter.com/swyx">Swyx</a> says, <a target="_blank" href="https://www.swyx.io/writing/learn-in-public/">the fastest way to learn is in public</a>. If you're not helping someone else, you're at least helping yourself grow.</p>
<h3 id="heading-finding-time-it-takes-a-while-to-write-a-post">Finding time – it takes a while to write a post</h3>
<p>Time is a funny thing – it becomes an excuse that we use when we don't want to admit the real reason we're holding back.</p>
<p>Of course that's not always the case. Realistically a lot of us have a ton on our plates already whether we work, take care of a family, or are volunteering to help others. It can be a struggle to not want to just sit on the couch after a hard day's work.</p>
<p>But consider the free time you do have. Can you spare 10 minutes jotting down a few notes or even starting an outline of some things you want to say?</p>
<p>While 10 minutes won't write a whole post, if you start the habit and write another paragraph or two every day, you'll slowly end up with a blog post that you can feel good about sharing.</p>
<p>Just don't set the bar too high. If you start off with an unrealistic goal, you're likely to burn out fast and end up back in the same position you're at now.</p>
<h3 id="heading-no-topic-not-knowing-what-to-write-about">No topic – not knowing what to write about</h3>
<p>From speaking with other developers, I've noticed this seems to be tied a little bit to imposter syndrome. Maybe you're getting confident enough that you're more willing to write, but you're struggling to find what to write about. Is it because you can't think of a topic or is it because every topic you think about, you don't think you're enough of an expert to write about it?</p>
<p>Not having a topic can be a legitimate problem, but there's inspiration all around us. If you're working every day as a developer, you're working on problems that you ultimately need to solve. Why not write about those problems? And if you can't write about the problems due to contract concerns, what about writing about them in an abstract way without any sensitive information?</p>
<p>Inspiration for me comes from my experience talking with others. I'm lucky to be on a team that encourages growth of junior developers and during my time helping them out, their questions lead me to think about topics that I took for granted.</p>
<p>Whenever a topic like that comes up, I immediately note it down for later. This topic was on that list! Over time, my list of topics has grown to a point where I don't think I'll even finish it by the end of the year.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/list-of-topic-ideas.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>My personal list of topic ideas</em></p>
<p>While that could feel overwhelming, it's also motivates me to have a bigger selection of what I'm in the mood to write about rather than forcing myself to both think of a new topic and write about something I don't want to write about each week.</p>
<p>Whatever the case, find your source of inspiration. You don't need to be an expert on it. It doesn't matter if someone more experienced already wrote about it. Write what you know. Share your experiences. Maybe you'll help someone see the problem from a different perspective.</p>
<h2 id="heading-finding-what-motivates-you">Finding what motivates you</h2>
<p>At the end of the day, writing is something that each of us will need to find our own motivation to do.</p>
<p>Try to evaluate your goals. What are you looking to achieve? If writing is something you truly want to do, you'll need to find your own source of inspiration.</p>
<p>While some reasons might be more valid than others, it's easier to find reasons not to do something than it is to do it.</p>
<p>You got this! ?</p>
<div id="colbyfayock-author-card">
  <p>
    <a href="https://twitter.com/colbyfayock">
      <img src="https://res.cloudinary.com/fay/image/upload/w_2000,h_400,c_fill,q_auto,f_auto/w_1020,c_fit,co_rgb:007079,g_north_west,x_635,y_70,l_text:Source%20Sans%20Pro_64_line_spacing_-10_bold:Colby%20Fayock/w_1020,c_fit,co_rgb:383f43,g_west,x_635,y_6,l_text:Source%20Sans%20Pro_44_line_spacing_0_normal:Follow%20me%20for%20more%20JavaScript%252c%20UX%252c%20and%20other%20interesting%20things!/w_1020,c_fit,co_rgb:007079,g_south_west,x_635,y_70,l_text:Source%20Sans%20Pro_40_line_spacing_-10_semibold:colbyfayock.com/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_68,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_145,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_222,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_295,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/v1/social-footer-card" alt="Follow me for more Javascript, UX, and other interesting things!" width="2000" height="400" loading="lazy">
    </a>
  </p>
  <ul>
    <li>
      <a href="https://twitter.com/colbyfayock">? Follow Me On Twitter</a>
    </li>
    <li>
      <a href="https://youtube.com/colbyfayock">?️ Subscribe To My Youtube</a>
    </li>
    <li>
      <a href="https://www.colbyfayock.com/newsletter/">✉️ Sign Up For My Newsletter</a>
    </li>
  </ul>
</div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ My 2019 in Review and My 2020 Goals (with numbers and earnings) ]]>
                </title>
                <description>
                    <![CDATA[ By Florin Pop In this post we're going to take a look at how 2019 was for me (mostly professionally) and we're also going to set some goals for 2020! ? I really love numbers, so I'm also going to show you how 2019 was in numbers. I'm also going ]]>
                </description>
                <link>https://www.freecodecamp.org/news/2019-in-review-and-2020-goals-with-numbers-and-earnings/</link>
                <guid isPermaLink="false">66d45edbd14641365a0508ed</guid>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 03 Jan 2020 06:29:35 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/01/2019-in-review-2020-goals.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Florin Pop</p>
<p>In this post we're going to take a look at how 2019 was for me (mostly professionally) and we're also going to set some goals for 2020! ?</p>
<p>I really love numbers, so I'm also going to show you how 2019 was in numbers. I'm also going to share some of the earnings that I made blogging, creating content, and freelancing.</p>
<p>Hopefully this will inspire you to start working on the things that you love (as I am doing now ?).</p>
<p><strong>Note:</strong> the first part of the article is my 2019 story. So if you are only interested in the numbers and earnings part, jump down to the end of the article. ?</p>
<h2 id="heading-2019-in-review">2019 In Review</h2>
<h3 id="heading-general-overview-the-story">General Overview - The story</h3>
<p>I started blogging again in <strong>February 2019</strong> after taking a break for 1.5 years. At the same time I was working as a Remote ReactJS developer for a company and spent my evenings and mornings writing articles. <br>
I always liked the idea of sharing the things that I'm building so I decided to start blogging again, determined to make it work this time. ?</p>
<p>I also started being active on Twitter. I had around <strong>300 followers</strong> back in February 2019. <br>
I quickly found out that the Twitter community is amazing, so it was a joy to share the little things that I was doing with the community - and the feedback was great!</p>
<p>Soon after that (somewhere around April or May) I noticed that people really enjoyed the things that I was doing (and saying ?). So I decided that, starting with January 2020, I was going to go full-time as a blogger. </p>
<p>But...considering that I'm not the most patient guy in the world ?, in June I told my wife that I wanted to quit my job sooner. Like 6 months sooner. ?</p>
<p>At first she wasn't 100% on-board (I can't blame her as I was the only one providing for the family - she was still in school). But after doing some calculations we saw that I could give it a try because we had enough money saved to live off for the next 6 months. So she agreed (and I can't thank her enough, not only for accepting, but for supporting me throughout this journey ?).</p>
<h3 id="heading-become-a-full-time-blogger-the-semi-depression">Become a full-time blogger + the "semi-depression"</h3>
<p>So I did it. <strong>5th July</strong> was my last day as an employee.</p>
<p>My journey as a full-time blogger &amp; content creator began! ?</p>
<p><strong>Note</strong> that I also had some deals with publications which involved me writing tech articles for them - so at least I had the prospect of making a little bit of money. ?</p>
<p>I ended up only writing one or two paid articles (shame, shame!) and I soon got into a "semi-depression" (at least that's what I call it). <br>
It mostly came from the fact that after 1-2 months of being a full-time blogger, I didn't achieved my expectations of writing X articles, making Y amount of money, etc... all the things that I'd been planning.</p>
<p>By this time I was making around <strong>$150 a month</strong> from Ads and Patreon - which obviously wasn't the amount I was expecting. And it was all my fault.</p>
<p>I had the opportunity to write paid articles, but for some reason I couldn't do it. I believe it was because of the pressure I put on myself for writing PERFECT articles because they were paid.</p>
<p>We took a 2 week break and visited the Black Sea. It did wonders for my mental health. I stopped putting so much pressure on myself and I started enjoying the process.</p>
<p>After we came home I took on the <a target="_blank" href="http://florin-pop.com/blog/2019/09/the-$200-challenge/">$200 in 4 days Challenge</a> and I proved to myself that I was able to make money if I had to. This boosted my morale and my productivity increased!</p>
<p>Soon after that I started the <a target="_blank" href="http://florin-pop.com/blog/2019/09/100-days-100-projects">#100Days100Projects Challenge</a> - creating one project every day for 100 days in a row.</p>
<p>This challenged ended up getting me one of the biggest deals ever which covered us in terms of the income for the rest of 2019.</p>
<h3 id="heading-started-a-youtube-channel">Started a YouTube channel</h3>
<p>Fast-forward to November. After struggling a lot and thinking that my accent was bad (more or less in my mind), I decided to start a <a target="_blank" href="https://www.youtube.com/channel/UCeU-1X402kT-JlLdAitxSMA">YouTube channel</a>.</p>
<p>It exploded quickly thanks to my wonderful followers on <a target="_blank" href="https://twitter.com/florinpop1705">Twitter</a>, reaching 1,000 subscribers in less than a month! ?</p>
<h3 id="heading-finally-made-some-cash">Finally made some cash ?</h3>
<p>I've read many books and watched probably thousands of hours of YouTube videos and courses on how to monetize your passions (blog, YouTube channel, etc). So I finally ended up actually doing something in that regard. ?</p>
<p>I did 3 things to earn some extra money:</p>
<ul>
<li>Added ads on my blog</li>
<li>Created a <a target="_blank" href="https://www.patreon.com/florinpop17">Patreon</a> page to be able to accept donations</li>
<li>Became an affiliate and started promoting web development courses</li>
</ul>
<p><em>Below you can see how much I made.</em></p>
<h2 id="heading-the-numbers-2019">The Numbers - 2019</h2>
<h3 id="heading-my-blog">My blog</h3>
<ul>
<li>wrote <strong>53 articles</strong> on my blog</li>
<li>had <strong>124k visitors</strong> for a total of <strong>309k page views</strong></li>
<li>got <strong>1200 email subscribers</strong> (although I haven't promoted it very much. In 2020 I have to do a better job)</li>
</ul>
<p>Here are my Google Analytics stats:
<img src="https://www.florin-pop.com/static/b9734d741725a2d93a38644f058daaec/a8a18/2019-in-review-2020-goals-analytics.png" alt="Google Analytics" width="600" height="400" loading="lazy"></p>
<h3 id="heading-youtube">YouTube</h3>
<ul>
<li>created <strong>11 videos</strong> and made <strong>2 live streams</strong></li>
<li>got <strong>1,779 subscribers</strong></li>
<li><strong>13.1k views</strong></li>
<li><strong>414 watch hours</strong></li>
</ul>
<p><a target="_blank" href="https://www.youtube.com/channel/UCeU-1X402kT-JlLdAitxSMA">Subscribe here</a> if you want to follow my YouTube journey. I'm planning a lot of interesting things for 2020 and you don't want to miss it! ?</p>
<h3 id="heading-other-achievements">Other achievements</h3>
<ul>
<li>got roughly <strong>400k page views</strong> on my articles on Medium, freeCodeCamp and Dev.to combined</li>
<li>got <strong>11k followers on Twitter</strong> - the best community ever! ?</li>
<li>wrote <strong>8.5k+ tweets</strong> - had to put in some work to get people to notice me ?</li>
<li>created the <a target="_blank" href="https://github.com/florinpop17/app-ideas">app-ideas</a> repository which got <strong>8k stars</strong> on GitHub</li>
<li>created and finished the <a target="_blank" href="https://www.freecodecamp.org/news/blog/2019/09/100-days-100-projects">#100Days100Projects</a> Challenge</li>
<li>won the Top 7 award on dev.to - <strong>twice</strong></li>
<li><strong>Top 100 Contributor</strong> for FreeCodeCamp in 2019</li>
<li><strong>Top 500 Contributor</strong> for Dev.to in 2019</li>
<li><strong>Top 12 most hearted pen</strong> on CodePen in 2019</li>
<li>had <strong>25 1-on-1 meetings</strong></li>
<li>gifted <strong>11 Udemy Courses</strong> as Giveaways (more of these coming in 2020!)</li>
</ul>
<h3 id="heading-earnings">Earnings:</h3>
<ul>
<li><strong>$491.15 from donations</strong> on Patreon (pre-tax, since May/June)</li>
</ul>
<p><img src="https://www.florin-pop.com/static/027b6f59b62d8e40cc8cbb8b274afb27/d0324/2019-in-review-2020-goals-patreon.png" alt="Patreon" width="600" height="400" loading="lazy"></p>
<ul>
<li><strong>$359.11 from Ads</strong> (since May)</li>
</ul>
<p><img src="https://www.florin-pop.com/static/1fe404425835f204c962057feef3723a/d4f9b/2019-in-review-2020-goals-ads.png" alt="Ads" width="600" height="400" loading="lazy"></p>
<ul>
<li>and <strong>$1,046.97 as an affiliate</strong> promoting web development courses (since November)</li>
</ul>
<h2 id="heading-plans-and-goals-for-2020">Plans and goals for 2020</h2>
<p>My main focus in 2020 will be my <a target="_blank" href="https://www.youtube.com/channel/UCeU-1X402kT-JlLdAitxSMA">YouTube channel</a>.</p>
<p>This is why I started the year with another challenge: <a target="_blank" href="https://www.youtube.com/watch?v=5ElUDN2It0E">#31Days31Videos</a> where I'm planning to post one video every day at 4PM (UTC+2) for the entire month of January. Hopefully this will help me acheive my goals (see below).</p>
<p>YouTube channel goals:</p>
<ul>
<li>upload <strong>150 videos</strong></li>
<li>have at least <strong>30 live streams</strong></li>
<li><strong>100,000 Subscribers</strong> by the end of the year ? - this is probably the biggest goal that I've ever set!</li>
<li><strong>4k watch hours</strong> by the end of March - this is needed in order to get monetized on YouTube (it would be great to get some extra money, right?)</li>
<li><strong>1M views</strong> for the entire year</li>
</ul>
<p>Blog goals:</p>
<ul>
<li>write <strong>100 articles</strong></li>
<li>get to <strong>100k monthly views</strong> by the end of 2020</li>
<li>or a total of <strong>1M views</strong></li>
<li>get to make <strong>$200 / month</strong> from ads by the end of 2020</li>
<li><strong>10k email subscribers</strong></li>
</ul>
<p>Social Media goals:</p>
<ul>
<li><strong>25k <a target="_blank" href="https://twitter.com/florinpop1705">Twitter</a> followers</strong></li>
<li><strong>10k <a target="_blank" href="https://instagram.com/florinpop17">Instagram</a> followers</strong></li>
<li><strong>200 <a target="_blank" href="https://patreon.com/florinpop17">patrons</a></strong> sometime in 2020</li>
</ul>
<p>Money / earning goals:</p>
<ul>
<li><strong>$2k / month</strong> average from January to June (or <strong>$12k</strong>)</li>
<li><strong>$4k / month</strong> average from July to December (or <strong>$24k</strong>)</li>
</ul>
<hr>
<ul>
<li><strong>$36k in total</strong></li>
</ul>
<p>Other goals:</p>
<ul>
<li>create <strong>3 digital products</strong></li>
<li>create <strong>an online course</strong></li>
<li>write <strong>an ebook</strong></li>
<li>build a <strong>SAAS</strong> (or something with MRR / monthly recurring revenue)</li>
<li>mentor <strong>4 people</strong> directly</li>
<li>read <strong>26 books</strong></li>
</ul>
<h2 id="heading-conclusion">Conclusion</h2>
<p>I hope you found this article useful and that it inspires you to start going after your own goals! Make sure you write your goals down (either on a piece of paper or in a word document as I have it). It's important!</p>
<p>Come back later if you want to see my progress.</p>
<p>I wish you an amazing 2020! ?</p>
<p><em>This article was originally posted on <a target="_blank" href="https://www.florin-pop.com/blog/2019-in-review-2020-goals/">my blog</a></em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to 10x Your Productivity by Creating a Process ]]>
                </title>
                <description>
                    <![CDATA[ By Yazeed Bzadough Thank You My last article on killing procrastination did much better than I expected. It was reassuring to see others like myself fighting this uphill battle, and heartwarming to hear that you all enjoyed my humble piece! Thank you... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/10x-your-productivity-by-creating-a-process/</link>
                <guid isPermaLink="false">66d461784a0edd9b48e835a1</guid>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ motivation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ React ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 10 Jul 2019 10:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/vegeta-process-web.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Yazeed Bzadough</p>
<h2 id="heading-thank-you">Thank You</h2>
<p><a href="https://yazeedb.com/posts/how-to-kill-procrastination">My last article</a> on killing procrastination did much better than I expected. It was reassuring to see others like myself fighting this uphill battle, and heartwarming to hear that you all enjoyed my humble piece! Thank you ❤️</p>
<p>In an effort to keep the momentum going, let’s talk about creating processes.</p>
<h2 id="heading-im-going-somewhere">I’m Going Somewhere!</h2>
<p>You’re scrolling through your phone and YouTube recommends yet another motivational video because it knows how much you love them, <em><strong>How I Tripled my Net Worth</strong></em> or whatever. You listen to soundbites of a dude claiming that deep breathing and not eating vegetables transformed him into a CEO.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/haha-business-1.jpg" width="600" height="400" alt="haha-business-1" loading="lazy"></p>
<blockquote>
<p>Man triples his net worth by eschewing broccoli</p>
</blockquote>
<p>Like all the others it’s loud and bold enough to stir a familiar feeling within you, and by the time the video ends, a sudden amp and feverish itch make it clear as day–you’ve been bitten by the Inspiration Bug again.</p>
<p>What happens next? Just the usual...</p>
<blockquote>
<p>“I will become a web developer!”</p>
<p>“I will start working out tomorrow!”</p>
<p>“I will get a promotion!”</p>
</blockquote>
<p>Your battle cries may vary, but your mileage won’t. <strong>You are still going nowhere</strong>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/goku-ui-inspired.jpg" alt="goku-ui-inspired" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/goku-tired-unmotivated.jpeg" alt="goku-tired-unmotivated" width="600" height="400" loading="lazy"></p>
<h2 id="heading-care-to-be-more-specific">Care to Be More Specific?</h2>
<p>What does “I will become a web developer” even mean? How can we track progress on these nebulous phrases that you shout whenever inspiration strikes?</p>
<p>I'm not saying don't have lofty goals. Be inspired. Get energized! But please use that energy to be more specific. Talking feels good, we’ve gone over this, but when you inevitably come back down from that inspirational high, what are your concrete actions going to be?</p>
<p>Don’t just say, “I am going to learn web development” Do you know how gargantuan of a task that is?!</p>
<ul>
<li>HTML, CSS, JavaScript</li>
<li>Frameworks/Libraries</li>
<li>Testing</li>
<li>Accessibility</li>
<li>Build tools</li>
<li>HTTP</li>
<li>SEO</li>
<li>Animations</li>
<li>REST APIs</li>
<li>Templating engines</li>
<li>State management</li>
<li>Command line</li>
<li>Fatigued yet?</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/js-ecosystem-2016.png" alt="js-ecosystem-2016" width="600" height="400" loading="lazy"></p>
<blockquote>
<p>This is the JS ecosystem from 2016...<em>three years ago!</em></p>
</blockquote>
<p>I was suffering from this around 2013, before JavaScript <em>really</em> detonated a few years later. If we’re going by that definition then even with nearly 5 years experience, I still haven’t “learned” web development and I never will.</p>
<p>Every endeavor has a ton of paths, and most of us waste precious time considering all possible paths instead of just committing to one and flourishing.</p>
<p>You're going to end up unmotivated again, because a specific target wasn't set.</p>
<h2 id="heading-tell-me-what-you-want">Tell Me What You Want</h2>
<p>You want to become a web developer, ok great.</p>
<p>What kind? Why?</p>
<p>Do you want a job? What kind of job? Do you want a business? What kind of business? <strong>Tell me exactly what you want!</strong> Once we identify your target, we can prepare for the hunt.</p>
<p>Here's an example of Batman guiding Joker through it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/joker-picks-frontend-development-1.png" alt="joker-picks-frontend-development-1" width="600" height="400" loading="lazy"></p>
<blockquote>
<p><strong>Joker</strong>: Fine! I flipped a coin and think UIs are cool, let’s focus on Front-End development (for now). I want to become a <em>Front-End</em> web developer.</p>
<p><strong>Batman</strong>: Good, where?</p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/batman-advises-joker.png" alt="batman-advises-joker" width="600" height="400" loading="lazy"></p>
<blockquote>
<p><strong>Joker</strong>: I have kids, so no more than 1 hour from the house. A remote position would be ideal.</p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/batcomputer-indeed-job-postings.png" alt="batcomputer-indeed-job-postings" width="600" height="400" loading="lazy"></p>
<blockquote>
<p><strong>Batman</strong>: Here’s a job description based on countless Indeed.com postings.</p>
</blockquote>
<h3 id="heading-job-description">Job description</h3>
<ul>
<li><p>Strong knowledge of HTML, CSS, JavaScript</p>
</li>
<li><p>Knowledge of modern mobile/responsive design techniques</p>
</li>
<li>Git/GitHub</li>
<li>Excellent verbal and written communication</li>
<li>Bonus points for React, Angular, Vue, Node.js</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/joker-asks-fastest-way-to-succeed.png" alt="joker-asks-fastest-way-to-succeed" width="600" height="400" loading="lazy"></p>
<blockquote>
<p><strong>Joker</strong>: What’s the fastest way to succeed?</p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/batman-helps-joker-create-a-process.png" alt="batman-helps-joker-create-a-process" width="600" height="400" loading="lazy"></p>
<blockquote>
<p><strong>Batman</strong>: Turn yourself into this candidate. We’ll work towards that by creating a process.</p>
</blockquote>
<h2 id="heading-creating-a-process">Creating a Process</h2>
<p>This requires you to critically think about the goal. What steps must we take to progress?</p>
<p>How about a project that incorporates the job description we just found? I always recommend beginners to make a clone of <a href="http://todomvc.com/examples/vanillajs/">todomvc.com.</a> For best results, conform as close to the job description as possible.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/todo-mvc.png" alt="todo-mvc" width="600" height="400" loading="lazy"></p>
<ul>
<li>Use HTML, CSS, and JavaScript</li>
<li>Make sure the app looks spectacular on all screen sizes</li>
<li>Put it on GitHub</li>
<li>Not everyone will agree here, but I say don't use a framework until you’re somewhat proficient in JavaScript. This means you can comfortably write basic apps without needing a framework and you understand how the pieces connect in a more complex app.</li>
<li>Once you’re more advanced, feel free to redo this in React, Angular, Vue, etc.</li>
</ul>
<h2 id="heading-less-shopping-more-googling">Less Shopping, More Googling</h2>
<p>The important thing here is to pick a project. Don't buy another course or book until it gets done. <strong>You’ll learn everything by Googling the problems you encounter.</strong></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/07/googling-project-problems-ftw.jpg" alt="googling-project-problems-ftw" width="600" height="400" loading="lazy"></p>
<p>After that, pick a different or slightly harder version of the project, rinse and repeat. Do that a few times and you have a portfolio of apps you built from the ground up.</p>
<p>There’s your process–congratulations, you’re now exactly like the candidate in that job description. Maybe even better, depending on the apps you completed.</p>
<h2 id="heading-this-works-everywhere">This Works Everywhere</h2>
<p>I’m a huge fan of universal principles, and <strong>create a process</strong> is one of them.</p>
<p>Whatever you’re doing–programming, speaking, lifting, sports, chess, Chinese, you learn it through following a trusted process. Either pay someone (school, bootcamp, course, mentor) to create that process, or do it yourself.</p>
<p>Bottom line is that process <em>must</em> be created, otherwise you’ll keep getting inspired, making vague declarations of change, and remain the same.</p>
<p>That’s momentum my friends. It’s wrecked me several times, and now I know some of you feel that pain too. It’ll push us right off the cliff unless we slam the brakes and turn the car around.</p>
<p>But just remember next time, before you start going the other direction, use a map.</p>
<p>Until next time!</p>
<p><em>For more content like this, check out <a href="https://yazeedb.com">https://yazeedb.com</a>!</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to set up a short feedback loop as a solo coder ]]>
                </title>
                <description>
                    <![CDATA[ I’ve spent the last couple years as a solo freelance developer. Comparing this experience to previously working in companies, I’ve noticed that those of us who work alone can have fewer iterative opportunities for improvement than developers who work... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-set-up-a-short-feedback-loop-as-a-solo-coder-67709cba21e0/</link>
                <guid isPermaLink="false">66bd8f5527629f4c5e1893b0</guid>
                
                    <category>
                        <![CDATA[ goal-setting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Victoria Drake ]]>
                </dc:creator>
                <pubDate>Fri, 13 Jul 2018 21:30:46 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*pmBhfr3r0VgXfvG_9Uu1pQ.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>I’ve spent the last couple years as a solo freelance developer. Comparing this experience to previously working in companies, I’ve noticed that those of us who work alone can have fewer iterative opportunities for improvement than developers who work on teams.</p>
<p>In order to to have opportunity to improve, we need to embrace the concept of a short feedback loop. This is a process of incorporating new learning from observation and previous experience continuously over a short period of time. This process has to be <strong>manufactured</strong> by people working mostly alone, instead of, as is often the case, <strong>adopted</strong> when you join a team.</p>
<p>In this post, I hope to share what I’ve learned about setting yourself up to improve quickly and continuously as a solo coder.</p>
<h3 id="heading-about-feedback-loops">About feedback loops</h3>
<p>United States Air Force Colonel John Boyd developed the concept of the <a target="_blank" href="https://en.wikipedia.org/wiki/OODA_loop">OODA loop</a>, OODA being an acronym for <strong>observe, orient, decide, act</strong>. In military operations, this illustrates a process of decision-making based on the constant ingestion of new information:</p>
<p><strong>Observe:</strong> Obtain raw information about unfolding circumstances and the current environment.</p>
<p><strong>Orient:</strong> Put raw observations in context. Consider such things as relevancy to the current situation and previously gained knowledge and expertise.</p>
<p><strong>Decide:</strong> Make a plan for moving towards your goal.</p>
<p><strong>Act:</strong> Execute the plan.</p>
<p>Since it’s a loop, the <strong>act</strong> stage leads directly back into the <strong>observe</strong> stage. This is the critical “feed back” concept that enables increasingly successful iterations. It’s widely applicable beyond military operations — you may recognize it as the origin of the <a target="_blank" href="https://en.wikipedia.org/wiki/PDCA">PDCA</a> (plan-do-check-act) method.</p>
<p>I like the OODA loop, as it’s a succinct illustration of a general feedback loop. Many concepts and working methods build on the idea of feedback loops, including <a target="_blank" href="https://en.wikipedia.org/wiki/DevOps">DevOps</a> and <a target="_blank" href="https://en.wikipedia.org/wiki/Agile_software_development">agile software development</a> methods.</p>
<h3 id="heading-development-team-feedback-loop">Development team feedback loop</h3>
<p>Let’s look at what some components of a feedback loop for a developer on a team might look like:</p>
<ol>
<li>Direction from product owners or reviews from users</li>
<li>Daily scrum/standup with whole team</li>
<li>Prioritization with developer team</li>
<li>Individual coding and testing</li>
<li>Peer code review</li>
<li>Deployment and performance monitoring</li>
</ol>
<p>Implicit in these steps is the support of co-workers and management — in other words, someone to answer to. How can a solo freelance developer create a similar environment of accountability?</p>
<h3 id="heading-solo-developer-feedback-loop">Solo developer feedback loop</h3>
<p>Here are some possible steps that an individual freelance developer can implement to create a short feedback loop:</p>
<ol>
<li>Build discipline</li>
<li>Clarify concrete top-level goals</li>
<li>Prioritize and plan mid-level and low-level goals</li>
<li>Automate your work</li>
<li>Block out time for code review</li>
<li>Block out time for process review</li>
<li>Update your goals and processes with the results of your reviews</li>
</ol>
<p>I’ll cover each of these stages in detail below.</p>
<h4 id="heading-build-discipline">Build discipline</h4>
<p>More of a prerequisite than a stage in itself, building discipline is what enables our short feedback loop to work. Nothing else in this article will be helpful unless we have the skill to do something we don’t want to do. Discipline is most certainly a skill. It can be learned, trained, and improved just like any other.</p>
<p>Why is discipline so important? Because when we’re crunching to get a project completed this Friday evening, we’re not going to want to write a good commit message. We’re not going to want to clean up the code comments. We just want to see the darn thing go, <em>Hello, git push -f</em>.</p>
<p>It’s in those moments that discipline enables us to not miss an opportunity to practice, learn, and improve our work process. Discipline helps us avoid Friday night commits that turn into Monday morning <code>git reset --hard</code>s.</p>
<h4 id="heading-clarify-concrete-top-level-goals">Clarify concrete top-level goals</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/FSBRpf7OG7Jq2t0heAlZu4PLkFgpWIk3sW6p" alt="Image" width="800" height="400" loading="lazy"></p>
<p>Whether working for a client or bootstrapping our own best-new-app-ever, we won’t be able to measure any progress or improvements without something to measure them against.</p>
<p>When I’m discussing a new project with a client, I always speak in terms of concrete achievements. This could take the form of accomplishing a specific feature by a certain date, or deciding what the MVP looks like to a user. This is as much for my benefit as my client’s. By agreeing, in writing, <strong>what</strong> will be achieved and <strong>when</strong>, my client and I have clearly defined top-level goals and can both assess how the project is progressing.</p>
<p>When I’m working for myself, I treat myself as I would a client. I make a commitment, in writing, describing what will be achieved, and when. This can be something as simple as a goals list for the week, or as detailed as a kanban board.</p>
<p>The point of having a concrete goal, however, is not to stick to it at all costs. It’s important to set an expectation, with ourselves and with our clients, that the goals will be revisited at mutually-agreeable dates over the course of the project. This enables the all-important “feed back” part of the loop.</p>
<h4 id="heading-prioritize-and-plan-mid-level-and-low-level-goals">Prioritize and plan mid-level and low-level goals</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/ne08OzeVcFueWzqHi5iS5spqEzuVgL6Vzhhc" alt="Image" width="800" height="320" loading="lazy"></p>
<p>Few goals are achieved all in one step. Even the simple process of making a peanut butter and jelly sandwich (a favourite computer programming <a target="_blank" href="https://www.youtube.com/watch?v=y62zj9ozPOM&amp;t=1016s">teaching example</a>) can be broken down into successively smaller, more precise instructions. While we humans may not require the granularity that a computer program does, goals that are chunked into time-boxed, achievable steps are much more easily digested. ?</p>
<p>Start with the mid-level goals, and make each step concrete. If the goal is to release a new open source web app, for example, the steps might look like this:</p>
<ol>
<li>Complete app JavaScript</li>
<li>Create front end and stylesheet</li>
<li>Do local tests</li>
<li>Set up cloud server</li>
<li>Deploy app to cloud</li>
<li>Do tests</li>
<li>Add repository to GitHub</li>
<li>Post on Hacker News</li>
<li>Profit!!!</li>
</ol>
<p>Each of the above examples encapsulates many smaller, low-level goals — we can think of these as our to-do list items. For example, “Set up cloud server” might involve:</p>
<ol>
<li>Research cloud providers</li>
<li>Decide on service and sign up</li>
<li>Set up server/instance</li>
<li>Add integrations</li>
<li>Test deployment</li>
</ol>
<p>Our parameters for chunk sizes and what constitutes a “step” may be different from one another, and will likely change from project to project. If your mid-level and low-level steps clearly define a concrete path for achieving the top-level goals you set, then you’re in good shape. Later on, evaluating the decision process that brought us to these mid-level and low-level goals enables us to bring our feedback loop full circle.</p>
<h4 id="heading-automate-your-work">Automate your work</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/YQiux-ArUTRIoqGGcNSAY7W1cyjyG1SiHTJG" alt="Image" width="800" height="400" loading="lazy"></p>
<p>I recently read a great article entitled <a target="_blank" href="https://queue.acm.org/detail.cfm?id=3197520">Manual Work is a Bug</a>. It discusses a process by which successful developers document and eventually automate their work. The beauty of this idea is in its simplicity. By writing down the things we do manually, we’re able to correct and refine our processes. By refining our processes, we can more easily translate them into code snippets and scripts. With a collection of scripts that we can string together, we can automate our work.</p>
<p>Automating work isn’t only about saving time. It reduces haven’t-had-my-coffee-yet errors, minimizes cognitive load allowing more room for creativity, and allows our processes to be repeatable across collaborators and projects. It help shorten our feedback loop by ensuring we aren’t doing the same thing three times in three different ways.</p>
<p>We can begin to automate by starting our own personal wiki. If we build a habit of writing down every manual thing we do, no matter how basic it may seem at the time, we give ourselves more opportunities to spot patterns, and thus possible integrations and improvements.</p>
<p>The first time we do something manually, we write out the steps. The second time, we follow the steps. This gives us the opportunity to correct and refine them based on what we’ve learned since the first time.</p>
<p>Over successive iterations, we might replace parts of manual commands with variables. We might find handy snippets of bash scripts that automate just a part of our task. As long as we keep revising and improving our personal wiki, we’re moving towards automation.</p>
<h4 id="heading-block-out-time-for-code-review">Block out time for code review</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/j0xWdQE2By2JGa9VFfRjL88NWz7ERedqY21F" alt="Image" width="800" height="360" loading="lazy"></p>
<p>It’s all too easy to commit messy code when we work alone. We think, <em>who’s going to see it? I’ll fix it later.</em> Each time that happens, though, we’re building a habit. It’s a bad one.</p>
<p>Working alone means there’s no one likely to give feedback on our commits when we’re doing something that doesn’t make sense, or that could be improved. Instead, we have to actively seek out opportunities to improve. Open source communities are amazing for this. There’s a wealth of information available to us in terms of coding styles, examples of refactored code, and a smorgasbord of snippets that achieve that-thing-we-were-trying-to-do but in fewer lines. We can learn all we please, if we just block out the time to do it.</p>
<p>Schedule your own code review at a time that makes sense for you and the project you’re working on. This might be each time you finish a fix or feature, or at regular intervals daily or weekly. If you have someone who can help, book them. There are also <a target="_blank" href="https://victoria.dev/verbose/top-free-resources-for-developing-coding-superpowers/">chatrooms full of people</a> happy to lend a hand.</p>
<p>Do some research on basic best practices for what you’re working on. Set yourself a time limit though, and take what you read with a grain of salt. There’s a lot of rabbit holes in that field. As a starting point, I’d recommend learning about DRY code, and watching <a target="_blank" href="https://www.youtube.com/watch?v=p0O1VVqRSK0&amp;feature=youtu.be&amp;t=330">Uncle Bob demand professionalism in software development</a>.</p>
<h4 id="heading-code-review-checklist">Code review checklist</h4>
<p>Here’s my personal code review checklist, based off some general best practices. Feel free to use it as a starting point for your own!</p>
<blockquote>
<p><strong><em>Victoria’s Code Review Extravaganza!</em></strong></p>
<p> <em>- [ ] This solves a high-priority item.</em><br> <em>- [ ] This is a complete implementation that follows the specification.</em><br> <em>- [ ] Off-topic changes were not included and have been added to backlog.</em><br> <em>- [ ] Variable names are meaningful and there are no magic numbers.</em><br> <em>- [ ] Correct and useful error messages are returned at every opportunity.</em><br> <em>- [ ] No debugging print statements were left in.</em><br> <em>- [ ] This code is DRY and modular.</em><br> <em>- [ ] This code is secure. Private and public code are well separated.</em><br> <em>- [ ] This code is its own documentation, or the documentation is up to date.</em><br> <em>- [ ] A five-year-old could follow this, seriously it’s that readable.</em><br> <em>- [ ] Unit tests successfully pass.</em><br> <em>- [ ] Master was merged into the branch and tested.</em><br> <em>- [ ] Formatting follows style guidelines.</em><br> <em>- [ ] I cannot find any further edge cases or known defects.</em><br> <em>- [ ] I would be happy if this code was publicly attributed to me.</em><br> <em>- [ ] I fully understand what the code does and the impact of the changes I made.</em>  </p>
<ul>
<li><em>[ ] I actually verified that it actually does what I said it does.</em></li>
</ul>
</blockquote>
<p><a target="_blank" href="https://dev.to/gonedark/writing-clean-code">Here is an excellent example</a> of cleaning up code with some of the above points in mind.</p>
<h4 id="heading-block-out-time-for-process-review">Block out time for process review</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Nvgdg9nCzq5Rrtlq29-FF564MtsGginnwJnU" alt="Image" width="800" height="320" loading="lazy"></p>
<p>Just as we learn from reviewing our code, we refine our processes by reviewing them as well. Process review is most beneficial when visited at regular intervals throughout the project, not just after the project’s completion.</p>
<p>For short-term projects, a good starting point for scheduling process reviews is at each half-mark — once midway through, and again after completion. Long-term projects may have reviews at each quarter-mark.</p>
<h4 id="heading-process-review-questions">Process review questions</h4>
<p>Process review can be as simple as a short list of questions:</p>
<ol>
<li>What were my top-level goals for this period? Did I meet them?</li>
<li>What were my mid-level and low-level goals for this period? Did I meet them?</li>
<li>Would I have been better served with different or more specific goals? Why?</li>
<li>Did I successfully remove or automate obstacles?</li>
<li>Did I stick to my code review schedule? Why or why not?</li>
<li>How might I remove obstacles next time?</li>
</ol>
<p>Setting aside dedicated time for our process review can help us to answer questions like these thoughtfully and honestly. This allows us to squeeze out every bit of learning we can from our review, helping to shorten our feedback loop.</p>
<h4 id="heading-update-your-goals-and-processes-with-the-results-of-your-reviews">Update your goals and processes with the results of your reviews</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/RCd2DfPOTP3j7UoMT1M9-UCuLeNO7SQRkKDo" alt="Image" width="800" height="400" loading="lazy"></p>
<p>All the performance data in the world is no good to us if we don’t put it into practice. With each successive code review, we can refine and add to our checklist. With what we learn from each process review, we can fine tune and improve our processes. The more we can invent concrete and observable ways to implement our learning, the more success we’ll have.</p>
<p>Making a conscious effort to utilize and practice the things we’ve learned is the final, vital, component of our feedback loop. The more often we incorporate new learning, the shorter our loop becomes, allowing us to improve that much faster.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
