The most important graph of your career [How to learn faster]

Coding (Psicology)

What Should You Learn Next? A million dollar question

You are amazing,

If you clicked on this title's post and you're reading this instead of waiting for the latest video of Jake Paul or sitting on your couch watching Netflix, let me tell you, you're amazing!.


As you well know, it is not common to find people who have the goal of improving themselves.
People usually have a peak of goodwill that lowers after the first or second difficulties.

Today we will talk about why this happens and how to improve on a consistent basis.

Several studies show that this procedure not only gives you more skills you can use in your career but it will make your life happier.


Tell me if the episode below has ever happened to you:

You have just spent a couple of months to master a certain skill you have now become independent and you consider yourself almost an expert in that ability and within a couple of days in a remote corner of your brain a question begins to rise with more and more insistence:
"Now what?".

So you spend another couple of months in which you learn and improve another skill, the question rise again and the cycle repeats itself.


No worries,


this is the normality of being a human being.

And, good news, It is also this aspect of your life can be mastered and make you satisfied.



Psychology of optimal experience (the Flow)


Mihaly Csikszentmihalyi is the author of the best selling book "Flow: The Psychology Of Optimal Experience".


In his book,


Mihaly has interviewed many people who are not only considered experts in their respective fields but are successful and even happier people.


The roles of the people interviewed are dispersed in the most disparate categories, they range from athletes to artists, doctors and engineers


Mihaly describes the flow as a psychological state of mind where your ego disappears and you enter into a highly productive workflow.


This workflow is so intense that some of the people interviewed said that during these phases of trance they forgot even more basic needs like eating or going to the bathroom.


It is possible to see a famous example of this state of mind perfectly described by Edward "Eddie" Morra played by an astonishing Bradley Cooper in the film Limitless.


If you have not seen the film, the plot tells about an individual who, through a special medicine, was able to unlock a greater percentage of brain power and after entering this state of flow was more productive and learned fast than anyone who had ever lived on this planet.

This is a recurring theme in movies and books, another example in fact and in Lucy starring Scarlett Johansson.


The result of these trances, of these flows is that, once out, you got the desired result, I have the feeling of being productive, then releasing substances in the brain that make us feel happy.

Is not this the ultimate goal of our efforts?


The Challenge Graph

In his book, Mihaly describes this state of flow through a chart that he calls the "challenge graph".

This chart is divided into 8 parts and each of these parts represents a state of mind.


This chart is divided into 8 parts and each of these parts represents a state of mind.


Although some may be taken into account, the one on which Mihaly suggests concentrating and the flow state.


Thinking of the chart as a difficulty/time relationship it is not difficult to see ourselves on our journey through the mastery of a particular skill.

Be it a new programming language or a new tool that allows us to work better.


Let's take a practical example.

Let's consider a Cartesian coordinate system, in the abscissa we put the time spent learning some new skills, the orders instead represent the difficulty level that the skill requires at our current level.



Here all the activities are extremely easy and do not require any skill on our part.

The result is a complete lack of interest, enthusiasm and concern.

In simple terms, if you do not learn anything new and you are disinterested it will be very difficult if not impossible to become happy.



The relaxation consists of staying in low tension, in the absence of arousal.

This mental state is obtained when a good level of skill is required, the difficulty is very low.


The work, therefore, takes place without pressure or excitement



The control phase is the best to get to the flow state.

At this stage, there is no stress and the level of skill required is very high.

Personally, this is the path that I prefer to get to the state of Flow.

A big problem in this state is that it is very easy to stay in stagnation.

Since the level of challenges is not high enough people tend to stay for a long time in this level of comfort that however, in the long run, they lower the absolute speed learning new skills.



The concern is the feeling of anxiety or disturbance of real or potential problems.

Probably this is the worst of the phases as not only is it very far from the goal we have in mind (reaching the flow) but at the same time, the situation is worse than we are in a state of apathy.

this state, in fact, to differences in apathy, even if it does not require many skills on your part, requires a certain level of challenge.



Excitement is when you wake up early on Sunday morning knowing that you will spend several hours in your favourite coffee shop learning a new programming language or a new PHP framework while sipping your cappuccino.

It is very similar to the level of control, it is very easy to get to the state of flow from this point, but in this case, the challenge is higher and the result is not always the desired one.

In fact,

it may happen that after spending hours and hours reading the documentation you understand that you need more hours, even just to start a new basic project.

It is very easy to get back to the state of anxiety and worry rather than achieve the flow's one.



In the end, the last state is the state of flow, the holy grail of mental states.

Csikszentmihályi defines this state as the optimal experience,

It gives us a high level of gratification, being able to reach this level depends mainly on the skills of the person, the desire to reach the final goal and the level of difficulty that the challenge requires.

The concept of flow, although coined by Mihály Csíkszentmihályi in 1975 has existed for hundreds of years, similar ideas can be found in Buddhism and Taoism.

They say that even though in most cases the individual is able to decide on what and for how long to concentrate when he is in the state of flow, they are absorbed in their only goal to be aware of their surroundings.

Another, more recent, referring to the flow state is described by the 7 conditions of Schaffer (dated 2013) they are:


  • Knowing what to do
  • Knowing how to do it
  • Knowing how well you are doing
  • Knowing where to go (if navigation is involved)
  • High perceived challenges
  • High perceived skills
  • Freedom from distractions


Schaffer also refers to the Flow Condition Questionnaire to measure each of the aforementioned conditions.


How to get the flow and learn faster?


Now that you understand what it is, and what are the other mental states you can find yourself when you try to learn a new skill, it's time to see some tricks on how to reach Flow.

The number one advice is to have fast and frequent feedback.

Coding in this sense is one of the best possible activities, just change a simple semicolon in our code and once the file is saved, the feedback arrives immediately.

The browser will tell you if the new code works or if you still need to work on the script.

The second variable is long-term feedback, also called the final goal.

If with quick feedbacks you can see the progress made by our actions instantly by defining a final goal you can give them a purpose.

You can then check if you are approaching or moving away from the final product, whether it is the new skill you want to learn or the deployment of a new web application in the programming language you already know.


and here it is where programmers have most problems.

The challenge must be difficult but not impossible to obtain.

As previously stated,

I think it is very easy to go back from the control or arouse state and it is even easier to go from the flow state to the anxiety state.

Just think of a novel who has just finished his first book on the basics of HTML and goes directly to "Design patterns" by the gang of four.


An example of better progress would be to go from the basis of PHP to some more complicated topic such us Object Oriented Programming and eventually learn some PHP frameworks

It is very likely that you will not be able to understand anything if you do not surrender to the web development altogether.

The skill required must not be out of reach, to achieve and continue the flow state it is necessary to have small and continuous improvements.

The last variable to take into account is distractions.


I know, it's very difficult to distance ourselves from that brilliant object that bibs every 40 seconds because of notifications from Facebook, Instagram and so on.

But if we want to reach the flow state, learn a new skill or even if we only want to be a little more productive during the day, the use of smartphones and the like must be reduced.

As written by Chris Bailey in his book "The productivity project" (another great book by the way), even if the Internet, digital objects and distractions, in general, are stimulating they divert our attention from our goal and their use must be reduced to pre-defined time periods.



How to learn


You have learned that your mind is going through different mental states while you are learning a new skill.

you also understood what steps to take to achieve the flow state.

It is very cool already.

Now that you're in the flow state and you can easily reach it, how do you learn efficiently?

Here are some techniques created by the best psychologists during the last decades:



Pomodoro technique

One of the main problems when we have to learn something new or we have to work on a project is the beginning.

How many times have you wondered whether to go to the gym or finish the last piece of cake?

This is natural and it's a fight between chemical impulses that happens inside your brain between prefrontal cortex and limbic system.



the result of this battle is many times in procrastination,

A technique invented with the aim of solving this problem and increasing your skills in time management and the so-called Pomodoro Technique developed by Francesco Cirillo in the late 1980s


It takes its name from the shape of the timers used in Italian kitchens, "Pomodoro" means tomato and consists in taking small breaks after a certain period of time spent working.


The goal is to not stress the mind while task completion is running.

This technique is particularly effective when you set input goals instead of output goals,

(An example of input goal is: write a blog post for 90 minutes while an output goal is: finish a blog post)


Other important factors to implement if you decide to use tomato technique are the practice of setting up a proper mise-en-place,

Which means preparing everything you need in advance, books, laptops, date and even pens and pencil.

During these periods of extreme focus surely moments of distraction come true, do not be transported, take a notebook and notice every distraction.

You can always do research and make further considerations during the break.


This makes you more productive and increases the muscle power of your concentration.

There are several apps that you can use to eliminate your procrastination and they are:


Feynman Technique

Richard Feynman was a famous physicist,

In addition to being a Nobel Prize winner in 1965, he also gave the name to an important learning technique.

The Feynman Technique is very simple to apply but equally effective.

The technique is divided into four phases and the basic objective is to be able to explain what you are studying in the simplest way possible.

In the first phase you have to write the name of the topic you are studying, and the goal of the current session, nothing more.

After studying the topic the second phase consists in explaining the same in a simple language and with examples,

Performing this exercise allows you to identify areas that you did not fully understand and then focus on them.

The last step is to simplify the explanation to the minimum terms, try to remove technical jargon and complicated words.

Imagine having to explain the concept to a child.


This technique is very useful both in the case you want to improve your understanding of a certain concept or if you simply want to review a topic you already know.


Space Repetition

Recent studies have revealed that space repetition is the best technique available at the moment regarding general learning and learning new concepts in the best way.

The idea here is very simple, during the school period you learned everything you could, all the topics together possibly the night before an important exam.

2 months pass and information is no longer in your brain.

Space repetition solves this problem by making wise use of time.

Quick example:

Want to learn a new function in PHP?


  1. Study the function in detail today,
  2. Then again tomorrow,
  3. Then in 3 days
  4. Finally in a week.


Having the fresh function in mind in the early days let it "sticks" to the memory,

As the function is easier to remember, the frequency of the study is lowered until it is completely eliminated.

Even if the process is much longer than the other techniques the final result will be that the function will remain in the memory longer if not forever.


Useful Apps:



What to learn next?


What to learn next?

This is another question asked by dozens of web developers every day,

What to learn next? what's the latest fashion trend this year? Should I leave PHP for Golang? What about Python? What if I learn React instead?

As you have just seen it takes just 10 seconds to be overwhelmed by these questions.

Avoid it!

Look around you, choose a language, study the basics, learn the basics by heart, then when you feel ready and have control, you will learn new skills.


Learn PHP and other languages the hard way is never a bad option.

The main objective is to find the state of flow, remember?

Once inside and using the techniques mentioned in this post it will be much easier to learn everything you want at your favourite pace.


Depending on your level I advise you to have a look at the following blog series:

The basis of PHP to learn the ABC of the language

Object-Oriented Programming for an easy to understand series of article about OOP, and,

Review of 24 PHP frameworks to level up and be ready to become a professional.




Speaking of learning, an amazing application that helped me a lot in my career is the eLearning platform teamtreehouse .


They are currently making a free 4-month offer (valued at $ 100).

Have a look at it!.

(Affiliate links)

If you like this content and you are hungry for some more join the Facebook's community in which we share info and news just like this one!

Other posts that might interest you

Coding (Psicology) Aug 27, 2019

Productivity secret of a web developer: Coffee [9 types]

See details
Coding (Psicology) Jan 10, 2020

Get Your New Year's Resolutions to Stick [Goal Setting]

See details
Coding (Psicology) Apr 23, 2020

Developers Quarantined (how to stay productive)

See details
Get my free books' review to improve your skill now!
I'll do myself