<?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[ psychology - 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[ psychology - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 30 May 2026 22:26:12 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/psychology/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Be Productive, Feel Less Overwhelmed, and Get Things Done ]]>
                </title>
                <description>
                    <![CDATA[ By Endy Austin This guide is based on 5 years of applying techniques from Behavioral Psychology and research on productivity. I've used it as a developer, mentor, and creator. And it works. If you remember only one lesson from this post, it's this: ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-get-things-done-lessons-in-productivity/</link>
                <guid isPermaLink="false">66d46013d7a4e35e3843497f</guid>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 19 Jan 2021 15:48:32 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5fef6e8c7af2371468bb5435.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Endy Austin</p>
<p>This guide is based on 5 years of applying techniques from Behavioral Psychology and research on productivity. I've used it as a developer, mentor, and creator. And it works.</p>
<p>If you remember only one lesson from this post, it's this:</p>
<blockquote>
<p>The productivity techniques that work are built on principles. Not quick hacks. Or fancy tools.</p>
</blockquote>
<p>If you understand and apply this, you'll be able to keep a clear head and stay focused. And it'll come in handy especially when things blow up out of proportion.</p>
<h2 id="heading-what-this-post-will-cover">What this post will cover</h2>
<ul>
<li><strong>Part I:</strong> Processes &gt;&gt; Tools</li>
<li><strong>Part II:</strong> What to do when you can't stop procrastinating</li>
<li><strong>Part III:</strong> Put sanity over execution</li>
</ul>
<p>Let's jump into it.</p>
<h2 id="heading-part-i-processes-gtgt-tools">Part I: Processes &gt;&gt; tools</h2>
<p>Whenever you feel overwhelmed, it’s likely because the process you have in place is failing you. Not the tools.</p>
<p>And a sound process will beat fancy tools, any day.</p>
<p><img src="https://lifetechpsych.com/static/23cf5f440ed7873366665092b38fbe5d/2bef9/chart.png" alt="Chaos vs. Your Process. The more chaotic you feel, the less efficient your process is. Conversely, you could have way more to do than everyone else yet operate more efficiently. Why? Because of your well-designed process." width="1024" height="443" loading="lazy">
<em>The more chaotic you feel, the less efficient your process is. Conversely, you could have way more to do than everyone around yet operate more efficiently due to a well-designed process.</em></p>
<p>Before I understood this, I struggled with consistent productivity. The keyword here is <em>consistent.</em> </p>
<p>Anyone can be productive once in a while, but it takes a certain level of finesse to do it consistently.</p>
<p>Back then, I did a lot of things. But I constantly felt like I was missing something. My approach was speed and execution over anything else. This works in the short term but it's not sustainable long term. </p>
<p>I knew life hacks here and there, and tried every tool under the sun including the popular ones:</p>
<ul>
<li><a target="_blank" href="https://evernote.com/">Evernote</a>: Your notes. Organized. Effortless.</li>
<li><a target="_blank" href="https://keep.google.com/">Google Keep</a>: Quickly capture what’s on your mind.</li>
<li><a target="_blank" href="https://www.onenote.com/">One Note</a>: The digital note-taking app for your devices.</li>
<li><a target="_blank" href="https://www.any.do/">Any.Do</a>: To do list app with Calendar, Planner, &amp; Reminders.</li>
<li><a target="_blank" href="https://todoist.com/">Todoist</a>: The to do list to organize work &amp; life.</li>
</ul>
<p>Oh and I tried <a target="_blank" href="https://trello.com/en-US">Trello</a> at least 3x because everyone swore it was the greatest app ever.</p>
<p>But I couldn’t stand it.</p>
<p>Every few months, I’d jump between apps.</p>
<p>Once in a while, I'd ditch digital and go all paper. But then I'd forget my notebook at home or hate to carry it around because it couldn’t fit in my pocket.</p>
<p>Nothing worked – I still felt overwhelmed with tasks to complete. But over time, I learned that:</p>
<blockquote>
<p>The best tool used with the wrong process feels like a failed tool.</p>
</blockquote>
<p>So I shifted my approach to focus on processes. And it worked. My productivity and time management skills skyrocketed.</p>
<p>It doesn't matter what app you prefer to use, <strong>these 4 simple processes I share can be used in your favorite todo app</strong>. </p>
<p>Mine happens to be Google Keep. But as you read through, I want you to replace <em>“Google Keep”</em> with <em>“Todoist”</em>, <em>“One Note”</em>, or whatever app you love the most.</p>
<p>Focus on the big picture of how things fit because this is the most important aspect of using any tool.</p>
<p>Make sense?</p>
<p>Let’s get to it!</p>
<h3 id="heading-1-find-your-single-source-of-truth">1) Find your single source of truth</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-277.png" alt="Image" width="600" height="400" loading="lazy">
_[t](https://unsplash.com/@timonrets?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;Image Credi&lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit) – First, find your main productivity tool. Next revolve other tools around it.</em></p>
<p>I use Google Keep as my single source of truth that feeds into other productivity tools. This means it’s my first stop.</p>
<p>First stop for:</p>
<ul>
<li>Grocery list</li>
<li>Journaling</li>
<li>Workout plans</li>
<li>Strategy for finances</li>
<li>Netflix shows to checkout</li>
<li>Any random thought that crosses my mind</li>
</ul>
<p>Each of these have their own labels so capturing things usually takes a few taps on my phone or three clicks on a Chrome tab that’s always open with Google Keep.</p>
<p>From there I move to Calendar for fixed appointments and to eyeball how much time meetings consume per week.</p>
<p>Then Trello for team tracking collaborations.</p>
<p>Next, I switch between Notes for personal writing or Google docs for collaborations. What’s interesting here is that most of my write ups start in Keep on my phone. </p>
<p>Including this write-up.</p>
<p>When it starts getting longer I switch to my laptop and copy out the content from Google Keep web into Notes or Google Docs.</p>
<p>Any time it feels like I need special formatting or I get the itch to write in my favorite font (<a target="_blank" href="https://fonts.google.com/specimen/Montserrat#pairings">Montserrat font</a>), it’s a sign that I need to switch to a writing tool. </p>
<p>Switching to another tool isn’t necessarily a bad thing.</p>
<p>But not many believe that.</p>
<p><strong>If finding your single source of truth is the only idea you put to action right away, you'll see a dramatic change.</strong> </p>
<p>But if you miss this, you'll struggle with staying afloat when you start feeling overwhelmed. Trust me, things will get overwhelming.</p>
<h3 id="heading-2-stop-chasing-the-everything-app">2) Stop chasing the everything app</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-278.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@miikola?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – We rush so fast to the newest productivity and time management tools. But using tools alone won't cut it._</p>
<p>This one is a little controversial. </p>
<p>And in the past, some have contested my stance especially after a new tool becomes popular (e.g. <a target="_blank" href="https://www.notion.so/login">Notion</a>). </p>
<p>Most people try to hack their favorite productivity app to become a writing app, a collaboration tool, a calendar app, an EVERYTHING tool.</p>
<blockquote>
<p>The fact is that no one tool will address everything.</p>
</blockquote>
<p>I made this mistake for so long.</p>
<p>Trust me, you’re better off picking up a single source of truth and then building others around it.</p>
<ul>
<li>It’s fine to use Keep and Trello.</li>
<li>It’s fine to have Notion and Notes.</li>
<li>It’s fine to use a todo reminder and calendar.</li>
</ul>
<p>One doesn’t have to replace the other. They can complement each other.</p>
<h3 id="heading-3-its-not-paper-or-digital-its-paper-and-digital">3) It's not paper <em>OR</em> digital – it's paper <em>AND</em> digital</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-279.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@gerandeklerk?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credit</a> – Mix paper and digital to get the best of your productivity._</p>
<p>Once in a while I get the itch to write on paper. </p>
<p>That feeling is especially strong when I’m planning big goals. I love to map out everything in front of me. </p>
<p>And writing with my favorite pen keeps the ideas flowing.</p>
<p>In paper situations, I scribble all on paper then when I get done, I take a screenshot and add it under the relevant label in Keep. </p>
<p>Example, if you saw my <em>“big ideas”</em> label you’d see a lot of screenshots in there.</p>
<p>I also do this when white-boarding with colleagues on a coding project or brainstorming sessions. </p>
<ul>
<li>Get done. </li>
<li>Take picture. </li>
<li>Add to specific label.</li>
</ul>
<p>Then I trash the paper.</p>
<p><img src="https://lifetechpsych.com/static/f21516c156c1ed8d7781e5560ac74292/72e01/psychology.jpg" alt="Brainstorming Screenshot" width="1024" height="1024" loading="lazy">
<em>A screenshot from my Google Keep showing what I wrote while brainstorming on techniques from Behavioral Psychology for entrepreneurs to reduce their procrastination tendencies.</em></p>
<p>Multiple years of writing on paper has taught me that the paper I write on only feels good in the moment. </p>
<p>A few weeks later and it looks like I’ve got paper trash all over the place.</p>
<p>So I screenshot and trash ASAP.</p>
<p>This process satisfies both my digital access to my planner (beats small notebooks any day). But it also lets me scratch my paper itch whenever it comes up.</p>
<blockquote>
<p>I'm not loyal to only digital or only paper. That's nonsense.</p>
</blockquote>
<p>I'm more interested in what helps me reduce my overwhelming workload. And using both works well.</p>
<p>You may want only paper or only digital. That's okay. Just remember you don't have to feel you must only use one to be productive.</p>
<p>Some recommend <em><a target="_blank" href="https://getrocketbook.com/">Rocketbook (a smart notebook)</a></em>. It is a reusable notebook that lets you write, upload to the cloud, and then wipe the page clean! </p>
<p>I’ve never used it but wanted to highlight this in case you find it useful.</p>
<h3 id="heading-4-review-often-weekly-monthly-yearly">4) Review often – weekly, monthly, yearly</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-280.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@rpnickson?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – To build strong time management skills, you need frequent reviews._</p>
<p>Every morning on weekdays I go through Keep on my laptop to see things that should be top of mind that day.</p>
<p>This is key to proactively prevent me from getting to a place where I feel overwhelmed with tasks because too many things slipped through.</p>
<p>During the day, I add things to Keep either from my phone or laptop. The cycle continues until Friday.</p>
<p>Every Friday, I go through my Keep to clean up any tasks that fell through or that should move into other tools. </p>
<p>Then repeat.</p>
<p>Following this process gets you right in the heart of smashing things efficiently but sometimes, procrastination blocks your progress.</p>
<h2 id="heading-part-ii-what-to-do-when-you-cant-stop-procrastinating">Part II: What to do when you can't stop procrastinating</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/01/reduce-clarify-modify.png" alt="Image" width="600" height="400" loading="lazy">
<em>You start by reducing perfectionism. Next clarify your next tiny action. And finally modify your behavior when you don't feel like doing any work</em></p>
<p>Do you know <a target="_blank" href="https://www.inc.com/marla-tabaka/why-set-yourself-up-for-failure-ditch-new-years-resolution-do-this-instead.html">that 80% of us fail to fulfill our New Year’s resolutions</a>? </p>
<p>That's crazy. </p>
<p>Sadly, procrastination plays a big role in this.</p>
<p>But no worries, you can beat procrastination through these three techniques: reducing your “perfect” goals, clarifying your next actions, and modifying your steps through Behavioral Psychology.</p>
<p>Let's dig into these one by one.</p>
<h3 id="heading-1-reduce-your-first-move-from-a-to-b">1) Reduce your first move from “A+” to “B”</h3>
<p>If you're a perfectionist, you'll procrastinate. If you goal is too big to take a first step, you'll procrastinate. </p>
<p>If you're a procrastinating perfectionist, you'll feel paralyzed and frustrated many times because your big goals remain in your head with zero actions in reality. </p>
<p>You'll take zero actions because you want all your steps to be perfect. </p>
<blockquote>
<p>To fix your procrastination as a perfectionist, start with a “B” goal instead of “A+”. This means you should go back and change your first step to be “good enough” instead of “perfect”.</p>
</blockquote>
<h3 id="heading-2-clarify-the-next-tiny-action">2) Clarify the next, tiny action</h3>
<p>Whenever it’s not crystal clear what you’re supposed to work on next, your mind will stop you from moving forward. </p>
<p>For example, your todo list has: </p>
<blockquote>
<p>Build the best portfolio page to get a job. Then create amazing landing page to show off to everyone. </p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-281.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@i_am_nah?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – Anytime you create vague tasks, you open the doors to procrastination._</p>
<p>But:</p>
<ul>
<li>What does <em>“best”</em> mean? </li>
<li>What <a target="_blank" href="https://lifetechpsych.com/beginner-programming-projects">type of programming projects</a> should I have in my portfolio? </li>
<li>Is it smart to build my app from scratch or use an existing template?</li>
<li>Which language should I learn? How long? When? How? </li>
</ul>
<p>When you have too many floating thoughts in your head, your mind runs away from any actions and falls back into procrastination.</p>
<p>The cure is to spend 90 seconds and answer:</p>
<blockquote>
<p>What is the smallest, next action for the task I want to achieve?</p>
</blockquote>
<p>For example: </p>
<ul>
<li>If you’re building a portfolio, the next tiniest action is open up a document and write up a rough plan. Not to open visual studio and <a target="_blank" href="https://lifetechpsych.com/how-long-cplusplus">struggle with the quirks in C++.</a></li>
<li>If you're writing a book on lessons for new programmers, your tiniest action isn’t to write chapter one. It’s to come up with the first DRAFT of your outline for the all book chapters. </li>
<li>And if you’re completely new to programming, your best bet is to <a target="_blank" href="https://lifetechpsych.com/free-learn-to-code">start with places where you can learn to code</a> so you narrow down on one option. Not to jump around aimlessly and still feel lost after several months. </li>
</ul>
<p>The tinier the next action, the more likely you are to get it done. </p>
<p>Stack multiple small actions and you, my friend, are gold.</p>
<h3 id="heading-3-modify-through-techniques-from-behavioral-psychology">3) Modify through techniques from Behavioral Psychology</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-282.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@acharki95?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – Procrastination is a psychological issue that needs psychological techniques._</p>
<p>Some days are just lazy days. </p>
<p>You know you should ignore how you feel and get to work but it's not happening. </p>
<p>You can use these principles of from Behavioral Psychology. </p>
<ul>
<li><strong>Deadline effect:</strong> Go to <a target="_blank" href="http://www.tomato-timer.com/">www.tomato-timer.com</a>, click 5 minutes and start working on your tiniest next action as fast as you can. Most times you’ll end up going beyond 5 mins. That’s perfect because the <a target="_blank" href="https://www.psychologistworld.com/memory/zeigarnik-effect-interruptions-memory">Zeigarnik effect</a> has kicked in and you'll feel like completing the work you already started.</li>
<li><strong>Negative reinforcement</strong> until you work: If somehow you didn't do anything and the timer ends, restart it. An additional tip is to go to settings and set the sound that is most annoying to you. Do this at least 5x and every time “punish” yourself by watching the timer count down! </li>
<li><strong>Revisit your motivation:</strong> If after 5x, you can’t do anything, it means your motivation is off and you have a deeper question to answer:</li>
</ul>
<blockquote>
<p>“What will I gain by working on this?” </p>
</blockquote>
<p>Sometimes, looking to <a target="_blank" href="https://lifetechpsych.com/developer-stories">how other developers have transformed their lives</a> can give you the needed push.</p>
<p>If you still have no answer to what you’ll gain, abandon the task as it's time to find something else that has more intrinsic motivation. </p>
<p>But no matter how much you get done, it's important to recognize that productivity is not about working non-stop. </p>
<p>You need balance to consistently move forward.</p>
<h2 id="heading-part-iii-put-sanity-over-execution">Part III: Put sanity over execution</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-283.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@darthxuan?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – You can dominate your work and reduce stress if you have a well-built process that bakes in self care._</p>
<p>Getting things done is not always about doing more. Sometimes you don't need faster, better. </p>
<p>You need the sanity from self care.</p>
<blockquote>
<p>“<em>Self-care is never a selfish act. Anytime we can listen to true self and give the care it requires, we do it not only for ourselves, but for the many others whose lives we touch.</em>” - Parker Palmer</p>
</blockquote>
<p>If you don't prioritize self care, you'll definitely burn out. Trust me, developer burn out is real.</p>
<p>Burn out too many times and you start to think maybe you're not cut out for the work. </p>
<p>You are. </p>
<p>Your approach is simply what's killing you.</p>
<p>Here are simple ways to start caring more for yourself. These little activities don't come close to the hype that people expect when they hear 'productivity'. </p>
<p>But you need them.</p>
<h3 id="heading-have-a-different-spot-for-work-and-relaxation">Have a different spot for work and relaxation</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-284.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@katiebarrett?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – Having a dedicated place to relax will help you fully unplug._</p>
<p>I've found that relaxing in the same spot and later trying to work doesn't cut it.</p>
<p>Same applies when flipped around: working in the same spot and later trying to switch to relaxation mode is hard. </p>
<p>You don't need separate rooms for this.</p>
<p>You only need to intentionally create a physical difference so you can switch out from one to the other. Not doing this kept me spinning in cycles for several weeks.</p>
<h3 id="heading-recharge-through-a-daily-shower">Recharge through a daily shower</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-285.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@phammi?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – A daily shower is simple yet powerful enough to reset._</p>
<p>This is straightforward. Early showers are better but if you can't do that have one at night before the day runs out. You'll feel like you've accomplished something already.</p>
<h3 id="heading-cooking-as-therapy">Cooking as therapy</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-286.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@brookelark?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – Cooking is one of the most gratifying ways to reboot yourself._</p>
<p>I don't cook as much as I'd love to. But following instructions on a recipe and coming up with something new feels magical. </p>
<blockquote>
<p>“No one who cooks, cooks alone. Even at her most solitary, a cook in the kitchen is surrounded by generations of cooks past, the advice and menus of cooks present, the wisdom of cookbook writers.” — Laurie Colwin</p>
</blockquote>
<p>Pick any meal – whether it comes out good or not doesn't matter. </p>
<p>It's the process of unplugging from the world that helps. Pair the cooking with jazz music and you're automatically teleported to another universe.</p>
<h3 id="heading-get-any-amount-of-sunshine">Get any amount of sunshine</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-287.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@frankiefoto?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> - Sometimes, stepping out to bright light is the productivity kick you need._</p>
<p>I've never believed that the weather has an impact on one's mood, but it does. </p>
<p>Stay in doors too much and things will start to feel gloomy. <a target="_blank" href="https://en.wikipedia.org/wiki/Cabin_fever">Cabin fever</a> sets in and you pack your living space back and forth like a mad raccoon. </p>
<p>But you don't need to step out to fix this issue. I've realized that my cabin fever completely disappears if I open up windows early in the day. </p>
<p>No need for huge windows or long walks outside. Just a few minutes of quiet, alone sunshine is all it takes. </p>
<h2 id="heading-closing-out">Closing out</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-288.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@attentieattentie?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image Credit</a> – Small, hidden steps prepare you for any big battle out there._</p>
<blockquote>
<p>While it may seem small, the ripple effects of small things is extraordinary. – <a target="_blank" href="https://www.brainyquote.com/authors/matt-bevin-quotes">Matt Bevin</a></p>
</blockquote>
<p>Think about what you’ve read so far. </p>
<p>You’ll notice that each one sounds simplistic because they are minor tweaks by themselves. </p>
<p>But combining all of them together transformed how I got on top of things. You can achieve this type of change too if you follow the principles.</p>
<p>Remember:</p>
<ul>
<li>Processes &gt;&gt; tools</li>
<li>Beat procrastination or it'll control you</li>
<li>Put self care and sanity over constant execution </li>
</ul>
<h2 id="heading-thanks-for-reading">Thanks for reading</h2>
<p>If you enjoyed this, there's more.</p>
<ul>
<li><a target="_blank" href="https://lifetechpsych.ck.page/"><strong>Join my email community</strong></a>: I share techniques for new coders and junior developers to grow faster and double their confidence. If you're interested, <a target="_blank" href="https://lifetechpsych.ck.page/">join the community.</a></li>
<li><a target="_blank" href="https://twitter.com/LifeTechPsych"><strong>Follow me on Twitter</strong></a>: Want more rapid-fire tips? Or have a question? I'm most active on Twitter so feel free to <a target="_blank" href="https://twitter.com/LifeTechPsych">reach out to me.</a> My DM is open.</li>
<li><strong><a target="_blank" href="https://www.freecodecamp.org/news/author/lifetechpsych/">Read more articles</a>:</strong> If you want more articles, <a target="_blank" href="https://www.freecodecamp.org/news/author/lifetechpsych/">check out my other posts</a>.</li>
</ul>
<p>Heads Up - I love research so I tend to back my advice and approach with concepts from Behavioral Psychology and Neuroscience.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Learn Coding: Approach is Everything ]]>
                </title>
                <description>
                    <![CDATA[ By Endy Austin Here are tips to learn coding in a more efficient way. They are backed by research in Neuroscience, Behavioral Psychology, and over a decade of experience. You can spend months going to the gym and still see zero results because of how... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-learn-coding-approach-is-everything/</link>
                <guid isPermaLink="false">66d4601555db48792eed3f6d</guid>
                
                    <category>
                        <![CDATA[ learn to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 18 Nov 2020 16:55:09 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5fab3f1949c47664ed81d848.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Endy Austin</p>
<p>Here are tips to learn coding in a more efficient way. They are backed by research in Neuroscience, Behavioral Psychology, and over a decade of experience.</p>
<p>You can spend months going to the gym and still see zero results because of how you work out. </p>
<p>Most of us know this.</p>
<p>The same thing applies to coding.</p>
<p>You can spend months learning, trying different things, jumping around tutorials, and still feel like you're a beginner – at best, an advanced beginner. </p>
<p>And it hurts. </p>
<p>This makes you wonder if there's a way to learn faster, better, more efficiently. </p>
<p>There is. </p>
<p>But first things first.</p>
<blockquote>
<p>“Speed will follow when the mechanism of the movements is more assured.”<br>― <strong>Rafael Sabatini</strong></p>
</blockquote>
<p>If you don't understand the fundamentals of learning, it doesn't matter how fast you go, you're still building on a shaky foundation. And you don't want that.</p>
<p>So with that, let's get to it.</p>
<h2 id="heading-the-2-minute-tutorials">The 2-minute tutorials</h2>
<p>If I told you there was a 2-minute tutorial to help you master JavaScript right away, would you check it out?</p>
<p>Whether you answered <em>“yes”</em> or <em>“no”</em> , it doesn't matter.</p>
<p>That is, provided you understand deep down that a short tutorial alone goes against the principle of mastering any domain.</p>
<p>Here's how mastery works in a nutshell:</p>
<ol>
<li>Start with a huge information dump.</li>
<li>Compare new learnings to what you already know before.</li>
<li>List out the ways that old and new info differ.</li>
<li>Test yourself by creating your learnings from scratch.</li>
<li>And finally, teach someone else.</li>
</ol>
<p>This. Takes. Years.</p>
<p>That's why shortcuts alone won't cut it.</p>
<p>So the next time you see a once-in-a-lifetime tutorial promising you mastery in one fell swoop, remember that at best it is merely giving you information dump.</p>
<p>Internalize this and your foundation will be solid.</p>
<p>Then speed will follow.</p>
<h2 id="heading-how-do-you-deal-with-struggling">How do you deal with struggling?</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-264.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@henrikkedue?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credits</a>_</p>
<p>I’ve seen people quit programming because they don’t want to struggle with bugs. </p>
<p>That’s like hating the gym because you don’t want your workouts to hurt.</p>
<p>But the fact is this: you don’t run from bugs – you train yourself to find them quicker. </p>
<p>Because a proficient programmer is simply an efficient detective of bugs.</p>
<p>Every time you feel frustrated by bugs, remember that this is where a learning opportunity opens up. Don't skip it.</p>
<blockquote>
<p>“Toleration is the greatest gift of the mind; it requires the same effort of the brain that it takes to balance oneself on a bicycle.”― <strong>Helen Keller</strong></p>
</blockquote>
<p>Neuroscience research confirms that practice doesn’t simply make you perfect – it is deliberate practice to improve in a specific task that makes you better. </p>
<p>And deliberate practice involves struggling. With bugs.</p>
<p>So your expectation shouldn't be to code flawlessly. </p>
<p>Rather, your mantra should be:</p>
<ul>
<li>You code.</li>
<li>You debug.</li>
<li>You struggle.</li>
<li>You overcome.</li>
<li>And you repeat.</li>
</ul>
<p>The earlier you embrace this, the more efficient your learning becomes. </p>
<p>So if at this point you’ve not struggled at all, you’re simply playing around. And wasting time.</p>
<p>But if on the other hand you feel like you struggle every single time, then the next section is for you.</p>
<h2 id="heading-youre-not-dumb-youre-learning-at-the-wrong-level">You’re not dumb, you’re learning at the wrong level</h2>
<p>Let’s start with a little analogy.</p>
<p>Imagine learning the English language (the language of exceptions).</p>
<p>You start with a tutorial motivating you to learn to spell big words like <em>ELEPHANT</em>.</p>
<p>But it’s not working. </p>
<p>After beating yourself for so long you decide to go to a lower tutorial and learn to spell smaller words like <em>ANT</em>.</p>
<p>But then you still struggle.</p>
<p>So you conclude that you’re dumb because you lowered your tutorial level and still didn’t grasp anything. You have proof – negative proof.</p>
<p>But when a new teacher investigates why you’re struggling, they find out that you’ve been struggling because...</p>
<p>You actually don’t know the English alphabet.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-265.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@krakenimages?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credits</a>_</p>
<p>Let's bring this back to coding.</p>
<p>Some people jump into beginner tutorials to immediately start learning <em>React or Angular (ELEPHANT)</em>. </p>
<p>Then realize it makes no sense so they move on to learn <em>JavaScript (ANT)</em> as introduction to the world of programming</p>
<p>But that still makes no sense to them, so they quit.</p>
<blockquote>
<p>“I'm so done with learning to code. This is clearly not for me.”</p>
</blockquote>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-266.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@simmerdownjpg?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credits</a>_</p>
<p>But they’re simply working with something that’s too advanced.</p>
<p>Even introduction courses can be advanced because your thinking is not yet wired to programming in general.</p>
<p>I don’t see this recommended enough, but if you’re struggling with intro courses, you should consider Intro to programming for kids.</p>
<p>There’s no shame in finding something lower than intro courses and starting from there to build up.</p>
<p>Learn with tools like:</p>
<ul>
<li><a target="_blank" href="https://www.alice.org/resources/exercise-and-project/tutorial-building-a-program/">Alice</a>.</li>
<li><a target="_blank" href="https://scratch.mit.edu/">Scratch</a>.</li>
<li><a target="_blank" href="https://www.codewars.com/">Codewars</a>.</li>
</ul>
<p>Since you’re older, you’ll likely go through them faster. </p>
<p>But they’ll give you the much needed soft intro that makes sense and builds your appetite for programming.</p>
<p>Again, this has nothing to do with ego.</p>
<p><strong>It’s your learning journey.</strong></p>
<p>If you learn the alphabet first:</p>
<ul>
<li>You’ll gain the confidence needed to start spelling <em>ANT.</em></li>
<li>Then <em>ELEPHANT,</em> as your next big step.</li>
<li>And some day long words like <a target="_blank" href="https://en.wikipedia.org/wiki/Pneumonoultramicroscopicsilicovolcanoconiosis">pneumonoultramicroscopicsilicovolcanoconiosis</a><strong>.</strong></li>
</ul>
<p>It doesn’t matter what discipline or area of coding you jump into, this holds for <em>Intro to Python</em> as much as it holds for <em>Intro to Machine Learning</em>.</p>
<p>You’ll learn more efficiently if you learn <strong>at the right level</strong>.</p>
<h2 id="heading-elevate-how-you-learn-with-spaced-repetition">Elevate how you learn with spaced repetition</h2>
<p>This technique is from research in Neuroscience. I’ll describe it quickly.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-267.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@synkevych?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credits</a>_</p>
<h3 id="heading-how-it-works">How it works:</h3>
<ul>
<li>You learn.</li>
<li>Recall in 48 hours.</li>
<li>Then review in 72 hours.</li>
</ul>
<h3 id="heading-doing-this">Doing this:</h3>
<ul>
<li>You’ll forget less.</li>
<li>Connect new ideas to old, and;</li>
<li>Retain more in long term memory.</li>
</ul>
<p>I put 48 and 72 hours as an example, but you can expand that timeline to days and weeks. The most important takeaway is not to simply learn once. </p>
<p>But to intentionally set aside time for you to come back and review.</p>
<p>The longer the delay between reviews, the more it gets buried in long-term memory.</p>
<ul>
<li><a target="_blank" href="https://www.duolingo.com/">Duolingo</a> uses it.</li>
<li><a target="_blank" href="https://quizlet.com/">Quizlet</a> adopted it.</li>
<li>You can also apply it.</li>
</ul>
<h2 id="heading-1-project-gt-10-hello-worlds">1 project &gt; 10 hello worlds</h2>
<p>Don’t get caught up in <code>hello worlds</code> forever.</p>
<p>I understand the thrill of completing simple exercises:</p>
<pre><code>print “I am awesome”
print “You’re cool”
print “Wait, are we cool?” 
print “OMG! Guys! Like I can so print all day”
</code></pre><p>But I have to be honest with you, this won’t cut it.</p>
<p>Going back to our ANT analogy, no matter how many ways you rearrange the words ANT, you’ll never arrive at ELEPHANT.</p>
<p>No matter how many introduction tutorials you learn, you’ll never really get past the basics unless you push yourself beyond that.</p>
<blockquote>
<p>“<em>But I don’t know what projects to start as a beginner.</em>”</p>
</blockquote>
<p>No worries. </p>
<p>Here are 3 examples:</p>
<ul>
<li><strong>Currency converter:</strong> Create a program that converts currencies from one unit to another, for example, converting Indian rupees into dollars, pounds to euros, and so on.</li>
<li><strong>Random Password Generator:</strong> Create a program that takes some words from the user and generates a random password using those words.</li>
<li><strong>Guess the number</strong>: Ask a user to guess a number between 1 and 50. If they guess outside that range, show an error message asking them to guess again. Whenever they guess the wrong number, ask if they want to keep playing or they'd like to quit. Finally, when the user eventually guesses the right number, congratulate them and show the number of attempts they had.</li>
</ul>
<p>If you find these boring, here are <a target="_blank" href="https://www.lifetechpsych.com/beginner-programming-projects">other beginner programming project ideas to choose from.</a></p>
<p>And if all of them seem too difficult or boring, <a target="_blank" href="https://twitter.com/LifeTechPsych">message me on Twitter</a> and I’ll create something tailored to your level. </p>
<p>Remember, this is not about ego.</p>
<p> It’s about your learning level and growth.</p>
<h2 id="heading-motivation-is-like-taking-a-hot-shower">Motivation is like taking a hot shower</h2>
<p>Taking a hot shower feels good – you should do it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-268.png" alt="Image" width="600" height="400" loading="lazy">
_<a target="_blank" href="https://unsplash.com/@chanphoto?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Image credits</a>_</p>
<p>But if your hot water is out for 2 weeks, would you not shower?</p>
<p>The question sounds ridiculous.</p>
<p>But in the same way, you shouldn’t base your learning on only days when you’re motivated.</p>
<p>There are lots of exciting days in coding, but there will also be dark, de-motivating days.</p>
<p>Honestly, this is not just with coding. It’s with life and embarking on any new adventure. </p>
<p>But you have to train yourself to show up not only when you’re feeling hyper inspired, but also on low, boring days.</p>
<p>This doesn’t mean forget motivation entirely.</p>
<p>Far from it. Here's what you should do instead: </p>
<blockquote>
<p>On days when you feel super motivated, use your motivation to quickly commit yourself to something big that will keep you accountable when the motivation goes dry.</p>
</blockquote>
<p>How?</p>
<p>Join an accountability movement like:</p>
<ul>
<li><a target="_blank" href="https://twitter.com/hashtag/30Daysofcode?src=hashtag_click">30daysofcode</a></li>
<li><a target="_blank" href="https://twitter.com/hashtag/100DaysOfCode?src=hashtag_click">100DaysOfCode</a></li>
</ul>
<p>Something. </p>
<p>Anything. </p>
<p>To keep you accountable on slow days.</p>
<p>In Behavioral Psychology, this is known as pre-commitment. </p>
<p>You use moments when you’re optimistic to commit yourself in the future for when you have zero motivation. Use this technique and you'll keep yourself going for a longer period of time.</p>
<h2 id="heading-the-journey-of-learning-is-never-ending">The journey of learning is never-ending</h2>
<p>No one really teaches you how to learn. </p>
<p>The focus is mostly on what to learn. But learning how to learn is crucial if you want to go far.</p>
<p>I highly recommend this course if you want to <a target="_blank" href="https://www.coursera.org/learn/learning-how-to-learn">go deep into the art of learning</a>.</p>
<p>You may have started with the idea of simply learning to code or to one day become a developer. </p>
<p>But there’s more.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/41HPFZ7lp.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em><a target="_blank" href="https://unsplash.com/@drewbeamer">Image credits</a></em></p>
<p>When you come out on the other side, you’ll come out not just a developer.</p>
<p>But as a renewed person because you’ve picked up a new way of learning and approaching things.</p>
<p>Don’t get me wrong. </p>
<p>This isn’t easy peasy lemon squeezy – you’ll work like hell.</p>
<p>But in the end, it’ll be worth it not just because of coding but because of the joy of transforming yourself.</p>
<h2 id="heading-thanks-for-reading"><strong>Thanks for reading!</strong></h2>
<p>And that's a wrap. Not going to lie, this took a lot of hours and reflection to put together. </p>
<ol>
<li><strong>Follow me on Twitter:</strong> I'm most active on Twitter. If you enjoyed this, <a target="_blank" href="https://twitter.com/LifeTechPsych/status/1311338563884257280">like and retweet this thread</a> to help spread the word. Have questions? My DM is always open.</li>
<li><strong>Join</strong> my <strong>email community:</strong> I'm putting together resources to help new coders and junior developers feel less overwhelmed, manage imposter syndrome and learn smarter. If interested, <a target="_blank" href="https://lifetechpsych.ck.page/">join this email list</a>.</li>
<li><strong>Want to read more?</strong> Check out <a target="_blank" href="https://www.lifetechpsych.com/">more of my articles for beginners and junior developers</a>.</li>
</ol>
<p><em>Heads Up</em> - I love research, so I tend to back my advice and approach with concepts from Behavioral Psychology and Neuroscience.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Psychology of Pair Programming ]]>
                </title>
                <description>
                    <![CDATA[ By Chris Cooney Behaviours and skills exhibited by the very best pair programmers. I know this is serious business but this pair are off the chart cute. Dr. Sallyann Freudenberg is a software engineer and psychologist who has spent some serious time... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-psychology-of-pair-programming-86cb31f9abca/</link>
                <guid isPermaLink="false">66c3622ae4cb1ff6521c828f</guid>
                
                    <category>
                        <![CDATA[ pair programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 15 May 2019 16:49:51 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*9E8SEVmwWC403red.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Chris Cooney</p>
<h4 id="heading-behaviours-and-skills-exhibited-by-the-very-best-pair-programmers">Behaviours and skills exhibited by the very best pair programmers.</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/RrUpk9-2eHvHQJDzyFt2SH3fWOEEmzEnzQq3" alt="Image" width="800" height="569" loading="lazy">
<em>I know this is serious business but this pair are off the chart cute.</em></p>
<p><a target="_blank" href="https://twitter.com/SalFreudenberg">Dr. Sallyann Freudenberg</a> is a software engineer and psychologist who has spent some serious time observing the behaviours of high performing software teams. <a target="_blank" href="https://salfreudenberg.wordpress.com/2013/06/08/pair-programming-and-expertise/">Her blogs</a> contain a wealth of information for any software professional looking to sharpen their skills.</p>
<p>As an engineer with no psychology background whatsoever, I couldn’t help but think — this is some really, <strong>really</strong> good stuff. It’s accessible, easy to understand and clear. I thought… perhaps I’ve picked up the wrong career? <em>Maybe I’m a psychologist!</em> So I read a little Freud and <strong>oh my god the horror</strong>, so I’m definitely still an engineer and have no interest in psychology any more. Also I can’t look my mother in the eye.</p>
<p>Anyway, after many hours of repetitive strain injury-inducing labour, here is what I have produced. A collection of tips, based on the work of Dr. Freudenberg. My hope is that you’ll use this as a primer, an appetiser if you will, before diving into Dr. Freudenberg’s work and developing a more full understanding. Let’s get started.</p>
<h3 id="heading-take-regular-breaks">Take Regular Breaks</h3>
<p>Easy one to open up with. I know I sound like your mother when you were young. She warned you against square eyes. Well she was wrong about the square eyes thing but she was right about taking a damn break once in a while.</p>
<p>Regular breaks are well understood <a target="_blank" href="https://www.psychologytoday.com/ca/blog/changepower/201704/how-do-work-breaks-help-your-brain-5-surprising-answers">in psychology</a>. In the context of pair programming, they:</p>
<ul>
<li>Prevent context from building up too much. Breaks break things up.</li>
<li>Lower the cognitive load and enable longer overall pair programming sessions.</li>
<li>Make you happier!</li>
</ul>
<p>Of all the basic sins I see, this is the most common. Five hour meetings with no time budgeted for breaks. “Powering through” isn’t always the answer. Sometimes, going for a coffee or a beer (depending on how stuck you are) can provide the answer too. If you’re interested, there is a <a target="_blank" href="https://www.amazon.ca/Slack-Getting-Burnout-Busywork-Efficiency/dp/0767907698">brilliant book</a> about slack time that gives a much fuller answer to this topic.</p>
<h3 id="heading-push-the-keyboard-dont-take-it">Push the keyboard, don’t take it</h3>
<p>The keyboard, in Dr. Freudenberg’s research, was the physical component of control. Engineers would pass the mouse around freely in Canada, but the keyboard was held sacred. In high performing pairs, the driver would volunteer control of the keyboard. It would never be taken. From this, we can glean a simple rule for both the driver and the navigator.</p>
<h4 id="heading-the-driver-learn-when-to-pull-over">The Driver — learn when to pull over.</h4>
<p>The example from Dr. Freudenberg’s research illustrates this.</p>
<blockquote>
<p>Example 1 (Anna is navigating, Ben is driving):</p>
<p>Anna: “If you…..go to….”</p>
<p>Ben: (sliding the keyboard over to her) “(You) drive….it’s easier”.</p>
</blockquote>
<p>The driver is aware of the most effective way to communicate and is happy to relinquish control when needed. Don’t let your ego cling to the keys. Hand it over when necessary.</p>
<h4 id="heading-the-navigator-dont-disempower">The Navigator — don’t disempower.</h4>
<p>When you’re watching, watch. Drop hints, be friendly, but don’t force control out of the driver’s hands. It creates resentment. Treat that keyboard carefully.</p>
<p>The driver is often seen as the position of power in the pair, but the navigator has the ability to derail the whole exercise by hijacking the keyboard when things get tricky. With great power comes great responsibility.</p>
<h3 id="heading-have-somewhere-to-draw">Have somewhere to draw.</h3>
<p>A whiteboard is the gold standard here. A nice, big, clear space to draw all over. Words are great and all but nothing beats a bunch of wonky boxes and not so straight lines.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/ct72TcZmLkLp1oyy5DsENTxdmOkNs4smCG9Z" alt="Image" width="600" height="364" loading="lazy"></p>
<p>In Dr. Freudenberg’s research, a key finding was the use of scribbled on diagrams in high performing pairs. The creative act of writing the diagram sparks thoughts and jogs memories. They were far more powerful than pre-existing diagrams, which seemed to be more useful when seeking a holistic view of multiple teams and systems.</p>
<p>Sometimes things are difficult to convey without a hastily drawn picture. If you don’t have a whiteboard, use a notepad. In one example, Dr. Freudenberg observed someone tracing a diagram with their finger. Drawing sparks joy people!</p>
<h3 id="heading-invite-spontaneous-outside-help">Invite spontaneous outside help</h3>
<p>So there you are, working through a problem. An API that needs consuming and saving into a database. You debate, discuss and start writing. Nothing is working and you don’t know why, but if you can just focus… just a little longer. A few more uninterrupted hours.</p>
<p>Then… Bill from the payments team leans over and asks you about something you just said.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/8kGylhd3H1rhkSACPLEAZKU72luwwVE8ONT0" alt="Image" width="800" height="533" loading="lazy">
<em>Oh my <strong>GOD</strong> Bill</em></p>
<h4 id="heading-but-bill-has-got-a-good-point">But Bill has got a good point.</h4>
<p>“Hey, that endpoint actually uses a different model to the other APIs”, Bill mutters, acutely aware of the thunderous look in your eyes. You could be mad at Bill, but the truth is, he was right to stop you. You were about to write some broken-ass code. Is Bill the enemy? No. Your way of working is.</p>
<p>Interruptions are going to happen, especially when you’re building the wrong stuff. The truth is, Bill just saved your bacon. In Dr. Freudenberg’s research, this kind of open communication was welcomed by high performing pairs. It increased knowledge transfer and made for a much more efficient pairing.</p>
<p>So go apologise to Bill. He just saved you a bunch of time and fresh grey hairs.</p>
<h3 id="heading-preserve-context">Preserve Context</h3>
<p>The problem with the previous scenario was the context. Maybe Bill could use some personal boundaries training, but if it wasn’t Bill, you know it’d be Sandra from the Ops department. Bloody Sandra…</p>
<p>That complex clockwork of context in your minds eye is only available in your living room. In the workplace, you’re gonna need to talk and not always on your own terms. Dr. Freudenberg explains that software engineers need to operate at multiple levels of abstraction at the same time, constantly flitting in and out of levels of detail. This creates problems when building up large, complex images in your mind. How do the high performing pairs deal with this?</p>
<h4 id="heading-lists-you-silly-goose">Lists, you silly goose</h4>
<p>The key is to keep focused on what you’re doing. When you find new things, put that down in writing. The items in the list form little flags, reminders of questions and facts you’ve unearthed. This means you can remain focused on the problem at hand and not lose track of the discoveries you’ve made along the way.</p>
<p>The next time James from HR comes in to tell you to stop high fiving strangers in the lobby, your context won’t be obliterated. You might be slowed down for a moment, but glance down at those sweet lists. You’re back in the matrix.</p>
<h4 id="heading-and-one-more-thing-about-lists">And one more thing about lists</h4>
<p>Before you go all sharpie-pro on your checklist, Dr. Freudenberg has one more finding. More often than not, lists are not revisited. They’re written and discarded. It’s essentially just a bit of ephemeral storage for your brain. Don’t worry about neatness. Worry about getting your ideas on to something more permanent than the jelly in your head and protecting the current object of your focus.</p>
<h3 id="heading-share-the-burden-with-tag-team-pairing">Share the burden with tag team pairing.</h3>
<blockquote>
<p>Coffee number seven. This damn test won’t go green, no matter what you try. You decided to swap when it did, so you’ve been driving for well over an hour. You’re tired, your partner is bored and progress has all but stopped. Soon, you’ll go home and drink whiskey like any 90s American action hero.</p>
</blockquote>
<p>We’ve seen this a thousand times. Individuals investing too heavily in the problem and refusing to review their goals. Often it’s pride, sometimes it’s sheer belligerence. To combat this, Dr. Freudenberg found that as well as specified goal points, high performing pairs would “tag” one another in.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/-17UEw01ar9Xn6WdzaiUUroZ6P3nRYZAnu31" alt="Image" width="800" height="457" loading="lazy">
<em>Avoid steroids… but other than that, these guys provide some good pairing role models.</em></p>
<p>This makes intuitive sense, right? In the ring, if S<em>tone Cold Steve Austin</em> is growing tired, you know he is gonna tag <em>The Rock</em> in (my wrestling knowledge is pretty out of date). If you’re running out of juice, it should be a legitimate reason to change drivers. Don’t trip and fall into the death march.</p>
<p>Follow Dr. Freudenberg <a target="_blank" href="https://twitter.com/SalFreudenberg">on Twitter</a>! I do and you should too. Also, the source material for this article (including all relevant academic sources) is available on <a target="_blank" href="https://salfreudenberg.wordpress.com/2013/06/08/pair-programming-and-expertise/">Sal’s wonderful blog</a>.</p>
<p>While you’re at it, <a target="_blank" href="https://twitter.com/chris_cooney">follow me on twitter</a>. I’m regularly blogging about the work of other, smarter people.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How empathy can help you create a better work culture ]]>
                </title>
                <description>
                    <![CDATA[ By Adeel Imran _Photo by [Unsplash](https://unsplash.com/@v_well?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Vonecia Carswell / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utmcampaign=api-credit) Empathy is ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-empathy-can-help-you-create-a-better-work-culture-c73d2ca15a70/</link>
                <guid isPermaLink="false">66d45d63d14641365a05088e</guid>
                
                    <category>
                        <![CDATA[ empathy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 18 Jan 2019 17:58:59 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*z_xjSzE5ufgSuBihaBot_A.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Adeel Imran</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-246.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/@v_well?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit"&gt;Vonecia Carswell / &lt;a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm<em>campaign=api-credit)</em></p>
<p>Empathy is one of those things that can help in any part of life whether it’s your family, friends, that special person and <em>even also at work.</em> Understanding what <strong>empathy</strong> is and how it effects people took me long time. I struggle with human interactions and I am not ashamed to admit it, so I wanted to share my experience, as to what I have found from all of it.</p>
<p>I am full stack javascript developer. I love code. Javascript is my favorite language and for as long as I can remember I have considered my self as a one-man-army. I get the part where you have to say this in your interviews: <em>“I am a team player &amp; a people person”,</em> and I have said that. But the truth is I am not and rather I am learning as I go.</p>
<p>The biggest thing I have realized is <em>throughout your experience, what will matter is the lives you have impacted. The relationships you have built.</em> I promise you tech stacks will change and you’ll grow old eventually. Programming might not be a suitable career choice at some point for whatever reason. What will matter at the end is the relationships you’ve built along the way.</p>
<h4 id="heading-what-is-empathy"><strong>What is empathy?</strong></h4>
<p>Empathy is the ability to understand and share the feelings of another. It is the act of putting yourself in others’ shoes and seeing a problem from their point of view.</p>
<p>In my day work, I get to be a team lead and I get to be responsible for some really genuine and brilliant people. All of them are diverse and bring something unique to the table. Some are fresh in the industry others are experienced. The only way I can develop a really good and productive team who are in sync with each other and at the best of their abilities, is if I can understand their issues from their POV. Whether it is with code or something else.</p>
<h3 id="heading-what-good-will-empathy-do">What good will empathy do?</h3>
<p>There are so many benefits of having empathy, so I’ll just state a few. The end result of it is</p>
<ul>
<li><em>a happy team</em></li>
<li><em>a well groomed end-product</em></li>
<li><em>good work culture.</em></li>
</ul>
<p><strong>So,</strong> like many other problems we face as software engineers, we tend to solve problems by devising an algorithm. Here is “pseudo code” for empathy.</p>
<p><strong>1- better understanding of your colleagues:</strong> If you understand them better., you can help them better.</p>
<p><strong>2- The unsaid things:</strong> Your team might not share everything with you. Based on their body-language, tone, voice, you will have a better idea of their situation.</p>
<p><strong>3- Resolving conflicts:</strong> When you understand the unsaid things, you can address them and make your team members feel heard. This is the first step of resolving a conflict.</p>
<blockquote>
<p><em>I have always said this: the first point of solving any problem is knowing what the problem is.</em></p>
</blockquote>
<p><strong>4- Getting empathy back from your team:</strong> There are times when you have to be straight with the team. Maybe your team is slacking, not working effectively or maybe a deadline is closing in and you have to ask them to work overtime a bit (there are some days when the client comes first).</p>
<p>In such cases your team might mistrust your intentions. But if you have some inclination of their understanding behind their motivation and point of view, it becomes a bit simpler to gain their trust and convince them of your point of view.</p>
<p>Before you know it, you will somehow become more in tune with your team’s needs. Not a clairvoyant to be exact, but you will somehow be able to predict your team’s follow up questions and answer them better. You will also be able to understand what is holding them back from their true potential</p>
<h3 id="heading-empathy-at-the-workplace">Empathy at the workplace</h3>
<p>It is without any doubt that empathy can help in any kind of job that involves people, and our tech industry is no exception. This is valid even if you work remotely because the messages you see in the chat room are not from bots but from actual people sitting on the other side of the computer.</p>
<p>One frequent situation where we can forget about empathy is during a code review, which I talk about below.</p>
<p>Another problem is when 2 people from different teams need to work together to solve a problem or work on a feature. This can produce an “us versus them” attitude. This can be the case if the teams are from different domains or if it’s the same team divided working from different geographic locations.</p>
<p>A variant of “us versus them” can be “developer versus quality assurance” or “developer versus project managers”. What happens is developers end up taking a very defensive stance against managers, and we (developers) don’t try hard enough to understand their side of story (managers/QA). Getting to know the other side would certainly help to empathize with them. If we can somehow understand what they do, why they do it, it will certainly help in building a better relationship.</p>
<p><a target="_blank" href="https://twitter.com/kaffeecoder">Daniel Westheide</a> has written an excellent article called “<a target="_blank" href="https://danielwestheide.com/blog/2017/01/16/the-empathic-programmer.html">The Empathic Programmer</a>.” Do read it at your pleasure.</p>
<h3 id="heading-lets-start-with-better-code-reviews">Let’s start with better code reviews</h3>
<p>Before we start off with better code reviews, it is so important to make your team realize what a “Prime Directive” is:</p>
<blockquote>
<p><em><strong>Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.” –Norm Kerth</strong></em></p>
</blockquote>
<p>Once this attitude is established and realized by your team, it does 2 things: First, the person reviewing the code knows that their job is not to judge the person who wrote the code, but rather to make improvements on the code. And second, the person who is getting their code reviewed knows that the feedback they are getting is not a personal attack on them, but an opportunity for growth.</p>
<blockquote>
<p><em><strong>I strongly believe the only way of growing is when you get feedback.</strong></em></p>
</blockquote>
<h4 id="heading-better-shaping-our-words">Better shaping our words</h4>
<p>Words, if chosen carefully, can either make this world a better place to live in or hell. It is not guns and ammo. Words are, I believe, the most dangerous weapon at our disposal. Let’s consider the following comment:</p>
<blockquote>
<p><em>This is the wrong way to structure test, it handles way to many use cases altogether</em></p>
</blockquote>
<p>We could instead say something like this:</p>
<blockquote>
<p><em>I think for better readability we can divide these tests into separate modules. Here is a reference from <a target="_blank" href="http://some-dummy-reference/example">http://some-dummy-reference/example</a></em></p>
</blockquote>
<p>Another example of a more negative comment like this would be:</p>
<blockquote>
<p><em>These 3 lines belong in a separate method.</em></p>
</blockquote>
<p>Instead, we can tweak our words a bit and say:</p>
<blockquote>
<p><em>What do you think of extracting these lines into a separate method, to handle calculations separately?</em></p>
</blockquote>
<p>This gives the other person some power and makes them feel that their opinions matter and that they have a say in this matter.</p>
<h4 id="heading-it-is-okay-to-have-opinions">It is okay to have opinions</h4>
<p>People who know me can vouch for the fact that I argue a lot and I strongly believe in this. Being a software engineer, everything should be 0’s &amp; 1’s. Think of yourself in The Matrix with the chosen one (Neo).</p>
<p>So let’s say there is a conflict about anything, perhaps deciding to go for a <em>design pattern A</em> rather than <em>design pattern B,</em> where I am in favor of the latter option. I need to come up with a reason for why I believe my suggested option will work better with the use case that is presented to us.</p>
<p>It is easy to accept and go with the flow, while saying NO is hard because people will argue with you about it. So you need to know why the option you support is better than the one proposed by the team. I honestly love this kind of culture where the team can have a meaningful discussion about choosing design approaches. That is what I believe engineering is all about.</p>
<h4 id="heading-organizing-your-arguments">Organizing Your Arguments</h4>
<p>If the code review that you are having is about style, like tabs vs spaces or about extra white space etc, then that means your team isn’t well aware of the style guide being followed in your project. And a PR comment isn’t a valid place to have that argument.</p>
<p>You can maybe integrate some cool linting tools to automate this process, like <a target="_blank" href="https://eslint.org/">EsLint</a>. I wrote an article earlier about writing clean code called <a target="_blank" href="https://medium.freecodecamp.org/these-tools-will-help-you-write-clean-code-da4b5401f68e">These tools will help you write clean code</a> — check it out.</p>
<p>If, on the other hand, the code review comments are too high level, the commentator does have the right to clarify his opinion. But a better place to have this discussion is on a piece of paper before implementing the code itself. Final code review shouldn’t be an optimal place to discuss how to tackle the problem.</p>
<h4 id="heading-failing-to-care">Failing to care</h4>
<p>Another problem with code reviews is people don’t care about them (I used to be one of them, until someone wrote bad code in my code. <em>Never again.</em>)</p>
<p>I can understand. The code reviews are not the most fun part of the job. But they are the most important part. The part where it becomes really difficult is when you have a very big PR to approve — and I have put my team in that position more times then I can count. But it has been for important reasons. An ideal situation is to keep your PR as small as possible so the code review is easy and not hard on the eyes.</p>
<p>If a big code review needs to happen, you can let your team know before hand and do it altogether as a fun exercise. Think of it as a team building activity.</p>
<p>To make this problem a bit more approachable, maybe you can present the code reviews in a better way:</p>
<ul>
<li>attach screenshots of before and after the PR</li>
<li>explain what the PR does and give context on the background</li>
<li>give references on your approach</li>
<li>be ready for feedback — what doesn’t break you only makes you stronger</li>
</ul>
<p>April Wensel has a brilliant article on this called “<a target="_blank" href="http://engineering.usertesting.com/2016/02/3-common-code-review-pitfalls/">3 Code Review Pitfalls and How to Avoid Them</a>”.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-247.png" alt="Image" width="600" height="400" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/pVmjvK44Dao?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"&gt;Tom Parsons on &lt;a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm<em>content=creditCopyText)</em></p>
<p>So let’s promise be kind, be humble, and be the hardest working person in the room.</p>
<h3 id="heading-wrapping-up">Wrapping up</h3>
<p>No one is born with talent, it is all hard work. The reason someone is where they are is because they had the guts and the persistence day in and day out. If you want to be good at something you need to practice it. Empathy is like that as well. You need to practice it everyday to be good at it. Simple as that.</p>
<p>So let’s sum it up;</p>
<ul>
<li>Put yourself in your team members’ shoes, and try to understand things from their point of view.</li>
<li>Be active in asking questions. If you see your team member down, just ask them about the issue. Asking them shows that you are invested in their well being and happiness.</li>
<li>Stop judging people. Everyone is here to work to make a good living and support themselves and their loved ones. If you get a feedback from someone, think of it as a constructive criticism and improve yourself.</li>
<li>Share the load if your team is overwhelmed. Jump in help them out. Give them an extra hand. If it is in your hands, maybe give them a day off so they can rest. This way they know that you as a team lead appreciate them for your hard work.</li>
<li>Try to learn about how to be empathetic in your free time. Personally, books have helped me a lot and there is such good content on the internet if you want to read up.</li>
<li>Be attentive and a keen listener. You don’t always have to speak. Sometimes just being there and listening helps.</li>
<li>And most of all, GIVE RESPECT! To everyone — your seniors and juniors, everyone! That includes the janitor in the same building as the CEO. Every human being deserves respect.</li>
</ul>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/UzPMMSKfKZQ" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h4 id="heading-references">References</h4>
<ul>
<li>3 Code Review Pitfalls and How to Avoid Them <a target="_blank" href="http://engineering.usertesting.com/2016/02/3-common-code-review-pitfalls/">(Read here)</a></li>
<li>A Guide to Empathy in Customer Service <a target="_blank" href="https://freshdesk.com/customer-service-skills/guide-empathy-customer-service-blog/">(Read here)</a></li>
<li>The Empathic Programmer <a target="_blank" href="https://danielwestheide.com/blog/2017/01/16/the-empathic-programmer.html">(Read here)</a></li>
</ul>
<hr>
<p>If you have liked this, share this with your colleagues. I love to hear your opinions. Reach me at <a target="_blank" href="https://twitter.com/adeelibr">twitter @ adeelibr</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ This is why your read-eval-print-loop is so amazing ]]>
                </title>
                <description>
                    <![CDATA[ By IObert One of the things that makes the tech community so special is that we are always looking for ways to work more efficiently. Everyone has their favorite set of tools which makes them run better. As a professional UI dev, the Chrome DevTools ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/this-is-why-your-read-eval-print-loop-is-so-amazing-cf0362003983/</link>
                <guid isPermaLink="false">66c3632c020f8e9c31066e6b</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 16 Jan 2019 17:49:27 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*wOeV-wURvl_DeuBPreGGcg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By IObert</p>
<p>One of the things that makes the tech community so special is that we are always looking for ways to work more efficiently. Everyone has their favorite set of tools which makes them run better. As a professional UI dev, the Chrome DevTools and the Node.js read-eval-print-loop (REPL) became my favorite tools early on. I noticed that they enabled me to work more efficiently and allowed me to learn new things more quickly.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QyirbrnboR992KJY6hdvrkmnqTwS4FGnVuja" alt="Image" width="800" height="450" loading="lazy">
<em>The three phases of the REPL process</em></p>
<p>This actually made me curious to investigate why this tool is so useful. I could easily find plenty of blog posts which explained <strong>what</strong> REPLs are and <strong>how</strong> to use them, for example <a target="_blank" href="https://clojure.org/guides/repl/introduction">here</a> or <a target="_blank" href="http://blogish.nomistech.com/repl-based-development/">here</a>. But this post here is dedicated to the <strong>why</strong> (as in why are REPLs such a great tool for developers).</p>
<blockquote>
<p>“The number one reason that schools move away from Java as a teaching language is the high bars to Hello-world programs.”</p>
<p>— Stuart Halloway</p>
</blockquote>
<h3 id="heading-what-is-a-repl">What is a REPL?</h3>
<p>REPL stands for <em>read-evaluate-print-loop</em> and this is basically all there is to it.</p>
<p>Your application runtime is in a specific state and the REPL helps you to interact with it. The REPL will <em>read</em> and <em>evaluate</em> the commands and <em>print</em> the result and then go back to the start to read your next input. The <em>evaluate</em> step might change your runtime. This process can be seen as an interview with your application to query its current state.</p>
<p>In other words, the REPL makes your <strong>runtime more tangible</strong> and allows you to <strong>test hypotheses</strong> about it.</p>
<p><a target="_blank" href="https://vimeo.com/223309989">According to Stuart Halloway,</a> the absence of a REPL in Java is the most significant reason why schools started to move to other languages to teach programming. Some people even use the REPL to <a target="_blank" href="https://danlebrero.com/2018/11/26/repl-driven-development-immediate-feedback-for-you-backend/">write better unit tests</a>.</p>
<h3 id="heading-do-i-already-use-a-repl-like-tool-today">Do I already use a REPL (-like tool) today?</h3>
<p>This basic explanation might have reminded you of some tools which you use every day. If you know and use one of the following tools, the answer is “yes”:</p>
<ul>
<li>The dev tools of your browser (like <a target="_blank" href="https://developers.google.com/web/tools/chrome-devtools/">Chrome DevTools</a>)</li>
<li>Your terminal/shell</li>
<li>Jupyter Notebooks</li>
<li>The REPL process in Clojure</li>
<li>Repl.it, jsfiddle.net, or jsbin.com</li>
<li>Online regex validators</li>
</ul>
<h3 id="heading-why-is-the-repl-so-helpful">Why is the REPL so helpful?</h3>
<p>This question kept me up at night because I didn’t understand what makes us inefficient in the first place. I started to research some common psychological effects and tried to link them to my daily interactions with the REPL. Here are my top three hypotheses:</p>
<h4 id="heading-being-in-the-flow">Being in the flow</h4>
<blockquote>
<p>Flow is the mental state of operation in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. (<a target="_blank" href="https://en.wikipedia.org/wiki/Flow_(psychology)">source</a>)</p>
</blockquote>
<p>I think all of us are familiar with this state, it makes us extremely productive and <a target="_blank" href="https://www.verywellmind.com/what-is-flow-2794768">time flies</a> basically. Unfortunately, it’s fairly easy to “lose” the flow, for example when you get interrupted or when you have to wait for some period. I learned this can happen very fast: <a target="_blank" href="https://psychology.stackexchange.com/questions/1664/what-is-the-threshold-where-actions-are-perceived-as-instant">Researchers found out</a> that one second is about the limit for the user’s flow of thought to stay uninterrupted.</p>
<p>The REPL doesn’t need to compile or deploy your code. This leads to a very short response time (&lt;100ms). Thus, you are able to test your hypotheses without losing the flow.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/89s3maIoDGdbPFnt8JKJSGA0foZrdSklK-PT" alt="Image" width="413" height="360" loading="lazy">
_This is what we want to avoid (source: [XKCD](https://xkcd.com/303/" rel="noopener" target="<em>blank" title="))</em></p>
<h4 id="heading-positive-reinforcement">Positive Reinforcement</h4>
<blockquote>
<p>Positive reinforcement involves the addition of a reinforcing stimulus following a behavior that makes it more likely that the behavior will occur again. (<a target="_blank" href="https://www.verywellmind.com/what-is-positive-reinforcement-2795412">source</a>)</p>
</blockquote>
<p>This is the effect that appeals the most to me. Your brain learns to favor certain actions when they were rewarded in the past. This reward could be a bonus from your boss after an outstanding month or a simple “Great job!” from your skiing instructor.</p>
<p>Every time your REPL experiment succeeds and you solved a puzzle/problem, your brain feels rewarded as well! This also takes place when you code in a common IDE. But the REPL responds way faster and allows you to iterate more often. So, more experiments lead to more reinforcement. This effect makes you use the REPL more often and keeps your eye on the ball (instead of distracting yourself by checking for emails).</p>
<h4 id="heading-digital-amnesia">Digital Amnesia</h4>
<blockquote>
<p>The tendency to forget information that can be found readily online by using Internet search engines. (<a target="_blank" href="https://en.wikipedia.org/wiki/Google_effect">source</a>)</p>
</blockquote>
<p>I have to admit, I often mix Java, Python and JavaScript syntax, because that information can be found all over the internet. I would ask myself “Do I need to use <em>add()</em>, <em>append()</em> or <em>push()</em> to add a new element to an array in JavaScript?”. Thus for me, an example of this effect is recalling method names of API and language references.</p>
<p>In the REPL, I can see the available functions immediately with autocomplete:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/zjpzMLtOwLZHgDHMmBRremTlLJ-Hv4VDHJON" alt="Image" width="2000" height="993" loading="lazy">
<em>The code-completion feature of the Node.js REPL</em></p>
<p>The great thing is, this works beyond the standard objects of programming languages. This works <strong>for all frameworks and modules</strong>, which makes the REPL more mighty than your IDE! There’s no need to compare the version numbers of modules and API references anymore:</p>
<blockquote>
<p>“Truth can only be found in one place: the code.”</p>
<p>– Robert C. Martin, Clean Code</p>
</blockquote>
<p><img src="https://cdn-media-1.freecodecamp.org/images/QAfs4XNxxCuoF6IEEHVxi2Nqs6td8SY42BJ2" alt="Image" width="160" height="257" loading="lazy">
_source: [arungupta.me](http://blog.arungupta.me/jdk9-repl-getting-started/" rel="noopener" target="<em>blank" title=")</em></p>
<p>I hope this article helped you to understand how your brain works and how the REPL can help you to be more productive.</p>
<p>I’m curious to see if you agree with my hypotheses or if you know more tools to be a more efficient developer.</p>
<p>Update 2/13/2019:</p>
<p>I’ve also written <a target="_blank" href="https://blogs.sap.com/2019/02/04/cloudfoundryfun-upgrade-cloud-foundry-with-a-new-repl-feature/">a blog post</a> about the usage of REPLs in Cloud Foundry Environments.</p>
<p>Check out <a target="_blank" href="https://www.twitch.tv/videos/379997882">this video</a> by <a target="_blank" href="https://people.sap.com/dj.adams.sap">DJ Adams</a> if you’d like to see the REPL in action :)</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Overthinking, evolutionary psychology, and programming ]]>
                </title>
                <description>
                    <![CDATA[ By Daragh Byrne How your mind evolved to keep you safe — and why you don’t always feel that way My mind is my most important tool as a programmer. It’s the origin of every line of code I write. It’s the mechanism by which I understand the world (use... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-your-mind-evolved-to-keep-you-safe-and-why-you-dont-always-feel-that-way-d0c3bb4c87f3/</link>
                <guid isPermaLink="false">66c356e4cf1314a450f0d6a2</guid>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 17 Feb 2018 07:46:00 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*wmb8E9_3Y99WjFD7.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Daragh Byrne</p>
<h4 id="heading-how-your-mind-evolved-to-keep-you-safe-and-why-you-dont-always-feel-that-way">How your mind evolved to keep you safe — and why you don’t always feel that way</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/wEEMZOdkUTOclyJTS9pSwtic9t8uwwqZXgLt" alt="Image" width="800" height="500" loading="lazy"></p>
<p>My mind is my most important tool as a programmer. It’s the origin of every line of code I write. It’s the mechanism by which I understand the world (user requirements, infrastructure, team dynamics — there is literally nothing that I do as a programmer that doesn’t work through my mind).</p>
<p>I’ve realised more and more that, to be a competent programmer, I need to take care of my mind. It’s up to me to understand how it works, and why sometimes it doesn’t work as efficiently as I’d like.</p>
<p>One of the biggest problems I face when my mind is out of whack is overthinking. My mind gets busy and cluttered, and I can’t see the wood for the trees. Without mental clarity, it gets hard to solve the problem I’m working on. I’ve spent a bit of time studying the problem.</p>
<p>I’ve found the perspective of evolutionary psychology really useful in getting to grips with my own mind, so I’m sharing what I’ve learned here.</p>
<p>I first published this article over at my site, <a target="_blank" href="http://codingmindfully.com/how-your-mind-evolved-to-keep-you-safe-and-why-you-dont-always-feel-that-way/">CodingMindfully.com</a>. I’d love to know what you think in the comments below</p>
<h4 id="heading-as-i-sit-here-typing-this-im-contemplating-my-hands">As I sit here typing this, I’m contemplating my hands.</h4>
<p>Human hands are pretty amazing. There are 27 bones in each, connected to one another by a sophisticated set of connective tissue, all operated by a carefully collaborating cohort of muscles. The dexterity of a human hand is unmatched in any other animal — a huge reason for our success as a species.</p>
<p>As much as I make my living with my mind, my hands are equally important. They’re letting me type these words, for example. In the past, they’ve helped me set up technical equipment for experiments or IT projects. I’ve typed a LOT of code with these hands. They also let me do a huge variety of other things that do the general job of keeping me alive (no smirking at the back). Feeding myself. Creating. Crafting tools. Forming the foundation for exercises. Driving. Communicating.</p>
<p>Hands are so perfect at what they do, and allow us to adapt to so many situations, it’s almost as if they were perfectly designed. In fact many people do. <strong><em>But this isn’t that sort of website</em></strong>!</p>
<p>The best scientific evidence of the last few hundred years clearly shows that we evolved from ancestor species. Evolution is a clean and well-tested way to explain the features of organisms found in nature. If you’d like to argue this, feel free to to skip this article, but it’s a viewpoint I’m happy to subscribe to, and have been for a looooooong time.</p>
<p>In evolutionary terms, a feature (or <em>trait</em>) of an organism that is useful to navigating its environment is an <strong><em>adaptation</em></strong>. Hands are an adaptation shared by a number of species because their utility allows them to do things other species can’t.</p>
<p>Human hands, with their incredibly refined range of motion and control, confer huge advantages to us not shared by other species — such as the ability to craft sophisticated tools.</p>
<h4 id="heading-your-thinking-mind-is-an-adaptation">Your thinking mind is an adaptation</h4>
<p>Thinking is pretty amazing too. I love being able to think. But it wasn’t until around five years ago that I ever considered just <strong><em>why it is that I think</em></strong>.</p>
<p>That’s when I discovered evolutionary psychology.</p>
<p>According to evolutionary psychology, the mind and its subtleties are <strong><em>adaptations</em></strong> that help us to survive and thrive in our environment. Every feature of your mental world is an adaptation concerned at a basic level with keeping you alive.</p>
<p>The most obvious way that your mind does this is by giving you <strong><em>killer problem solving abilities</em></strong>. You have the superpower to think your way out of (and in to!) tricky situations. You can do this using the power of abstract thought that eludes most other species.</p>
<p>In times gone by, this might have been as simple as figuring out a safe way through a ravine to get to water or food at the other side. In more recent times, we’ve applied our ability to think in ever more sophisticated ways — for example, carrying out calculations that allow planes to fly, or figuring out how best to deploy the resources of a team in a company, or planning major construction projects, or attempting to understand the complexity of nature and the human body, or developing the software that powers our favourite websites. All of which further the existence of individuals and the species.</p>
<p>Thinking. Powerful stuff indeed!</p>
<p>The ability to think, when harnessed correctly, is a source of major benefits to humanity. But sometimes our capacity to plan, predict, calculate and create can work against us. Especially when it feels that that’s all we ever do!</p>
<h4 id="heading-the-overthinking-mind">The overthinking mind</h4>
<p>Sometimes, traits that have evolved in one environment can become a little less effective when the environment changes. This is known as maladaptation. In certain circumstances, the thinking mind can behave in a maladaptive manner.</p>
<p>There are two features of our current world that make our mind go into overdrive:</p>
<ol>
<li>The type of threat we’re faced with is, for the most part, imaginary. Many of us live safe lives, where problems like food, shelter and water are mostly solved. Yet our mind still desires to direct its problem solving capacity at something. It preoccupies itself with our day-to-day difficulties, which are usually not life threatening, and directs the full extent of its abilities at them.</li>
<li>We’re bombarded with way, way more information than in the past, so our thinking, problem solving mind (which LOVES information) is overstimulated. This constant stimulation means we can magnify the severity of our problems, turning everyday situations into sources of stress and anxiety. We become overwhelmed with excessive thinking. Everything becomes a problem to be solved, or goal to be achieved. This can get pretty tiring!</li>
</ol>
<p>Thinking is just fine. Do lots of it, do it well, do it clearly.</p>
<p>Overthinking, on the other hand, is often a sign of <a target="_blank" href="http://codingmindfully.com/a-programmers-guide-to-stress/">stress</a>. It’s frequently experienced as racing thoughts, worst-case scenarios, living completely inside your head, or negative self-talk (for example, I’m a terrible programmer — often manifesting as <a target="_blank" href="http://codingmindfully.com/how-i-beat-impostor-syndrome/">impostor syndrome</a>).</p>
<p>Frequently, we’re thinking in terms of “should” or “must” or “have to”, putting enormous pressure on ourselves for things to be different from how they are now.</p>
<p>Which is no fun, and gets us nowhere!</p>
<p>Imaginary threats and information overload make us prone to overthinking. Since thinking is designed to solve problems, it can feel like EVERYTHING is a problem!</p>
<p>The mind, which evolved to solve the problem of how to keep us alive — to help us to ensure our safety — is doing anything but! In fact, it can feel like we’re constantly UNSAFE — even when, objectively, we’re perfectly secure!</p>
<h4 id="heading-the-antidote-to-overthinking">The antidote to overthinking</h4>
<p>Since our mind’s major goal is our survival, it has a tendency to <strong><em>live in the future</em></strong>, scanning for possible threats to our existence; or indeed to <strong><em>dwell in the past</em></strong>, picking apart hurtful memories in order to learn how not to become involved in similar situations again.</p>
<p>The antidote to a mind that is too consumed with thinking — with the past and the future — is to do something that connects us with the present. This gets us “out of the loop”, disengaging the thinking mind and allowing us to get a few moments of respite.</p>
<p>Thankfully, we have a variety of options to do this. Here are a few:</p>
<ul>
<li>Connect with our breathing. A few deep breaths can have a very calming effect.</li>
<li>Engage in sensuality (for example, having a bath. Or enjoying the feel of clean sheets. Or the feel of the sun on your skin. Use your imagination).</li>
<li>Take the time to really, really listen to a piece of music. Become overwhelmed by it to the point that the mind calms down.</li>
<li>Get into nature. Hug a tree, or take a walk in the park, or the wilderness. Gaze at the night sky and ponder the vastness of the universe.</li>
<li>Do something creative. Access a different part of your brain.</li>
<li>Dance, exercise, yoga — all excellent ways to connect with the body rather than the mind.</li>
<li>My favourite way to connect with the present moment: meditation! Learning <a target="_blank" href="http://codingmindfully.com/why-this-software-developer-teaches-meditation/">meditation</a> is teaching yourself the skill of connecting with the present. Very useful when your mind is feeling unmanageable!</li>
</ul>
<p>To summarise:</p>
<ul>
<li>Your ability to think evolved to keep you safe and alive;</li>
<li>Your mind does this by thinking a lot about the past and the future;</li>
<li>It’s possible for the mind to get into a state where it’s thinking TOO MUCH about the past and the future — this can be uncomfortable or downright unpleasant;</li>
<li>Choosing to connect with the present moment can act as an antidote to overthinking. This can take practice, but there are a number of options, including meditation.</li>
</ul>
<p>If you visit my site, and sign up for my list, I’ll send you four things completely free:</p>
<ol>
<li><a target="_blank" href="http://www.codingmindfully.com/ultimate-guide">The Ultimate Guide to Meditation for Programmers</a></li>
<li><a target="_blank" href="http://codingmindfully.com/burnout-checklist/">The Coding Burnout Checklist</a>.</li>
<li><a target="_blank" href="http://codingmindfully.com/impostor-flashcard">The Impostor Syndrome Flashcard</a></li>
<li>Three guided audio meditations</li>
</ol>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What my child’s blanket taught me about technology and the ancient Greeks ]]>
                </title>
                <description>
                    <![CDATA[ By Lukasz Lysakowski I have a daughter who has a special blanket. The blanket is so special that its name is “Special” or “My Beloved.” Special has been part of the family for eight years. As you can imagine, it’s an important part of household happi... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-my-childs-blanket-taught-me-about-technology-and-the-ancient-greeks-92b229a5b401/</link>
                <guid isPermaLink="false">66c365e10cede4e9b1329d58</guid>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ history ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 04 Sep 2017 18:24:04 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*Mm8I27PkxXXjMiCcJvZZvA.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Lukasz Lysakowski</p>
<p>I have a daughter who has a special blanket. The blanket is so special that its name is “Special” or “My Beloved.” Special has been part of the family for eight years. As you can imagine, it’s an important part of household happiness. As parents, we knew that Special would be difficult to replace, so we always kept an eye on it.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/cmw-N2tJPOYNsjzfdsP6pLYhAAyBeiKbtFyA" alt="Image" width="600" height="600" loading="lazy">
_Special in action with vintage [Hipstamatic](http://hipstamatic.com/" rel="noopener" target="<em>blank" title=") effects</em></p>
<p>Special was an early artisanal purchase on <a target="_blank" href="https://www.etsy.com">Etsy</a>, sans mass-manufacturing. The blanket was created from two different fabrics stitched together. In a few years, we discovered that the top fabric design (a vintage Japanese print) was discontinued and the entire blanket was no longer available.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/RxNYOh1T57fQIPZqdWk45fK0zkAk8cBRb8w-" alt="Image" width="800" height="456" loading="lazy">
_[Discontinued](https://www.etsy.com/listing/202281357/echino-nico-vespa-fabric-echino-scooter" rel="noopener" target="<em>blank" title=") vintage print :(</em></p>
<p>Over time, Special became worse for wear. The top fabric peeled off. The body started fraying. The blanket fell apart into several pieces. As time progressed, the pieces were dropped and lost. Each missing piece resulted in a crisis.</p>
<p>After eight years, we only had a single sliver of Special left. Our fear was that the last scrap would be lost and the blanket gone forever. The family’s task was to remember when and where we last saw Special.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/GuW8PYkMv3sqzD9QyAf3059hStd7RB6E1IGx" alt="Image" width="800" height="411" loading="lazy"></p>
<p>We decided we needed help to preserve our fragile memories. That’s where the <a target="_blank" href="https://www.thetileapp.com">Tile</a> came into the mix. The Tile is a little flat piece of plastic, connected to an app, that you can clip onto anything. The components allow you to find any lost object within a 100-foot radius. Its design is straightforward — launch the app, tap the Tiled object, and if the object is in radius, it’s Tile will play a song. In case the Tile is out of radius, the app will show you the last location of the lost object.</p>
<p>After a while with the Tile, I noticed a change in our daughter’s behavior. She was no longer intensely concentrating on where she last saw her blanket. Instead of trying to remember where she last had it, she was fine with using the Tile to find it.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/RtYjQ22U7tDFB1tvK-LybDQ--JY0RM1n9wgR" alt="Image" width="288" height="223" loading="lazy">
_Theuth via: [http://www.john-uebersax.com/plato/myths/phaedrus.htm](http://www.john-uebersax.com/plato/myths/phaedrus.htm" rel="noopener" target="<em>blank" title=")</em></p>
<h4 id="heading-platos-the-phaedrus">Plato’s The Phaedrus</h4>
<p>This changed behavior reminded me of Plato’s <strong>The Phaedrus.</strong> In it, Socrates shares the story of <a target="_blank" href="http://outofthejungle.blogspot.com/2007/11/socrates-objections-to-writing.html">the ancient Egyptian god Theuth, inventor of letters, and king Ammon’s response</a>. Socrates quotes a discussion between Theuth and Ammon: “This discovery of yours will create forgetfulness in the learners’ souls, because they will not use their memories; they will trust to the external written characters and not remember of themselves.”</p>
<p>According to Plato, Socrates’ fear was that we are substituting our memory with the written word. We are weakening an inherent ability with an artificial device. We are choosing to forget something as it can be recalled from outside ourselves. That seemed similar to the behavior that I observed. But the Tile is not responsible for this behavior. Instead, it’s within ourselves. It’s a mechanism that forms our mind, called the Zeigarnik effect.</p>
<h4 id="heading-the-zeigarnik-effect">The Zeigarnik effect</h4>
<p>In psychology, the <a target="_blank" href="https://en.wikipedia.org/wiki/Zeigarnik_effect"><strong>Zeigarnik effect</strong></a> states that people remember uncompleted or interrupted tasks better than completed tasks. It also affects us in reverse. If our mind realizes we no longer need to hold information, it allows the information to be held by an external device. Our mind does not preserve information that’s already retained. Instead, it saves its energy to capture new information and process it into newer knowledge. It’s up to us as individuals to put the excess energy to use.</p>
<p>A study by Betsy Sparrow found that people are less likely to remember information if they know they can access it later. Why remember the information when you can use <a target="_blank" href="https://www.google.com">Google</a> to recall it later? More information about the Zeigarnik effect can be found in <a target="_blank" href="https://blogs.scientificamerican.com/literally-psyched/on-writing-memory-and-forgetting-socrates-and-hemingway-take-on-zeigarnik/">Scientific American</a>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/6TL5O3DIh6bJeXI51jTIBGwQhBubj0h8p0gD" alt="Image" width="646" height="363" loading="lazy">
<em>Prometheus bearing fire</em></p>
<h4 id="heading-prometheus-and-fire">Prometheus and Fire</h4>
<p>The story of <a target="_blank" href="http://www.ancient.eu/Prometheus/">Prometheus</a> and fire is also a story of how technology affects us. The story goes that Prometheus felt sorry for humans as we had no natural abilities to protect ourselves. We were not born with augmentation such as claws or scales, but were instead naked and defenseless. So Prometheus stole fire from the Gods and gave it to humans. According to Socrates, “A gift of gods to men [i.e. the art of invention], as I believe, was tossed down from some divine source through the agency of a Prometheus together with a gleaming fire.” (<a target="_blank" href="http://www.theoi.com/Titan/TitanPrometheus.html"><em>Plato, Philebus 16b, trans. Fowler)</em></a></p>
<p>Fire gave us warmth. With fire, we sustained ourselves with cooking. Fire also gave us the ability to augment and protect ourselves with tool making. Tools merged with science to forge technology.</p>
<p>The root of the word technology also traces to Greek. The Greek term <em>Techne,</em> which means “art, craft,” combined with <em>Logia</em>, study or knowledge of things, to become <em>Technologia</em>, the study of art or craft.</p>
<p>Fire is a source of creativity and transformation that clears the old and brings in the new. Tools and technology represent an augmentation of fire that propels our ability to create change. Tools create one-to-one change while technology creates societal change at the same time.</p>
<h4 id="heading-as-a-designer">As a designer</h4>
<p>As a digital product designer, I work with technology to create tools. I enjoy creating tools to help people. As such, its not just technology that creates change — it’s us. Human nature drives why we create and design. Jared Spool defined design as “the rendering of intent.” He stated that “the designer imagines an outcome and puts forth activities to make that outcome real” in <a target="_blank" href="https://articles.uie.com/design_rendering_intent/">this article</a>.</p>
<p>As designers, we are part of a long tradition of thinking and making. We have to consider what is the purpose of our work. As the Greeks said, we need to examine our work beyond our intent. We create change with our technology, and our technology changes us.</p>
<h4 id="heading-as-a-parent">As a parent</h4>
<p>I still find the Tile to be helpful. We still attach it to the blanket when we travel or break the usual routine. Also in my old age, I am ordering another couple of Tiles to keep track of my own things. I need a small Tile to fit on my AirPods container because I often misplace it. I wonder what Socrates would’ve said about that.</p>
<p>If you enjoyed this article, please give me some claps so more people see it. Thanks!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Learning How to Learn: The Most Important Developer Skill ]]>
                </title>
                <description>
                    <![CDATA[ By Preethi Kasireddy Being an efficient learner is at least as important as being an efficient coder. When you’re a developer, your job requires you to learn every single day — in spite of the constant lure of distractions like Hacker News, Twitter, ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/learning-how-to-learn-the-most-important-developer-skill-7bf62dfaf67d/</link>
                <guid isPermaLink="false">66c359fa7ef110ecbf367b4d</guid>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 26 Aug 2016 15:03:56 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*LD9BykawGFTJyJGdv6NUZQ.gif" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Preethi Kasireddy</p>
<p>Being an efficient learner is at least as important as being an efficient coder.</p>
<p>When you’re a developer, your job requires you to learn every single day — in spite of the constant lure of distractions like Hacker News, Twitter, Reddit, and Facebook.</p>
<p>You constantly encounter new code bases and new technical challenges at work. Home is no better, as you tackle open source repos and personal projects, each with their own processes and challenges to tackle.</p>
<p>The tech world changes fast, and it can feel like a full-time job just keeping up with the latest tools, languages and frameworks.</p>
<p>Long story short: learning is hard. Yet, we need to be able to learn quickly and effectively to thrive.</p>
<p>In the past year, I went from not knowing how to use the Chrome debugger to working as a software engineer for a leading cryptocurrency company. In the process, I rapidly learned a new skill (coding).</p>
<p>That said, learning didn’t come easy for me.</p>
<p>Honestly, every new concept was a struggle. There were too many unknowns, and too much uncertainty.</p>
<p>“How in the world is this sustainable?” I thought to myself.</p>
<p>“If this is what learning to code is supposed to feel like every day, I’ll be miserable. Is this really my passion?”</p>
<p>“Wouldn’t this be easy for me if this was my passion? Do artists struggle to produce art? Do writers struggle to write a great book? Do athletes struggle to do well in a race? Are we supposed to struggle when we’re pursuing our passions?”</p>
<p>“Shouldn’t I be finding pleasure in this?”</p>
<h3 id="heading-does-it-ever-get-easier">Does it ever get easier?</h3>
<p>Yes, it does. A year later, tackling new programming concepts is still “difficult” in the sense that it requires discipline and hard work.</p>
<p>But it’s also become an <em>enjoyable</em> process, rather than an overwhelming one.</p>
<p>What happened in the last year to make that shift possible?</p>
<p>Simple: I changed my perspective on learning. What once struck me as “difficult” became “engaging.”</p>
<p>In the rest of the post, I’ll explain how this transformation happened.</p>
<h3 id="heading-just-getting-started">Just getting started</h3>
<p>Learning to code is hardest at the beginning.</p>
<p>For example, think about the first programming language you have to learn. You want to tackle the small things like syntax and style. But first, you have to comprehend difficult core concepts like values, types, operators, control flow, functions, higher order functions, scopes, closures, recursion, and so much more.</p>
<p>It feels like learning to juggle — but starting with eighteen pins instead of two.</p>
<p>When I first learned about closures, it took me many weeks to truly understand the concept. I thought I understood it when I read about it. But when I tried to identify and use closures in practice, I’d find myself stumped.</p>
<p>That wasn’t unusual. I’ve observed this process as a teacher as well: new concepts don’t usually click the first time around. Or the second. Or even the tenth.</p>
<p>But for those who stick it out long enough, there will be a “breaking point” where things suddenly begin to make sense. In my example, I read literally every blog post, Stack Overflow post, and spec on the internet about closures.</p>
<p>Everything I read and experimented with gave me a new perspective, until eventually, I had a 360-degree mental picture of how closures worked. Closures “clicked.”</p>
<p>Getting to a point where I felt this sense of understanding of closures was super important, because it was rewarding and encouraged me to go for more — including writing my <a target="_blank" href="https://medium.freecodecamp.com/lets-learn-javascript-closures-66feb44f6a44#.mwsayzvph">own blog post</a> that explained the concept.</p>
<h3 id="heading-learning-is-a-process-not-a-goal">Learning is a process, not a goal</h3>
<p>If we see learning as something we “have” to do, then we rush to get it done so that we can spend the rest of our time doing something more “fun” — something we “want” to do.</p>
<p>The problem is that it’s impossible to know everything about anything, so viewing learning as a race leads to burnout and disappointment.</p>
<p>Instead, if you see learning as a process, you’ll appreciate the small victories and insights along the way. This will drive you to constantly move forward.</p>
<p>You can compare it to exercise. Workouts hurt, and then the pain ends as soon as your workout ends. But it’s never gone. It’s waiting for you the next time you workout. Except each time, the pain becomes less piercing. You learn to cope with it. You become familiar with the pain, and it just becomes part of the routine. You are rewarded by better health and a better physique and are incentivized to keep going.</p>
<p>Exercise creates a positive feedback loop:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/dzVsXY8wsBbaicOeZJ3v1E6RqAwvLkcbYVXG" alt="Image" width="800" height="603" loading="lazy"></p>
<p>The same is true for learning.</p>
<h3 id="heading-turning-learning-into-an-engaging-process">Turning learning into an engaging process</h3>
<p>Imagine building your very first web application.</p>
<p>At first, all you’ve got is a daunting, blank text editor. The task of building the app seems almost insurmountable. You know nothing, and have so much to learn before you can make this happen.</p>
<p>Thankfully, you decide to go for it anyway.</p>
<p>From then on, your main focus becomes to do one small step at a time.</p>
<p>First, you create an idea. What will you build? Who’s the end user? What are the constraints?</p>
<p>Second, you prototype or sketch out some rough designs for what you think it might look like. You ask your friends or the internet for feedback, and iterate to make it better.</p>
<p>Third, you research languages, tools, and frameworks that will work best with your requirements.</p>
<p>Step by step you discipline your mind to channel all its energy towards this one goal.</p>
<p>Sometimes you’re writing code.</p>
<p>More often than not you’re stalled at some bug or error.</p>
<p>Sometimes you’re too tired to do any work, so you take a break.</p>
<p>Other times, you don’t feel like writing code. That’s okay. You spend your time researching or reading up on topics related to your project.</p>
<p>Eventually, after a few weeks of hard work, you’ve built a foundation that can handle your big ideas. Suddenly, working on your app doesn’t feel as painful. You see the reward of the initial set of hard work, and now it’s just another piece of code you need to write or another bit of refactoring you need to do — which you’ve done 100s of times already, no problem.</p>
<p>You turned what was once a daunting or dreadful activity into one that is complex and engaging.</p>
<p>This is how we grow. This is how we get better. Whether it’s programming, dancing, running, or reading: it’s not easy, and there won’t ever be a time or place when you’re “done” learning.</p>
<p>Instead, enjoy the process of investing your energy into something, and enjoy the pain that comes along with it. You’ll start to notice that you no longer describe it as “pain” — because what was once painful becomes a symbol for what’s next: a sense of personal accomplishment and self-satisfaction.</p>
<p>In other words, struggle and enjoyment will start to mean one and the same thing. Remember the cycle:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/x4sbg2UHGQsP3Bkksifkf5UZ1uU9Hk7SXrih" alt="Image" width="800" height="603" loading="lazy"></p>
<h3 id="heading-one-approach-to-learning-technical-topics">One approach to learning technical topics</h3>
<p>Let me tell you a little about the learning process I follow. This isn’t the be-all-end-all of learning styles, so if something different works for you, please share it in the comments! In case you can’t tell, I’m a nerd about this stuff :)</p>
<p>Let’s use the process of learning the <a target="_blank" href="https://facebook.github.io/react/">React.js</a> library as an example.</p>
<h4 id="heading-what-is-the-motivation-for-learning-this">What is the motivation for learning this?</h4>
<p>First step: I’d start with a Google search for the React.js documentation and read a bit about the background and motivation for the library.</p>
<p>Knowing the “why” behind any topic is incredibly helpful for framing the learning process. It answers questions like:</p>
<ul>
<li>How is this different from other solutions?</li>
<li>How useful is this to me?</li>
<li>What problems does this solution aim to solve?</li>
<li>Is this just a new shiny tool that’ll only be useful for a few months or will it fundamentally change the way I think and code?</li>
</ul>
<h4 id="heading-reading-and-understanding-core-concepts">Reading and understanding core concepts</h4>
<p>Second, I’d read through any intro articles or examples provided in the docs.</p>
<p>Notice I’m not touching any code yet. Reading and sinking in the core concepts comes before hands-on experimentation. It’s incredibly important to do this because it lays the foundation for the rest of my learning.</p>
<p>Even though I might be able to get away with blindly using React.js without learning the core concepts, eventually it’ll catch up to me when I run into a bug.</p>
<h4 id="heading-first-time-coding">First time coding</h4>
<p>After spending some time on the above steps, I start to get the gist of what’s going on, or maybe even feel like I totally get it. Then it’s time to jump into some code.</p>
<p>I typically try to build something really small with any new tool by following a video tutorial (e.g. on egghead.io) or a written tutorial before jumping into custom projects.</p>
<h4 id="heading-when-you-get-stuck">When you get stuck</h4>
<p>…And then, inevitably, I get stuck.</p>
<p>Reading the docs seemed like a piece of cake, but actually using it in practice makes me realize I have no idea what’s going on.</p>
<p>This is when I start to feel that dreaded “just give up” feeling. But instead of giving in when the going gets tough, I remind myself that pain == gain. Turning back would be cowardly.</p>
<p>Here’s what I do instead:</p>
<ol>
<li>I first narrow down and figure out what I’m actually stuck on — i.e. define the problem. Then I come up with a hypothesis for what I think could be the root cause or causes of the problem. Even if I have no idea, I just make a guess.</li>
<li>Then I step away from the problem and my computer and do something that relaxes me. This is incredibly hard to do when I’m so upset about the problem I’m stuck on, but letting go of the problem works wonders. (Ever notice how great ideas always strike in the shower?)</li>
<li>Now I try to debug with my hypothesis in mind. I get as far as I can on my hypothesis without looking for answers online — there’s something beautiful that happens when you try to solve problems by truly thinking deeply about them on your own first. Even if you’re going down the wrong path, the fact that you made the effort teaches you a lot and you remember the problem space much better next time you run into it.</li>
<li>If my hypothesis leads to an answer, hooray! I’m done. If not, I Google search for documentation, blog posts, or Stack Overflow posts that could help me get closer to the answer.</li>
<li>While reading, I take notes on any and all pieces of information that could potentially be helpful.</li>
<li>Still no solution? That’s fine. I’m sure I learned something valuable by reading through all that, even if it didn’t directly help me solve the problem at hand. Who knows when this knowledge might come in handy next time?</li>
<li>At this point, if I’m truly stuck, I will either post a question on Stack Overflow or ask a co-worker or developer I know.</li>
<li>Otherwise, I rinse and repeat until I get closer to the final solution. At some point, the answer always comes.</li>
</ol>
<p>At times this process takes a few seconds, and other times it takes hours (or days). Either way, the process itself is incredibly beneficial to your skill set as a developer.</p>
<p>Getting stuck on a bug feels like stumbling in a dark tunnel looking for a ray of light. You eventually find it, but along the way you discover so much about the tunnel — and it’s knowledge about the “tunnel” that makes you strong as a coder.</p>
<p>Think of debugging as a chance to explore rather than a detour from your goal, and it becomes much more fun.</p>
<h4 id="heading-rinse-and-repeat">Rinse and repeat</h4>
<p>By this point in the learning process, I’ve built something small and tackled some small hurdles along the way. As you can see, it was a struggle — clearly, I need some more practice with the new tool.</p>
<p>So, once again I try to build something on my own. Rather than jumping straight to a big custom project, I’ll look for a repo to base my application on.</p>
<p>For example, if there’s an online CRUD todos example (of course) using React.js, maybe I’ll build a different type of CRUD application. Just different enough to keep me engaged, but not so different as to make me discouraged if something goes wrong.</p>
<h4 id="heading-mastery">Mastery</h4>
<p>Mastery requires repetition, so I keep building more small projects until I feel like I’ve got the core concepts down.</p>
<p>Eventually, I begin to be able to piece things together on my own without constantly referencing documentation or examples. Only then do I finally adventure out and build something from scratch on my own.</p>
<p>Throughout this process, I aim to make the process fun and engaging. I’m constantly pushing myself to work on things that are harder than what I am capable of in the moment, but not throwing myself into the deep end so that I get discouraged and never finish.</p>
<p>Finally, I make sure to step away as soon as I find myself getting too frustrated to enjoy the project.</p>
<h3 id="heading-learning-is-fun">Learning is fun</h3>
<p>With some effort and structure, learning programming turns out to be incredibly fun. At first it’s incredibly complicated, and in my opinion that’s why so many people get scared away — not because it’s “boring,” but because it’s “hard.”</p>
<p>After you go through this learning process a few times, processing new information becomes a muscle memory. You don’t really think about it. You just learn to ride the pain wave and find joy in the reward.</p>
<p>Like magic, it becomes “easier” to learn.</p>
<p>How do you tackle new subjects? Any insights or breakthrough moments you’d like to share? Please comment below. I love hearing new ideas :)</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ A Cognitive Sciences Reading List for Designers ]]>
                </title>
                <description>
                    <![CDATA[ By Andy Fitzgerald If you’ve ever done any contextual inquiry or usability testing, you’ve probably observed first hand the difference between what people say they will do and what they actually end up doing. Overlooked calls to action, bizarre navig... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/a-cognitive-sciences-reading-list-for-designers-5297c2934aa9/</link>
                <guid isPermaLink="false">66c3423a4f1fc448a3678f70</guid>
                
                    <category>
                        <![CDATA[ books ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ user experience ]]>
                    </category>
                
                    <category>
                        <![CDATA[ UX ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 29 Jul 2016 01:11:56 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*oKOl5SS8hsaDWETEAOFGlQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Andy Fitzgerald</p>
<p>If you’ve ever done any contextual inquiry or usability testing, you’ve probably observed first hand the difference between what people say they will do and what they actually end up doing. Overlooked calls to action, bizarre navigation paths, mind-bogglingly irrational decisions — even the most sensible seeming users occasionally (or often) do things that “rationally” make little sense.</p>
<p>Which is to say that we all, on occasion (or often) do things that seem to make little rational sense.</p>
<p>And yet, on a day-to-day basis, this is how we successfully negotiate the complexities of our world. We use heuristics (aka rules-of-thumb) and limited information to make decisions about how we live our lives, and we do it continuously throughout the day — often without stopping to consider why we choose one thing over another.</p>
<p>In order to get a better sense of how our often erratic decision making processes work behind the scenes — and better understand why they sometimes don’t — I’ve been doing more reading lately into cognitive science and decision making. This post is a quick roundup of the books I’ve found most enlightening to the task of designing information systems for messy, irrational humans.</p>
<h3 id="heading-embodied-amp-distributed-cognition">Embodied &amp; Distributed Cognition</h3>
<p>There’s been a lot of attention given lately to the idea that “thinking” doesn’t take place solely in the space between our ears. Modern notions of cognition understand thinking as a process that crosses into the body and spills out into the world. For a deeper understanding of how thinking is embodied and distributed, these texts are a good place to start:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Q8NVJzj2O3LNtZeB-0TCZJmZznUaOYsFJJAO" alt="Image" width="298" height="452" loading="lazy"></p>
<h4 id="heading-beyond-the-brain">Beyond the Brain</h4>
<p>Louise Barrett, 2011</p>
<p><strong>Theme</strong></p>
<p>It is an error to assume that complex behavior and complex cognition are necessarily linked and that the one can only arise from the other. By understanding how brains, bodies, and environment are connected, we can better understand how intelligent, adaptive behavior is produced.</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“To make a distinction between perception and cognition as separate psychological processes is both arbitrary and false” (22).</li>
<li>“Language is not purely for communicating, but is also a way of effecting changes in our environment that enable us to achieve more than we could otherwise” (194).</li>
<li>“The real ‘problem solving machine’ is not the brain alone, but the brain, the body, and the environmental structures that we use to augment, enhance, and support internal cognitive processes” (219).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>Very readable with lots of relatable examples and relevant context. This book draws on and furthers a wide body of foundational work (Andy Clark figures in here a lot — we’ll get to him in a minute), but remains accessible to a general audience.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/FS3h08emhnCOlB4UHqn0UvEoM6ah3Vsm8Xkt" alt="Image" width="300" height="452" loading="lazy"></p>
<h4 id="heading-proust-and-the-squid">Proust and the Squid</h4>
<p>Maryanne Wolf, 2007</p>
<p><strong>Theme</strong></p>
<p>The process of learning to read creates physical changes in the brain that directly affect how that brain works and how we think. Understanding this process (neuroplasticity) in the reading brain prepares us to better understand the changes we’re currently undergoing as we “make the transition from a reading brain to an increasingly digital one.”</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>The efficient reading brain — which takes years to develop — literally has “more time to think” (54).</li>
<li>Contrary to spoken language, “there are neither genes nor biological structures specific only to reading. Instead, in order to read, each brain must learn to make new circuits by connecting older regions originally designed and genetically programmed for other things” (168).</li>
<li>“The new circuits and pathways that the brain fashions in order to read become the foundations for being able to think in different, innovative ways” (271).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>The first part of this book focuses on the plasticity of the brain and the ways that learning to read changes it. Wolf illustrates this story with historical accounts of writing in early societies and plenty of good ol’ neuroscience. Later chapters focus more closely on reading development in children and dyslexia before returning in a brief final chapter to the effects of digital technology on how our brains work.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/hkumflDGfderP0iAd1Zvn4rJ6rZlk7ZfbwpN" alt="Image" width="300" height="452" loading="lazy"></p>
<h4 id="heading-supersizing-the-mind">Supersizing the Mind</h4>
<p>Andy Clark, 2008</p>
<p><strong>Theme</strong></p>
<p>What we call “thinking” often occurs only partially in the brain: much of the human cognitive process regularly criss-crosses the boundaries of brain, body, and environment. “In building our physical and social worlds, we build (or rather, we massively reconfigure) our minds and our capacities of thought and reason” (xxviii).</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Words and linguistic strings are among the most powerful and basic tools we use to discipline and stabilize dynamic processes of reason and recall” (53).</li>
<li>“Gesture and speech are interacting parts of a distributed, semianarchic cognitive engine, participating in cognitively potent self-stimulating loops whose activity is as much an aspect of our thinking as its result” (133).</li>
<li>“The presence of humanlike minds depends quite directly on the possession of a humanlike body” (200).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>Clark makes a compelling and provocative case for radically rethinking the way human beings perceive, think, and act in the world; for him, all of these actions are part of a single, continuous process. Clark supports his claim by drawing on a wide range of sources in linguistics, robotics, biology, and neuroscience — from which he pulls a variety anecdotes and examples that keep the text humming along. Big ideas here and intense reading; well worth the effort.</p>
<h3 id="heading-meaning-making">Meaning Making</h3>
<p>Ferdinand de Saussure, the founder of linguistics, argued that without language, we wouldn’t have thought. Figuring out how we make meaning has lot to do with how we use and manipulate symbols. This field is plenty deep, but these titles will give you some practical ways to think about how “saying” and “meaning” relate:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/DzBmEXGu7Y6PN3-j4UmQiTFiASSLAcrj9Akm" alt="Image" width="276" height="452" loading="lazy"></p>
<h4 id="heading-metaphors-we-live-by">Metaphors We Live By</h4>
<p>George Lakoff and Mark Johnson, 1980</p>
<p><strong>Theme</strong></p>
<p>We have all at one time been taught to recognize a “metaphor” as a figure of speech, a particular use of language. Lakoff and Johnson argue that, to the contrary, metaphor as a linguistic expression is possible only because the human conceptual system and thought process is, at its core, metaphorically defined.</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Our values are not independent but must form a coherent system with the metaphorical concepts we live by” (22).</li>
<li>Even seemingly literal expressions are often structured by metaphorical concepts which highlight some aspects of experience while hiding others (51, 149).</li>
<li>Since truth is always relative to a conceptual system, and since any human conceptual system is mostly metaphorical in nature, there can be no fully objective, unconditional, or absolute truth (185).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>This book is a great first foray into the subtleties of how we use language and metaphor to construct meaning and make sense of the world. Lakoff and Johnson drive the narrative with examples out of everyday language and take the time to thoroughly explain their conclusions. This book is definitely one of my favs.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/eiD1h8fjs7ldJG72Pj0zmGteneKsMTXNLAAx" alt="Image" width="298" height="450" loading="lazy"></p>
<h4 id="heading-seeing-what-others-dont">Seeing What Others Don’t</h4>
<p>Gary Klein, 2013</p>
<p><strong>Theme</strong></p>
<p>Insight is not the result of concentration or a proven process, but rather of learning to “restructure beliefs.” To nurture the power of insight, we must change the story we use to understand events.</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Intuition is the use of patterns we’ve already learned, whereas insight is the discovery of new patterns” (27).</li>
<li>“Insights change our understanding by shifting the central beliefs — the anchors — in the story we use to make sense of events” (148).</li>
<li>“Confusions, contradictions, and conflicts can work as springboards to insight. We just have to replace our feelings of consternation with curiosity” (182).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>Klein’s book is the record of his own quest to figure out what sparks insight — and to figure out what keeps us from grasping insight that is right in front of us. He explores these questions, as well as the question of how to increase the flow of insight, across scores of stories of insight achieved (and missed). Very readable, very engaging.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/MFEx9SGdsEOUcdDxsueS6ezYOJRiPIOIwhBp" alt="Image" width="298" height="452" loading="lazy"></p>
<h4 id="heading-the-way-we-think">The Way We Think</h4>
<p>Gilles Fauconnier with Mark Turner, 2003</p>
<p><strong>Theme</strong></p>
<p>Identity, integration, and imagination are the result of the uniquely human ability to “blend” mental spaces by projecting elements from one frame of reference to another. This “cognitive blending” is the core process behind the human power to construct meaning.</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Meaning systems and formal systems are inseparable. They co-evolve in the species, the culture, and the individual” (11).</li>
<li>“The meanings we take most for granted are those where the complexity is best hidden” (24).</li>
<li>“Language does not represent meaning directly; instead, it systematically prompts the construction of meaning” (142).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>The Way We Think provides one of the most meticulous, in depth readings of how humans construct meaning I have ever read. The examples given range from “Eureka!” moments, where we are shown the core inner workings of sudden realization and certainty, to constructions of the most banal everyday speech, revealed to contain complex operations of imaginative blending and synthesis. A less patient reader may find some of the case studies tedious, but the core framework and analytical approach offered here provides a powerful set of tools for digging deep into how we construct and communicate meaning.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/cNQqc5n-ck-Uc0D2lnOdPAw3DgtRmwSfpmM3" alt="Image" width="324" height="452" loading="lazy"></p>
<h4 id="heading-women-fire-and-dangerous-things">Women, Fire, and Dangerous Things</h4>
<p>George Lakoff, 1990</p>
<p><strong>Theme</strong></p>
<p>We organize knowledge by means of structures called “idealized cognitive models,” which account for our ability to categorize and conceptualize. These models emerge from the basic, experiential aspects of human psychology: “gestalt perception, mental imagery, motor activities, social function, and memory” (37).</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Motivation depends on overall characteristics of the conceptual system, not just local characteristics of the category at hand” (113).</li>
<li>“Since we act in accord with our conceptual systems and since our actions are real, our conceptual systems have a major role in creating reality” (296).</li>
<li>“Reason is embodied in the sense that the very structures on which reason is based emerge from our bodily experience. Reason is imaginative in the sense that it makes use of metonymies, metaphors, and a wide variety of image schemas” (368).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>“Women, Fire, and Dangerous Things” is the 500 ton locomotive of this list — and it doesn’t come with brakes. This is a big book full of big ideas, some of which you’ll follow, some of which you likely won’t. Don’t worry about it. Success means grappling with it, not defeating it. That said, there is a lot in here for the diligent reader. I’m particularly fond of chapter 17, “Cognitive Semantics.”</p>
<h3 id="heading-decision-making">Decision Making</h3>
<p>You’re a rational person, right? You make rational decisions, right? Alas, this is what everyone thinks — and we collectively have pretty varied opinions (to say the least) about what counts as “rational.” Dig these books to get some insight into why:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/453BeHggh73HW9ZIXD9UEw2b6gXDQklJsbTz" alt="Image" width="303" height="452" loading="lazy"></p>
<h4 id="heading-predictably-irrational">Predictably Irrational</h4>
<p>Dan Ariely, 2008</p>
<p><strong>Theme</strong></p>
<p>Standard economic theory suggests that individuals make decisions based on carefully weighed consideration of their options. In practice, however, “rationality” is regularly eclipsed by our irrational feelings about initial states (anchors), the temptation of getting anything for free, social norms, and the outsized value we place on what we already possess (loss aversion).</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>“Once prices are established in our minds — even if they’re arbitrary — they shape not only what we are willing to pay for an item, but also how much we are willing to pay for related products” (32).</li>
<li>“The difference between two cents and one cent is small; the difference between once cent and zero is huge” (68).</li>
<li>“Our propensity to overvalue what we own is a basic human bias, and it reflects a more general tendency to fall in love with, and be overly optimistic about, anything that has to do with ourselves” (182).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>This is one of the most accessible texts on this list: Ariely writes in an easy-going, conversational style and structures all of his arguments around closely focused, often funny studies and experiments he has himself conducted with students and colleagues. His examples are great both at illustrating his points and keeping his reader engaged.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/4grPMK-LdttDKDHRXhwXvsknj4VMXwK8o9hq" alt="Image" width="303" height="452" loading="lazy"></p>
<h4 id="heading-thinking-fast-and-slow">Thinking, Fast and Slow</h4>
<p>Daniel Kahneman, 2011</p>
<p><strong>Theme</strong></p>
<p>We use two cognitive processes to evaluate information: a fast, always-on, but error-prone automatic system, and a more effective, analytical but effortful deliberate system. The trouble we get into is that we sometimes mistake automatic and error-prone decisions for well-considered, analytical ones — sometimes to the point of consciously making decisions that are opposed to our best interests.</p>
<p><strong>Key Concepts</strong></p>
<ul>
<li>Why we fail at statistics: “our mind is strongly biased toward causal explanations and does not deal well with ‘mere statistics.’ When our attention is called to an event, associative memory will look for its cause — more precisely, activation will automatically spread to any cause that is already stored in memory” (182).</li>
<li>What You See is All There Is (WYSIATI): “You cannot help dealing with the limited information you have as if it were all there is to know. You build the best possible story from the information available to you, and if it is a good story, you believe it. Paradoxically, it is easier to construct a coherent story when you know little, when there are fewer pieces to fit into the puzzle. Our comforting conviction that the world makes sense rests on a secure foundation: our almost unlimited ability to ignore our ignorance” (201).</li>
<li>In misunderstanding statistical possibility, we end up paying a premium (sometimes an exorbitant one) for security from unlikely events, while at the same time gambling resources regularly on equally unlikely events. Chapter 29 (and much of the book, really).</li>
</ul>
<p><strong>Impressions</strong></p>
<p>This book is a fascinating and compelling read. Kahneman’s examples are clear and easy to follow — and their implications are sobering (if not terrifying). I’ve talked to a lot of folks who have started this book, but never quite finished it. At 400 + pages, it’s a bit longer than some other texts on this list, but I definitely recommend reading it all the way to the end — it’s all good stuff, especially if you’re trying to understand why people (perhaps including yourself) make the decisions they do in the face of uncertain outcomes.</p>
<h3 id="heading-and-there-you-have-it">And There You Have It</h3>
<p>Now: I’m not going to claim that this list isn’t challenging, or that you should be able to knock these out in a couple weekends. If you’re interested in digging into the prickly problems of designing for the complex systems that crop up when we mix data, choice, and the human decision-making process, though, these books will give you plenty to think about.</p>
<p>Even more than that, all of them should give you additional frames of reference from which to consider the messy, human challenges we face as designers every day. Principles like Daniel Kahnemman’s “What You See Is All There Is” or Fauconnier &amp; Turner’s “cognitive blending” will give you new ways to pop your thinking out of the “best practices” ruts you might have fallen into and look for solutions to messy human problems in the very behavior of messy humans themselves.</p>
<h3 id="heading-bonus-paragraph-how-to-read">Bonus Paragraph: How to Read!</h3>
<p>You, of course, know how to read. I get that. But reading work by professional research scholars — even books intended for a popular audience, as are many of these — is a bit different from reading professional or trade publications. As a grad student (in English, during which time I read <em>a lot</em>), I developed some habits to help me better understand, retain, synthesize, and be able to recall texts like these. Here’s what worked for me:</p>
<p><strong>1. Buy a Book</strong></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/xsJEashK6JQqmxH3wvedXWLGqv4qD7NbURTl" alt="Image" width="322" height="322" loading="lazy"></p>
<p>If I’m going to read a book like one of those listed here, I want a paper copy I can write in and (slightly) abuse. The point of a physical book for me is to be able to read it actively: underline, highlight, star passages, dog-ear corners, make notes. Reading actively helps you 1) integrate what you’re reading and synthesize it with the other ideas jumbling around in your head and 2) come back to this text weeks, months, or years later and quickly find the ideas and passages that piqued your interest.</p>
<p><strong>2. Buy a Pencil</strong></p>
<p>Leave it in the book. If you don’t have a pencil, you won’t take notes and you won’t annotate. You’ll read passively. Set yourself up to be an active, physically engaged reader. I like a <a target="_blank" href="https://www.amazon.com/Zebras-Zebra-Mechanical-Pencil-51391/dp/B001BZ4RJS">mechanical pencil like these</a> because they’re cheap, always sharp, fit well in a book, and allow me to write satanically tiny notes.</p>
<p><strong>3. Steal a Sheet of Paper</strong></p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Comwtkd8xnEjeL0QYx2weM4cKJRecS6Lcu-m" alt="Image" width="322" height="322" loading="lazy"></p>
<p>Cut it in half, then fold one of your halves in half to make a booklet. Jot down the ideas and passages that stand out. I include page numbers so I can easily find passages later on. You’ll have to write small — and you’ll have to be selective about what you record (which is a good thing: too much note taking will slow you way down). Leave your notes in the book. Now when you come back and look for that idea or passage later, you’ll have both your annotations and a quick reference guide to the passages you personally found most intriguing.</p>
<hr>
<p><em>This post was originally published at <a target="_blank" href="http://www.andyfitzgerald.org/">andyfitzgerald.org</a>. If you’re interested in how cognitive science, language, and meaning-making fit in with the practice of user experience architecture &amp; design, do check it out.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ User Experience explained in 5 minutes for newbie front end developers ]]>
                </title>
                <description>
                    <![CDATA[ By Ewa Mitulska-Wójcik User-centered front end developers are in demand now. User Experience (UX) is the language of business. And as User Testing concludes in their annual report from 2015: In the coming years, companies will invest more heavily in... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/user-experience-explained-in-5-minutes-for-newbie-front-end-developers-1293c1521407/</link>
                <guid isPermaLink="false">66c3643b0cede4e9b1329d2b</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ UX ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 23 Mar 2016 03:34:36 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*ydpbnvUqyVmVN_xfpgjGQg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Ewa Mitulska-Wójcik</p>
<p>User-centered front end developers are in demand now.</p>
<p>User Experience (UX) is the language of business.</p>
<p>And as <a target="_blank" href="https://www.usertesting.com/">User Testing</a> concludes in their annual <a target="_blank" href="http://info.usertesting.com/ux-industry-survey-2015.html">report from 2015</a>:</p>
<blockquote>
<p>In the coming years, companies will invest more heavily in creating products and experiences based on continuous feedback from their customers, and customer experience will become a shared responsibility among all teams in an organization.</p>
</blockquote>
<p>The project to stand out from the crowd needs to <strong>fit users’ “just right” measure</strong>. There are multitude of projects where the role of a UX designer is in the hands of front end developer. Psychology and usability are complimentary to javascript. Sure you can stop at code level, but it’s much more fun and benefits if you go beyond this artificial job title lines. For your clients and their users <strong>code is a tool, not a goal in itself.</strong></p>
<p>Teams you will work in may lack a UX designer, researchers, or a graphic dude. Nobody says you have to become a visual or interaction designer and hopefully you will collaborate in a team with great designers and researchers. However, if you want to make projects you join successful, then you’d better get interested at least in some basics of UX. Perfect projects and teams do not meet each other at every corner.</p>
<p>Great experience equals happy users. Happy users lead to retention. It makes greater chance for higher revenue. This brings income. That makes everybody happy and <strong>your code is really used by millions of people.</strong> Then you start being more and more proud of what you code because <strong>it solves real problems of the users</strong>. Sure code level is extremely important, if the product is buggy nobody wants to use it. Yet the code can pass each test you run, but if users don’t like the results, it has got short legs in business.</p>
<p>Let me introduce you to the few basics of user experience to rise the chances for successful implementations. Here are the 5 short rules to start with.</p>
<h4 id="heading-1-the-product-is-for-users">1. The product is for users</h4>
<p>If it does not solve their problems, sooner or later the product owner will stop investing in it. Get to know the people who are in the target group. At least understand the basics.</p>
<p><strong>The whole team should be aware what to build and for whom.</strong></p>
<p>Ask often, test often, iterate. What’s the problem they want to solve? What’s their goal? What are they anxious about? Is it a teenager girl, or an elderly man (<a target="_blank" href="https://medium.com/@indiyoung/describing-personas-af992e3fc527#.qnnkyf1hp">be careful with generalizations</a>)? Is it a backend developer or a hairdresser? When will they come to the product, what they need to find first? How can you make it easier for them? Where should they go next?</p>
<p>What’s the minimum of information that you really need to get from them to help them solve the problem? Make your users feel like home. Take benefit of conventions and best practices.</p>
<p>A bit of domain knowledge does not hurt, it is an bonus of being a developer. <strong>Each project teaches you a new world, isn’t it great?</strong> Take benefit of it and observe the world around. It may help you a lot to create products users will love.</p>
<h4 id="heading-2-dont-make-me-think-is-the-first-usability-rule">2. Don’t make me think is the first usability rule</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*1JzqnNg_za3pq_9XWXTa3w.jpeg" alt="Image" width="389" height="499" loading="lazy">
_You should [read it](http://www.amazon.com/gp/product/0321965515/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=1944687622&amp;pf_rd_s=lpo-top-stripe-1&amp;pf_rd_t=201&amp;pf_rd_i=0321344758&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=0NKBX55V2MNMHSHD8CJA" rel="noopener" target="<em>blank" title=") if you want to develop your usability skills.</em></p>
<p><a target="_blank" href="https://books.google.es/books/about/Don_t_Make_Me_Think_Revisited.html?id=QlduAgAAQBAJ&amp;source=kp_cover&amp;redir_esc=y">Krug’s book</a> is the condensed <strong>bible of usability</strong>. Great product is about being clear, taking advantage of conventions and providing the interface that is just in time and place. Front end is not just javascript behind the actions users take. Being consistent, visual hierarchy, getting rid of visual noise and writing human alerts and input labels matters for usability of the product.</p>
<p>Users scan pages to find the information, make it easy for them by the way it looks. Use appropriate headings, font sizes, affordable buttons, meaningful labels, etc.</p>
<p>If you have any influence on the copy, remember that happy blah blah blah talk is annoying. If your write alerts, use the language the users speak. Be informative and helpful.</p>
<p>Make sure the navigation is clear, not overloaded, logical for a user. You may also use breadcrumbs as indicators to show where users are if the site is really complex.</p>
<p>Breadcrumbs work best if they are at the top of the page, the &gt; sign is placed between levels, and the last element is bolded. If the menu is visible for a user then the interaction is much bigger than when hidden behind hamburger bar.</p>
<p>Be careful and don’t exaggerate with number of items and levels in menu. Your user does not have to see all at once. You can introduce the next items the moment a user is on the right level and really needs it.</p>
<h4 id="heading-3-mobile-is-not-a-desktop-version-but-squeezed-to-smaller-size">3. Mobile is not a desktop version but squeezed to smaller size</h4>
<p>Imagine you implement a mobile version of an app where you can decide on layout. You don’t have ready designs and you are asked to build it with Bootstrap components. Start <strong>mobile first</strong>. It makes you focus on the most important elements and interactions first.</p>
<p>You can build prototype, wireframe or at least sketch first. The easiest thing to do is pen and paper. You can help yourself with <a target="_blank" href="https://www.sketchapp.com/">Sketch</a>, <a target="_blank" href="http://www.adobe.com/products/experience-design.html">Experience Design</a>, or simply google for any other wireframe or prototyping tool. If you are not a visual designer but still have to do the prototype work, go for prototyping tools such as <a target="_blank" href="https://proto.io/">Proto.io</a> where you have ready to use UI library elements.</p>
<p>Mobile means <strong>comfortable for fast tap, slide, or tick</strong>. So if you want to create a form, use steppers, sliders, radio groups, or switchers instead of old school desktop text inputs.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*qcQ1WUqOCVFk0GCqRmiiqQ.png" alt="Image" width="800" height="576" loading="lazy"></p>
<p>Mobile is touch first. Mobile means horizontal and vertical. Mobile is used usually with one hand with a thumb size. It also means that the most convenient touch area is at the bottom of the screen.</p>
<p>Mobile benefits from variety of device capabilities built in e.g. gallery access, camera, movement sensors, microphone, or GPS. Take benefit of it.</p>
<p>When it comes to mobile and UX, let me leave you for the moment with Luke Wroblewski. You can <a target="_blank" href="http://www.lukew.com/ff/">learn a lot from him</a>.</p>
<h4 id="heading-4-your-code-sets-the-rules-so-make-sure-they-are-right">4. Your code sets the rules, so make sure they are right</h4>
<p>Don’t ask users for their shoe size during their first visit unless you are a shoe shop. Even if you create a shoe shop, you can provide the info about the range of numbers available, and let users play first with colors, patterns, or occasions.</p>
<p>A lot of apps start with <strong>a sign up wall,</strong> which makes drop offs the most visible metric. Have a look at <a target="_blank" href="https://medium.com/frontend-malaga/human-form-design-f285728d3d97#.1muud6qe3">the article I wrote about human form design</a>.</p>
<p>Whether you implement a solution for a client or build your own product consider <strong>benefits of building a relationship</strong>. Give your users a chance to try the product before you serve them a credit card input to fill in during sign up for a free trial. Don’t build walls. You would like your users use what you coded, right? Let them try.</p>
<p><a target="_blank" href="http://www.lukew.com/ff/entry.asp?1130"><strong>Gradual engagement</strong></a> <strong>and <a target="_blank" href="https://www.w3.org/wiki/Graceful_degradation_versus_progressive_enhancement">graceful degradation</a></strong> are your dials.</p>
<p>Make sure your images are optimized. Use minified versions of your code when you push it to production. Run <a target="_blank" href="https://developers.google.com/speed/pagespeed/insights/">Google page test</a> to <strong>optimize</strong>. Test on low speed net connection. Take care of those who care about each bite of transfer. Make your product usable both at broadband and GPRS.</p>
<h4 id="heading-5-pixel-perfect-times-full-of-multilevel-animations-are-dead">5. Pixel perfect times full of multilevel animations are dead</h4>
<p>Great product experience is based on usability and benefits. <strong>It’s not a pixel shooting game.</strong> The pixel perfectionism went away with desktop only display.</p>
<p>It’s great that you can play with complex CSS…</p>
<p>...but don’t introduce extra animation noise just to show your skills.</p>
<p>If you want show off, practice on CodePen, and keep it for your portfolio. Animation is perfect when it’s meaningful.</p>
<p>UX is much more than that. That was just an intro for those who are new to the subject. If you liked it, <strong>click the Medium heart icon and recommend it to others</strong>. If you would like to hear more from me about usability, user interaction design, user research, prototyping, etc., let me know in the comments.</p>
<p>Happy user-centered coding!</p>
<p><em>I am a web learner. I am <a target="_blank" href="http://www.freecodecamp.com/ewathedoer">a Free Code Camper</a>. I publish at <a target="_blank" href="https://medium.com/@thedoer">Medium</a> and tweet about UX and startups at <a target="_blank" href="https://twitter.com/thedoerdoes">thedoerdoes</a>. I love useful solutions and great collaboration.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The tactical networking guide for introverts ]]>
                </title>
                <description>
                    <![CDATA[ By Dillon Forrest Why am I writing a guide about networking for introverts? There are three questions within this question: why write about networking, why targeted towards introverts, and why tactical. Networking is a topic deserving of a tactical g... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-tactical-networking-guide-for-introverts-aadd93b09849/</link>
                <guid isPermaLink="false">66c3628e7ad25bf8de939b57</guid>
                
                    <category>
                        <![CDATA[ introvert ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ networking ]]>
                    </category>
                
                    <category>
                        <![CDATA[ psychology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 01 Mar 2016 07:44:47 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9cb92c740569d1a4caf064.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Dillon Forrest</p>
<p>Why am I writing a guide about networking for introverts?</p>
<p>There are three questions within this question: why write about networking, why targeted towards introverts, and why tactical.</p>
<p>Networking is a topic deserving of a tactical guide because it was born from one of the strangest truths of the world: it always pays to know people. If you’re an entrepreneur, you network to build a sales pipeline. If you’re a job hunter, you network to get interviews and land offers. If you’re trying to make an investment, big or small, you network to do your due diligence.</p>
<p>Introverts need a networking guide because, let’s face it, even the etymologies of “introvert” and “network” are antithetical. Introverts find networking uncomfortable, salesy, or sleazy.</p>
<p>The joining of networking and introverts is why this guide is tactical. I want to teach you how to network smarter, not harder, and get 80% of the results from 20% of the work.</p>
<h4 id="heading-an-intro-from-a-friend-is-always-best">An intro from a friend is always best</h4>
<p>A network is an asset which compounds over time. Start building it sooner rather than later.</p>
<p>Be a good friend. Be happy to help other people and ask nothing in return. Always help people who you care about or genuinely wish to succeed.</p>
<p>Stay in touch with your friends, former classmates, and former coworkers. You know that feeling when somebody who hasn’t spoken to you in five years asks you for a favor? It’s weird. You won’t create this feeling for anybody when you’re regularly in touch with people. “Hey friend! Long time no talk. Recently, I’ve been up to X, Y, and Z. What have you been up to? Miss you!”</p>
<p>Don’t be an asshole. Some people don’t intend to be assholes, but they just carry the asshole gene. Not being an asshole means that the consequences of your behaviors make people’s lives better. It does not mean you don’t intend to be an asshole.</p>
<h4 id="heading-treat-people-as-the-end-not-the-means-to-an-end">Treat people as the end, not the means to an end</h4>
<blockquote>
<p><em>Coffee dates are a portfolio strategy. Nobody expects 100% of them to turn into even an offer of job/gig/sale/etc. (That’s why they work.)</em></p>
<p><em>— Patrick McKenzie (@patio11) <a target="_blank" href="https://twitter.com/patio11/status/661999838117031937">November 4, 2015</a></em></p>
</blockquote>
<p>When you meet people, care to get to know them as people. Learn about what they care about too. Make them have a fun hanging out with you. Show them you’re a cool cat.</p>
<h4 id="heading-learn-how-to-find-anybodys-email-address">Learn how to find anybody’s email address</h4>
<p>Most of finding almost anybody’s email address is <a target="_blank" href="https://www.distilled.net/blog/miscellaneous/find-almost-anybodys-email-address/">here</a>.</p>
<p>Watch the video in that link! It’s only a few minutes to learn the most vital skill of this entire guide.</p>
<p>Some additional best practices:</p>
<ul>
<li>Don’t forget to first check if they listed their email publicly on their LinkedIn or personal site.</li>
<li>You can also try guessing their work email in addition to their personal email.</li>
<li>Personal gmail addresses are often the same as Twitter, GitHub, or LinkedIn IDs, especially if they use the same ID across multiple social media sites. For instance, if Steve Nash’s LinkedIn profile is linkedin.com/in/stephenna and his Twitter is twitter.com/stephenna, then there’s a good chance his gmail is <a target="_blank" href="mailto:stephenna@gmail.com">stephenna@gmail.com</a>.</li>
</ul>
<h4 id="heading-send-an-email-that-people-will-open-and-reply-to">Send an email that people will open and reply to</h4>
<p>There are three steps in the cold email funnel: finding an email address, getting the cold email opened, and getting a reply to your cold email.</p>
<p>When people see your new email in their inbox, they see your name, your subject, and the first sentence or two of your email. Your subject is the most important variable to influence open rates. I like short, non-committal subjects. My favorite is “Quick question.” I still use it, and it still works immensely well in getting strangers to open my emails. I invite you to use it as well.</p>
<p>After your audience opens your email, the next thing they see is your email body. You need to do everything in your power to make your email body not only easy to read, but compelling enough to warrant a reply.</p>
<p>Keep the email short. Aim to keep it less than 300 words. At that length, it’s enough to add meaningful detail, but not long enough to be an intimidating wall of text.</p>
<p>Don’t ramble. When you proofread your emails, proofread more for brevity than style. People won’t remember your style, but they’ll notice your brevity and will reward you for it by actually reading your email.</p>
<p>Have an explicit call to action. Your call to action is probably a question or a favor. Make sure your call to action sticks out like a crying baby during a red eye flight. No clear call to action means nobody will do what you want them to do.</p>
<p>Include a brief background about yourself. Just 1–2 sentences is great. You can establish commonality, and they’ll be more likely to like and reply to you.</p>
<p>Don’t ask more than 3 questions. You don’t know this person well enough to have earned their attention beyond 3 questions. It’s weird to get an email from a stranger and the stranger just asks a ton of questions. This type of email is burdensome and easy to ignore.</p>
<p>If you want to just pick somebody’s brain on a specific topic, I suggest asking them a modified version of the net promoter score survey. How would you rate XYZ on a scale between 1–5? What is the reasoning behind your rating?</p>
<p>Use bullet points and numbered lists.</p>
<h4 id="heading-the-reply-to-the-reply">The reply to the reply</h4>
<p>If they replied to your email, be sure to reply back! They were gracious enough to share their time and attention with you. Don’t squander it.</p>
<p>If you have more questions to ask, this is the right time to ask them. You’ve built enough of a relationship, so ask another 3–5 questions. If you still have more questions, save them for the next email if you feel your questions are still welcome.</p>
<p>Don’t forget to thank them for their time. Don’t disrespect people’s time.</p>
<p>Offer to keep them in the loop and stay in touch.</p>
<p>Offer to return the favor. “Please let me know if I can return the favor. I’d be happy to do so!”</p>
<h4 id="heading-the-critical-step-following-up">The critical step: following up</h4>
<p>Do you know why networking feels sleazy to most people? Because they don’t follow up! If a person asked you for a favor and never followed up, that means this person literally only talked to you for your contribution. Once you gave your contribution, the person stopped talking to you. That feels transactional. That feels sleazy.</p>
<p>Following up is how you solidify relationships and turn strangers into friends.</p>
<p>“Hi there, I just wanted to close the loop with you on this. I followed your advice on XYZ, and it led to ABC. Thank you! I couldn’t have done it without you.”</p>
<h4 id="heading-thats-it">That’s it</h4>
<p>The tactical networking guide for introverts is now over.</p>
<p>Does it look simple? It is simple.</p>
<p>Does this just look like just a guide for sending email? Yeah, basically. You’re an introvert though, right? You prefer email over meeting in person or chatting on the phone, right?</p>
<p>By the way, I’m a product manager and growth hacker based in San Francisco. If you found this guide helpful, or if you have any questions or feedback, or if you’d just like to connect and say hi, I would love to hear from you! As you probably expect, <a target="_blank" href="mailto:dillonforrest@gmail.com">email</a> works great for me. You can find me on <a target="_blank" href="https://twitter.com/dillonforrest">Twitter</a> too.</p>
<p>For those interested in more reading on non-sleazy networking, I’d recommend checking out Ramit Sethi’s <a target="_blank" href="http://www.iwillteachyoutoberich.com/blog/ramits-definitive-guide-to-building-your-network-with-scripts/">networking advice</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
