Keep your code flowing — an introduction to flow states for programmers

Improve your experience of your programming career

One of the most important things in life is improving my experience. I want my work, my free time, and I’m full of respect, meaning, and fun.

This is just a decade of fact that we are not here for decades in terms of cosmic conditions for long periods. The earth is already the age of billions of years, and our modern, cultural civilization is only for a million years.

Skins Compared to the period of human life.

I’m not trying to make expensive here. I am just pointing out, because our time is very short here, it tries to get more than that.

I want to live a life filled with unlimited experiences. I want to be in the states where I feel custom, useful, productive, and often I will challenge this way.

For me, that means trying to create a life, for more and more part, I can be absorbed in which I am often possible. As a programmer, I get endless opportunities to make sure!

The first version of this article was published on

If you enjoy it, download my coding burn-out checklist.

Flow and code

Ask any programmer what they love about their work and inevitably communicate interact states, even if they do not use this term.

We all know the condition of rapid emotional flow in the work, where the time is unbelievable, where difficulties are carefully solved by the close automatic application of our expertise.

Anyone who is lost in the joy of code session at night knows what I am talking about.

Many of us, the opportunity to enter such states is a huge part of a career in programming.A programming work from its nature gives flaws to provide fasting opportunities.

For some of us, this is something we miss well, which has disappeared from our lives.

Perhaps the work has changed, perhaps life conditions are going on – but the way the feeling of being in “zone” has long been gone.

Good news – Flow is a good research area. There are things that you can do to improve your life and flow experiences.

In this article, we will be in the flow and how it is related to programming. We will check the conditions of flow states. As we see, attention is needed for focus attention, so we will naturally investigate how we are all about to expand this capability.

Flow State Psychology for Programmers

Mahali Sassainant Manhali (described as Hungary, sixth cm) literally wrote the book on flow states.

He is considered one of the world’s most prominent researchers in the Psychology – the perfect creation of positive human experience.

I love their work – it’s about improving the optimization of life.

According to the article, flow states are indicated as “a sense of great absorption, engagement, completion, and skill”, and during temporary temporary (time, food, ego-self, etc.) are ignored. Are there

Familiar sound?

During some cutting code, lost an hour or three in the emotional condition?

Where your mind and body start to automatically start things, almost convenience?

It’s a beautiful feeling. Surfus, highly motivated sports, Yugus all are looking for it.

Better yet, fluid states have been demonstrated that there is a combination of clear factors that facilitate them. Therefore, if you are struggling to find your flow, you can do a few things about it.

Let’s take them one by one.

Clear goals and review development

Flow is improved when you know where you live. For programmers, this direction means that in many layers.

At low levels, it means that you are trying to get in the next few hours or during your work day.

This means that its identification is better that with no planning, what is your results for coding session instead of diving.

I’ll often write a round – it’s often useful when your attention gets disturbed later.

Depending on your situation, it is to identify classes / functions / modules and list of its listings and listings that you want to create, and list the lists of such lists that you want to Move your code.

If you are working in an angel or other work environment, you can use it to appreciate the job. Whenever you get intoxicated, it’s still a good idea to create a physical list.

This list sounds mostly different, but it actually allows you to measure growth, which is also necessary for flow.

I’ve focused focus on defining and successfully tracking techniques described here to track. I like to hear that it works for you.

At the top level, you are working on the project or system. The lack of clear goals or strategic direction is a flow killer.

We all need to realize that our work is wise and reasonable

Depending on your particular context, you have to do what is the problem of communication, or is the main thing about your project or work.

Quick feedback

Flow states are promptly prompted.

Feedback is an information that is used to make adjustments in one process. In the programming, the appropriate feedback lipops provide only useful information about what your code is doing and how it is doing.

The best of programming is the opportunity to experience one of the most interesting experiences.

The writing cycle means that you see the results of your efforts soon, and make adjustments immediately.
One of the biggest disadvantages of programming is working on projects where it is slow to get feedback.

It is known that this opinion leads to flow, here are two pieces of advice

To facilitate the flow, sort your feedback as quickly as possible.

It is one of the many advantages of automatic testing. Along with registration prevention, there are quick and clear sources of red or green light feedback on your screen.

If you need more motivation to write automated tests at each level of your code, then it is!

If you are having difficulty finding your flow, check your feedback.

We all have a feeling of sitting with a legacy code base and shows what hell is. In these situations the flow may be difficult to find.

In those cases, it is useful to check which information code you are receiving from running.

If this is a black box, how can you get information about the system? Using the appropriate filter, it’s probably time to log in for some time, so you’re not loading the maximum with the information.

If you go through several manual steps to get yourself results from running any code, ask yourself what you can do automatically. The time taken for setup and running can seriously affect your flow.

Balancing between the skills and the challenge

Flow states are naturally created among the sweet places between skills and challenges.

Very low, and we end up being incredible.

With very little skill means a lot more challenge.

And a lot of challenges can lead to the boring.

How do programmers constantly balance the skills and challenges to learn and issue.

Programming is a learning-based career. If you do not have any idea about new skills, you might be in a wrong work!

It can be difficult to improve the flow of getting the balance because you are not always responsible for your actions, which means that the level of challenge is not appropriate.

Try to capture the tasks where you know that you will be challenged, but you are sure that you will succeed in completing them. To work with members of your team to ensure that both terms are received – make sure you want to learn.

If you constantly miss a specific skill, it may take some time for a deliberate process.

Before starting a block of work, I use each other’s strategy that first researches in my uncertainty. If so, I do not have to do that, I see it before I’m busy working with a block. In such a way, Google lives from black teens … to whom I talk!

Deal with problems

Flow focuses on generating attention, and depends on it. The distribution is a flow killer.

Our focus is a complex and limited resource. It is as if I would write an article in the future. Daniel Goleman wrote a book about it.

The display is out of two sources – external and internal.

External Trouble
External issues are more easily organized.

The usual advice applies – put your phone on the flight mode.

Close email and messaging system.

Keep your headphones and agree with your team.

If you do not already use Leechblock or StayFocusd, consider it. They will help you to make better surfing habits.

If it looks impossible, then be upset with it for a while. I guarantee you, the world will not be separated!

Internal Trouble

The internal problem may be difficult. They may be physical, mental, or emotional.

My “table checklist” is on the table. The items are two “Get a Drink” and “Go to the toilet.” It takes care of the most common physical problems.

Mental and emotional distress is more fine. Naturally rotating our minds.

My mind is a constant range of memory and ability. This is the same for most people. Thought loops is easy to catch.

I place a notepad (actually for two work, for my personal life) via my keyboard. As soon as I am worried about anything other than my hand, I write it with the intent to return it. I know that this often accepts my mind and gives the sense of disappointment naturally subsidized.

It is also a big problem how we are feeling. Emotions, for most part, are preparing for some kind of action.

If I have an emotional day due to the circumstances or other conditions, it may be difficult to focus.

It is possible that you train your mind to learn more about learning and working with difficult emotional states. I have found the meditation meditation very valuable. I know that when I practice more than meditation, it is naturally born.


There is a great flow of flow, and we are lucky as programmers that it can be a major part of the work.

Flow states have been thoroughly investigated, and the conditions for flow flow are under control. If you are struggling to find your flow, try using this checklist where the problem can be:

Do you know how your goals and results are?

Do you have a clear plan to reach them?

Are you receiving feedback that you need to know about how you are doing?

What is the balance between the skill and the challenge for working on hand?

Are you arranging internal and external problems?

I am looking for a flow in every area of ​​my life, whether it’s in my yoga process, writing articles like this, or cutting code during my day.