{"id":284,"date":"2024-03-17T18:35:51","date_gmt":"2024-03-17T18:35:51","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2024\/03\/17\/how-to-get-in-the-flow-while-coding-and-why-its-important\/"},"modified":"2024-03-17T18:35:51","modified_gmt":"2024-03-17T18:35:51","slug":"how-to-get-in-the-flow-while-coding-and-why-its-important","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2024\/03\/17\/how-to-get-in-the-flow-while-coding-and-why-its-important\/","title":{"rendered":"How to get in the flow while coding (and why it\u2019s important)"},"content":{"rendered":"<p>It\u2019s the dream: your ideas are flowing, time and space fade away, the path ahead of you is clear, you\u2019re moving at the speed of thought, and every click you make is gold.<\/p>\n<p>This is called being in the flow or flow state. When you\u2019re in the flow, you block out the world, are fully immersed in what you\u2019re doing, and enjoy <a href=\"https:\/\/www.fastcompany.com\/90915673\/is-flow-the-secret-to-painless-productivity#:~:text=Studies%20show%20that%20people%20who,to%20reduce%20anxiety%20and%20depression.\">increased creativity, innovation, and happiness<\/a>.<\/p>\n<p>\u201cBeing in the flow is magical,\u201d says <a href=\"https:\/\/github.com\/lostintangent\">Jonathan Carter<\/a>, technical advisor of the CEO at GitHub. \u201cYou tell your teammates they can go to lunch and you\u2019ll catch them later\u2014not because you\u2019re a workaholic, but because there\u2019s truly nothing else you\u2019d rather be doing right now.\u201d<\/p>\n<p>In this blog, we\u2019ll explore what flow state entails, its benefits, and three tips for reaching it the next time you sit down to code. Let\u2019s go.<\/p>\n<h2>What exactly is the flow state?<a href=\"https:\/\/github.blog\/category\/engineering\/#what-exactly-is-the-flow-state\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h2>\n<p>The concept of flow state came from positive psychologist Mihaly Csikszentmihalyi and his 1990 book, <em><a href=\"https:\/\/www.researchgate.net\/publication\/224927532_Flow_The_Psychology_of_Optimal_Experience\">Flow: The Psychology of Optimal Experience<\/a><\/em>. In it, Csikszentmihalyi describes nine dimensions of flow:<\/p>\n<p>Challenge-skills balance<br \/>\nTotal concentration<br \/>\nClear goals<br \/>\nImmediate feedback<br \/>\nTransformation of time<br \/>\nFeeling intrinsically rewarded<br \/>\nEffortlessness<br \/>\nLoss of self-consciousness<br \/>\nFeeling of total control<\/p>\n<p>Csikszentmihalyi discovered these dimensions by conducting research to understand how people achieve productivity and happiness. He found that in people\u2019s favorite, most absorbed moments, their thoughts and actions \u201cflowed,\u201d and brought unrivaled motivation, meaning, and creativity.<\/p>\n<p>\u201cSoftware has historically been viewed as mathematical or scientific in nature, but I would argue that writing code has more in common with other creative acts,\u201d says <a href=\"https:\/\/github.com\/idan\">Idan Gazit<\/a>, senior director of research at GitHub. \u201cWhether you\u2019re writing an essay or writing a program, the challenge is getting into the headspace where you can untangle the thing you want to express.\u201d<\/p>\n<h2>What are the benefits of flow state for developers?<a href=\"https:\/\/github.blog\/category\/engineering\/#what-are-the-benefits-of-flow-state-for-developers\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h2>\n<p>When developers reach that coveted frame of mind, their productivity soars. According to our recent <a href=\"https:\/\/github.blog\/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience\/#effective-collaboration-improves-code-quality\">developer productivity research<\/a>, developers produce higher quality work when they can easily collaborate\u2014a hallmark of flow state\u2014through comments, pull requests, issues, etc. According to the study, developers reported that effective collaboration provides a host of benefits:<\/p>\n<p>Improved test coverage<br \/>\nFaster, cleaner, more secure code writing<br \/>\nNovel, creative solutions<br \/>\nSpeedier deployments<\/p>\n<p>On the flip side, when developers can\u2019t freely collaborate, their work suffers (it takes <a href=\"https:\/\/ics.uci.edu\/~gmark\/chi08-mark.pdf\">23 minutes, on average, to get back into the task at hand after an interruption<\/a>, according to a study from the University of California, Irvine).<\/p>\n<p>And flow state isn\u2019t important just for individual developers\u2014<a href=\"https:\/\/github.blog\/2024-01-23-good-devex-increases-productivity\/\">it helps businesses, too<\/a>.<\/p>\n<p>\u201cWhen it comes to business success, flow state is everything,\u201d says <a href=\"https:\/\/github.com\/chrisreddington\">Chris Reddington<\/a>, senior manager of developer advocacy at GitHub. This is because today\u2019s environments use dozens of languages and often leverage multiple cloud providers, creating pressure, complexity, and distractions. He adds, \u201cThe more we can help engineering teams stay in the flow, where they are just focused on solving those bigger problems, the better.\u201d<\/p>\n<h2>Quick tips for developers who want to get and stay in the flow state<a href=\"https:\/\/github.blog\/category\/engineering\/#quick-tips-for-developers-who-want-to-get-and-stay-in-the-flow-state\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h2>\n<p>So, how can you achieve flow state during your day-to-day tasks? The following tips should help you reach the flow state and stay there\u2014regardless of industry or where you are in your developer career.<\/p>\n<div class=\"mod-vh position-relative\"><\/div>\n<h3>Tip #1: Optimize your environment<a href=\"https:\/\/github.blog\/category\/engineering\/#tip-1-optimize-your-environment\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h3>\n<p>Creating a distraction-free environment that\u2019s conducive to work can pay huge dividends. Here are some ideas:<\/p>\n<p><strong>Block time<\/strong>. Create personal focus events on your calendar where no one can schedule meetings with you.<br \/>\n<strong>Schedule breaks<\/strong>. Use a timer to give yourself 15-30 minute breaks throughout the workday.<br \/>\n<strong>Snooze Slack and phone notifications<\/strong>. Be antisocial and make yourself unavailable to the world.<br \/>\n<strong>Eliminate or reduce <a href=\"https:\/\/betterprogramming.pub\/i-built-a-github-action-to-fight-the-multitasking-habit-563bd22dab54\">multitasking<\/a><\/strong>. Being able to do more than one task at a time is a myth, anyway.<br \/>\n<strong>Invest in headphones<\/strong>. Noise-canceling headphones, in particular, can keep <a href=\"https:\/\/www.forbes.com\/sites\/terriwilliams\/2023\/11\/09\/if-you-work-from-home-noise-cancelling-headphones-are-essential\/?sh=1afea6d9e766ing-headphones-can-help-you-boost-your-focus-a4587508f11\">your stress down and your focus high<\/a>.<br \/>\n<strong>Get comfortable<\/strong>. Invest in ergonomic office equipment, wear comfortable clothes, and ensure you\u2019ve had enough to eat.<br \/>\n<strong>Hold on scheduling meetings<\/strong>. If you\u2019re a team leader, be mindful of meeting frequency.<br \/>\n<strong>Create a pre-flow ritual<\/strong>. Routines like grabbing coffee, checking your messages, and then putting your phone on silent can cue your brain that it\u2019s time to get to work.<\/p>\n<p>Of course, even with our best attempts, distractions happen. If you need to step away from the task at hand, that\u2019s okay. Gazit also suggests pair programming or solution design to help overcome mental hurdles.<\/p>\n<p>\u201cIt\u2019s a great magic trick,\u201d he says. \u201cStepping back and talking through the problem with a teammate is often the fastest route to getting unstuck.\u201d<\/p>\n<p>He also adds that <a href=\"https:\/\/github.com\/features\/copilot\">GitHub Copilot<\/a> can be helpful for this.<\/p>\n<p>\u201cGitHub Copilot is never busy,\u201d he says. \u201cI\u2019m not distracting it when I put it to work. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Rubber_duck_debugging\">Debugging with a rubber duck<\/a> is fantastic, but GitHub Copilot is the rubber duck that talks back. It helps me reason about the solution space and suggests approaches I wouldn\u2019t have considered.\u201d<\/p>\n<p><a href=\"https:\/\/resources.github.com\/newsletter\/\"><\/a><\/p>\n<h3>Tip #2: Map out your work<a href=\"https:\/\/github.blog\/category\/engineering\/#tip-2-map-out-your-work\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h3>\n<p>You can also achieve flow state by ensuring you have a clear path for accomplishing your goal.<\/p>\n<p>Gazit describes how he can get into the flow state when he correctly nails the balance of architectural work. This is especially important when it comes to complex tasks like designing an API, where you first have to build an architecture while considering how it will be used and what kind of load it\u2019ll put on your database.<\/p>\n<p>\u201cIf I do the architectural work well, I can then do the bricklaying with a feeling that I\u2019m super clear on what I\u2019m doing,\u201d he says. \u201cI know exactly where I\u2019m going.\u201d<\/p>\n<p>Reddington notes that mapping your work and the practice of blocking time, as mentioned above, often go hand in hand.<\/p>\n<p>\u201cWhen I block out chunks of time, I can figure out how I\u2019m going to solve the problems I\u2019m tackling appropriately,\u201d he says.<\/p>\n<p>However, he warns that you\u2019re not always going to fix the things you\u2019re trying to do in the allotted blocked time. But at least you can start mentally organizing.<\/p>\n<p>Finding the optimal mix of challenge and skill is also important to achieve flow. If something is too easy, you\u2019ll be bored and unsatisfied. If it\u2019s too challenging on the other hand, you\u2019ll be stressed about not not getting it done, which will also keep flow elusive.<\/p>\n<p>\u201cA good mix can make all the difference,\u201d Reddington says.<\/p>\n<h3>Tip #3: Find joy in the work you\u2019re doing<a href=\"https:\/\/github.blog\/category\/engineering\/#tip-3-find-joy-in-the-work-youre-doing\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h3>\n<p>You won\u2019t be able to hit flow state if you\u2019re not enjoying yourself.<\/p>\n<p>\u201cIt\u2019s only when you\u2019re not worrying about meetings, or your email, or what you\u2019re going to have for dinner, that you can hit the flow state,\u201d Carter says.<\/p>\n<p>It\u2019s a similar experience to being entertained.<\/p>\n<p>\u201cIt\u2019s like when you\u2019re reading a book and you just have to finish the next chapter or you\u2019re binging Netflix and you need to see the next episode,\u201d he says. \u201cIt\u2019s that same energy.\u201d<\/p>\n<p>Enjoyable work pertains to teams, too.<\/p>\n<p>Carter notes that office work enjoyment can be increased by clearly articulating the outcomes you\u2019re trying to accomplish. When a product manager writes a well-articulated issue that clarifies the end result, there\u2019s a higher likelihood that the team will be more motivated to take that work on and do it quickly.<\/p>\n<p>\u201cThey\u2019re not focused on the complexity anymore but on the desire to get there,\u201d he says.<\/p>\n<p>Similarly, if you\u2019re involved in a project you don\u2019t enjoy, it can be useful to rethink why you\u2019re doing that work in the first place.<\/p>\n<p>\u201cI find that if I can recreate the mindset of why we should solve the problem, I can bootstrap curiosity and get back into the flow state,\u201d he says.<\/p>\n<h2>The bottom line<a href=\"https:\/\/github.blog\/category\/engineering\/#the-bottom-line\" class=\"heading-link pl-2 text-italic text-bold\"><\/a><\/h2>\n<p>Achieving flow state can significantly enhance <a href=\"https:\/\/www.psychologytoday.com\/us\/blog\/the-playing-field\/201402\/flow-states-and-creativity#:~:text=Lastly%2C%20during%20flow%2C%20the%20brain,with%20considerable%20impacts%20on%20creativity.\">norepinephrine, dopamine, anandamide, serotonin, and endorphins<\/a>\u2014increasing feelings of motivation and intrinsic reward, as well as pattern recognition and lateral thinking ability. It\u2019s a win for productivity, well-being, and keeping the intrinsic developer fire strong.<\/p>\n<p>\u201cWith flow state, you\u2019re never at a point where you\u2019re performing the same mechanics twice,\u201d Carter says. \u201cYou\u2019re learning in response to what you\u2019re doing. You\u2019re naturally interested, building up an unconscious muscle of curiosity. The learning potential is endless.\u201d<\/p>\n<div class=\"post-content-cta\">\n<p>To learn more about how businesses are incorporating flow state into their processes, read <a href=\"https:\/\/github.blog\/2023-06-08-developer-experience-what-is-it-and-why-should-you-care\/\">Developer experience: What is it and why should you care?<\/a> and explore <a href=\"https:\/\/github.com\/enterprise\">how GitHub can help.<\/a><\/p>\n<\/div>\n<p>The post <a href=\"https:\/\/github.blog\/2024-01-22-how-to-get-in-the-flow-while-coding-and-why-its-important\/\">How to get in the flow while coding (and why it\u2019s important)<\/a> appeared first on <a href=\"https:\/\/github.blog\/\">The GitHub Blog<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>It\u2019s the dream: your ideas are flowing, time and space fade away, the path ahead of you is clear, you\u2019re [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":285,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[8],"tags":[],"class_list":["post-284","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-github-engineering"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=284"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/284\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media\/285"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}