

The spiral of learning - diadara
http://sdqali.in/blog/2012/05/30/the-spiral-of-learning/

======
hyp0
The energy and interest you have is a tremendous positive. Don't take it for
granted. It's something to nurture.

What exactly is making you feel bad - what are you thinking when you have that
feeling? i.e. what thought is stopping you and why is that bad?

[OK, I'm guessing in the following - you'll find the true answer in the above
questions] You say you feel bad because of a lack of mastery, but what level
of mastery counts?

I think it's the lack of a goal: a defined point where you say "ah! I've
_done_ it!", instead of a continuous never-ending slog. There's always more
you can do in the bigger picture, but you can choose a goal at a point that in
some sense is a _completion_. Artificial in a way, but also on top of
something, a logical boundary.

That is, a specific _doable_ task that can be done pretty quickly; with some
challenge, not too much - a level that, from your experience, is definitely
doable by you; that is clear and _definite_ , so you have a direction/guide to
keep you on track, and so you know when you've reached it (so you can stop,
and see how far you've come, and a take a rest to choose the next one).

Finally, it must have some meaning to you - it _could_ be to just learn some
technique to some standard... but better is an actual project that you want to
do: a simple parser, an animation, a tool that you'd like to have, implement
an idea, copy a game or tool or library or framework or language or app _that
impresses you_ (or some part of it). But note that it must be doable, by you,
in reasonable time. So, if too ambitious (or you realize it's too ambitious as
you go along!), break out simpler and simpler versions of it, or sub-parts of
it - provided it still has _meaning_ , a _definite_ end-point, and is
_doable_.

Of course, as you say, you are learning stuff in this spiral, and you'll get
cross-insights from doing different things. It's just that you feel bad about
it - I think having goals would help. [But see the questions above...]

~~~
chmike
Some time ago there was a post on HN about the difference between a system and
goal driven behavior. A system driven behavior applies a strategy over and
over endlessly with improvement at each iteration. The goal driven behavior is
a sprint based evolution.

What the OP describes is a _system_ which he acknowledges improves his
expertise in the studied knowledge.

My opinion is that system has the advantage over goals in that it is an
automatic and permanent drive to stick to some rule. It can be learning,
exploring new ideas, do fitness, healthy food, keep a good weight, etc.

Goals require a boost of effort and focus wich can only last for a limited
duration. You feel good if the goal is achieved and bad if not.

If you work with goals and sprints, there is a high risk of burnout. So better
go into system mode for the long run.

The change of topic of interest is something I saw my self and was also
puzzled about. I attribute this to some "fatigue" of the brain where it's
learning capacity is kind of saturated. Changing topic of interest, changes
the neurons and connections in play which let some of them to rest and
activate others. Learning is also a matter of repetition and pruning details.
You get this by switching back and forth between topics and forgetting the
details in between.

Another benefit of having different topic of interest is that at some point we
will make the connections between them. We'll use the knowledge gained on one
topic on the other. This is powerful and by the combination of topics explored
it will also make you most probably unique.

~~~
hyp0
Sounds like a fair summary, but you haven't addressed what (I believe) is the
key issue: _OP feels bad_.

    
    
      pain [...] consistently high [...] don’t have the energy or enthusiasm
    

I think a huge turn off for "goal-setting" is that corporations do it, and
also that they do it for the purpose of productivity. However, I'm not
suggesting it for productivity, but for satisfaction. The satisfaction of
completely something. Of climbing the mountain, completing the quest, bringing
the elixir back, solving the problem, creating something new. I'm not saying
one "should" do it, I'm saying it's a way to feel satisfaction, instead of
pain.

The key idea here is that a goal not something to strive for, but a limit. Not
to force you on, but to let know when you have accomplished something - when
to stop! Now, if you're a perfectionist, you may say, "but there's so much
more! I've barely scratched the surface. I've done _nothing_! _I 'm not
worthy!_"

However, if you had a goal, and you can remember how it looked when you set it
(that it did seem challenging), then when you reach it, you can compare where
you were, and where you are now. And you are forced to acknowledge the fact
that you _have_ accomplished something.

This gives a flood of satisfaction, like it or not.

Now, turning to "sprint" vs. "system". Firstly, I stressed that the goal must
be doable. There's minimal risk that you can't complete it, if it is "doable".
And if it's too hard, pick a smaller one.

Note also that you can shift topics between goals, just as you can with a
system. I'm talking about small goals, not huge overreaching ambitious goals.
Baby steps - but steps nonetheless!

Sprints seem very compatible with human psychology: movies, books and music
usually consist of alternating tension and release. There's a series of
difficult obstacles, not just one, but a series of problems and solutions.
People really respond to this.

Curiously, it seems that literal sprints (i.e. running) are also much better
for building fitness than consistent paces. And they even have "sprints" in
some agile methodologies (not sure if that counts for or against my
argument...).

Finally, there's absolutely a magic in programming, that you code something...
and something happens! It's a child-like thrill that (in my opinion) it is
absolutely crucial to respect and preserve, especially as ones goals become
ambitious and abstract. Fred Brooks talks about the "sheer joy of making
things" \- and compares us both to a child making mud-pies and to God creating
nature. (just found an excerpt online:
[http://cs.calvin.edu/books/processing/references/brooks/myth...](http://cs.calvin.edu/books/processing/references/brooks/mythicalManMonth_joysWoes.html))

I would guess that, evolutionarily, the human body and mind is adapted to
sprints - and this is what makes goals feel so satisfying to us, just as we
enjoy food, water etc. The "system" approach makes logical sense, and what you
say about it seems true. It's just that you haven't addressed how it engages
with human motivation (but assume it is "an automatic and permanent drive") -
which is the issue OP is struggling with.

Lastly - I think OP's personal solution will actually come from the thoughts
he has when he feels that pain. Part mistaken, part profound - only OP will
know which is which. I don't claim my suggestion is right for OP, just adding
another perspective.

~~~
cJ0th
The whole thread resonates quite strongly with me. Many interesting points are
made. I was just recently wondering whether I should pursue goals when
engaging in activities I do for fun. Like you wrote, it is feels so
corporation-ish but then again they seem to motivate us.

Another aspect, however, concerns motivation vs. commitment. When it comes to
hobbies I am quite driven by motivation. Unfortunately, motivation often
doesn't last long. That's why many people point out that commitment [doing
something despite a momentary lack of motivation] > motivation.

And this gets me back to square one as commitment is something I rather
associate with corporate culture than leisure time. [Of course, you could make
being commited x times a week a goal to get some satisfaction out of it but I
doubt that would work for me. It probably also depends on the activity: I can
commit myself to regular exercise but I can not force myself to sit down and
write some music 3x/week]

~~~
hyp0
I've heard that action precedes motivation - you force yourself to start, and
_then_ you become engaged. I've found this is true for me.

Many (not all) professional novelists have a schedule, to ensure they write
each day. They force themselves to type X words, or sit there for X hours
(they get bored and start writing). But that's work, not leisure.

I think a distinction here is relaxation verses intrinsically meaningful
activity. Many people find the latter the most rewarding... but goofing off
and aimlessly following our whims, just for fun, has a place too. (Actually
this worked well for Feynman).

------
jerf
I find it helpful to maintain a closure ratio; I shoot for perhaps 1 out of 5
projects that get past one night's worth of fiddling should reach "closed",
for some definition of "closed". It's crippling to think that you should
finish everything you start. It's better to always start things and never
finish than never start anything at all, but it's better to "finish" every so
often too. This gives me the satisfaction of occasionally finishing things,
while still letting me wander broadly. It's a powerful combo, depth and
breadth.

~~~
tel
I do this too. I manage it by periodically reviewing my open projects and
either pruning or building a kind of mission statement–go or no go. If they
make the next step it doesn't mean they have to get to the end, but it means
you should spend some time scoping and figuring out what completion might
eventually mean.

------
JackMorgan
Here's how I "solved" this in myself: I use the streak feature on github. I
work through books and projects, and just push them forward 20-30 minutes a
day, every single day. Since starting in March, I've read and done the
examples/homework for: Let Over Lambda, F# Programming, Clojure Programming,
PLAI, and I'm almost done the second chapter of SICP. I've prepared and given
a meetup talk, invented some neat stuff, and all around really enjoyed my
increasing mastery. It's been the most productive 9 months of my life, and I
don't really feel like it's much of a strain. My mind has calmed; my focus
increased. I cannot recommend it enough.

~~~
MoosePlissken
Are you actually committing code every day, or do you somehow represent non-
code related progress (e.g. reading a programming book) in a repo?

~~~
JackMorgan
I'm really committing code everyday. I'll commit the exercises, or if there
are no exercises, I'll type up my learnings as a comment, and I'll try to
write an example of what it was I was trying to learn.

~~~
MoosePlissken
Gotcha, thanks for the additional info. I might give this a try. I like how
your approach requires some active work in order to check a day off, and how
it automatically gives you a history of what you've done each day. I've tried
the "Jerry Seinfeld calendar" approach, but it's a bit too easy to get lazy or
cheat when your only sign of progress is an "x" on a calendar with no real
evidence of work attached to it.

------
gvickers
I used to be in the exact same position. Switching between different
languages, paradigms, frameworks helps immensely in narrowing down you're area
of interest. I spent a significant amount of time playing with python, tried
thinking "pythonically" and using it as my side-project language. But after
about a year I never got comfortable, maybe it was the mature community
surrounding the language or its opinionated nature.

Anyway, I distinctly remember learning about Clojure, and being completely
enamored with the ideas Rich Hickey talked about. I would still get bored of
doing 4clojure problems, but instead of abandoning them for a different
subject entirely I would watch a ClojureConj video, read a blog on a Clojure
library, or even just practice some of the tooling like emacs key-chords.

I believe the learning process is better when it is erratic, both for you're
own sanity and the overall completeness of a knowledge domain you can acquire
after jumping around from topic to topic.

5 months in, I am trying to push Clojure/Cljs ideas into the C# shop I work
at, and upholding my promise to do SOMETHING regarding the language or tooling
every night.

Our brains seem to work best this way, storing an idea in our subconscious
after rigorous study allows us to process it in the background. I find myself
frequently daydreaming about language constructs or architectural designs.

~~~
voltagex_
Why Clojure instead of F# or more advanced C#?

~~~
laichzeit0
Because it's Microsoft technologies locked into a Microsoft stack. And before
people start chiming in about Mono: Good luck selling that idea in a large
bureaucratic enterprise environment. For all the hassle involved you're better
off sticking to something that runs on a JVM.

~~~
voltagex_
That's why I suggested it - the parent said they were already in a MS shop,
there'd be significantly less resistance with staying on the same stack.

------
hobs
Couldn't identify with this more, the worst part is when you spend so much
time circling that you start to forget the things you originally learned, or
at least think you do. However I have noticed the same effect, especially when
you have circled once or twice back to the same well your brain has learned
more than you know, and thinking in _that_ way is much easier now that you
have had time to work through it and let your brain rest a bit.

I think on some level you cant make yourself feel bad for being a jack of all
trades, and you can setup methods to reinforce going back to the well of
whatever you were working on.

One of my compatriots who does this has a dedicated but somewhat more closed
off friend who doesn't look around for new things. They challenge each other
to see who can accomplish the most in some specific language, style, whatever
. The flighty but open one now is challenged by someone who is more dedicated
to the task, and as they keep it light hearted. Together they make some
interesting stuff and are a pretty good team.

------
MrQuincle
So cool! You are describing me! :-)

I think there are only two things.

1.) You shouldn't feel bad about it, and now you are realizing that it's an
overall upwards spiral after all, you probably don't feel so bad about it! :-)

2.) You forget to include a lot of other things. What about sporting
activities, or social activities. There was another HN post on "investing
time", that explains that concept. I can tell you my spiral is way bigger. And
especially Wikipedia I see as a big corner stone of learning things. It's one
of the fastest ways to get a feeling for what the Bellman equation is, or
convex optimization, or the different notions of consciousness, or the axiom
of choice in set theory, or a morphism in category theory, Feynman diagrams,
or a renormalization group, just to list a few things I've checked in 2013. I
bet you could follow my intellectual spiral by the specificity of topic terms
I check on Wikipedia. :-)

The world is a wonderful place, there is so much to discover! You will never
be done. It's great to not just accept that, but to appreciate it!

------
gfodor
If you zoom out, it looks like you are really only "spiraling" within or two
(relatively) niche topics: Newly Popular Programming Languages and
Understanding/Using Data With Computers.

Maybe you need to broaden your horizons a bit to find something that truly
interests you and dramatically increases the things you can do as an
engineering/scientifically-minded person?

~~~
rational_indian
Any suggestions? I would love to try out some new things.

------
datawander
Great article! It reminds me of a beautiful excerpt I recently discovered that
might make you feel better about all your unfinished projects:

    
    
      Leaving something incomplete makes it interesting, and gives one the feeling that there is room for growth.    Someone once told me,  "Even when building the imperial palace, they always leave one place unfinished."  In both Buddhist and Confucian writings of the philosophers of former times, there are also many missing chapters. 
    

[http://www.geocities.com/lesliebarclay/EssaysInIdleness.html](http://www.geocities.com/lesliebarclay/EssaysInIdleness.html)

------
thatswrong0
I generally am not one to recommend specific books, but I read one a while
back that I think would be relevant here. It's called Mastery by George
Leonard. I'm very much the same way as you, characterized as being a "dabbler"
in the book. I would definitely recommend giving it a read. Or two. Here's a
scribd link, though its legality seems dubious:
[http://www.scribd.com/doc/257928/-Mastery-by-George-
Leonard](http://www.scribd.com/doc/257928/-Mastery-by-George-Leonard)

~~~
robzyb
I just read the first 60 (out of 179) pages of the book - and I would've said
that OP was characterised as a "Hacker."

This is because a "Dabbler's" skill goes back down to 0 in the short term, and
this is not what is happening to the OP.

------
jaunkst
I admire your ability to know the unknowns. Its imperative today do do exactly
what you are doing. There is just to much going on that is "worth knowing".
Any good CTO would be rounded but not masters of one. The best thing about
this is your spread trading your education and the overall achievement being a
grander knowledge of shared knowledge. Keep doing what your doing there are no
pitfalls in not specializing. BTW cheers and happy new year may your future be
fruitful from your unbiased persute of education. :)

------
yankoff
Yes, I (and many others) have exactly same problem. I feel like I'm getting
better in committing to specific goals over time though.

One of the key things here is to think about what you want and clearly define
your goals. But you may find yourself in the situation when it's hard to
understand what you want. Then, I think, it's ok to play around with small
projects shorterm without strict commitment. This helps to try many different
things and finally find what you like.

------
laichzeit0
Maybe I'm missing something here, but why are you throwing yourself at all
these technologies? Usually I will only exert effort to learn a new technology
when it makes solving a particular problem easier.

The focus here being on the word "problem". That's where I find I get the
enthusiasm to learn something or finish that I started, because the problem is
interesting or useful.

~~~
evincarofautumn
I recall that Feynman had some great quote about this. Basically, if you stay
observant and studious, then you can try each bit of new information against
the problems you already have, and you gain useful insights as a happy side
effect of learning for fun.

------
kovalkos
I am in exactly same situation.

The main problem with "the spiral of learning" is the wasted energy required
to switch tasks.

If I could just stick with one thing until I mastered it, I would be much more
efficient. Trying to go back to things I haven't done in a while requires a
long period of time for re-familiarization with material I already used to
know.

------
drcross
I know exactly what you mean. Someone smart once told me to pick one thing and
do it very well, this I did. I mastered one technology and because a go-to guy
on it, based my career off it and now I'm a bit bored of it and want to
transfer across to something else. I'm finding this hard.

------
dworrad
I think you could approach it a little differently.

You should try and do/create cool/interesting things/projects which help you
learn the skill a little more.

Rather than going at it with the intention of learning xyz

------
jrs99
reminded me of a book: [http://www.amazon.com/How-Soccer-Explains-World-
Globalizatio...](http://www.amazon.com/How-Soccer-Explains-World-
Globalization/dp/0061978051/ref=pd_sim_b_7)

