Take the time to let the following sink in.
We start with some fundamentals
because it'd be so much harder
to change the fundament
once the building stands on top of it.
Good programmers carry with them
a set of philosophical attitudes
that allow them to go much further
and create much better software.
While in everyday life
we follow mostly existing paths,
as a programmer you will create new paths.
You will become (or improve on being)
an engineer, an inventor,
a craftsman, an artist.
As a programmer (starting with
the very next step of this tutorial),
you will see many things that
you do not understand at first.
All people nearly every day see in fact
many things they do not understand
— but usually, they don't notice it,
and as a learned reflex, they filter it out
to stay focussed on their everyday lives.
But as a programmer,
you need to notice what you don't understand,
sustain that, and work actively with it,
knowing and accepting three things:
1. You do not understand it yet.
2. Sooner or later, you will understand it.
3. There is a path, and you will find it.
You may not need to understand
all of it for your currrent task,
and it's efficient to postpone
learning the rest step by step later.
The following three virtues will help you;
try your best to live by them:
1. Curiosity:
Keep exploring, asking, learning,
playing, experimenting, discovering.
2. Patience:
Trust in that step by step, progess is made,
until finally the end result is achieved.
3. Perseverance:
Keep focussed on your goals,
make them a high priority,
and work towards them with determination.