
How to do hard things - necrodome
https://www.drmaciver.com/2019/05/how-to-do-hard-things/
======
keypusher
The most valuable thing I learned at university was how to tackle difficult
problems. Taking advanced math and science courses where I had to really
study, and still struggled, and having to write essays so frequently that I
could no longer procrastinate or wait for the spark to hit me, was more
valuable in the long run than any of the actual knowledge I gained.

The advice to break a hard problem down into simpler pieces good, but I feel
like that is often difficult without proper domain knowledge. In many cases,
knowing how to break apart a problem like that is how you become an expert in
the first place. If you want to learn a musical instrument, there are plenty
of good simple excercises to start with, but only an expert can tell you what
they are, you can’t easily intuit them from scratch. An experienced programmer
will know how to break down a difficult project into small and simpler pieces,
that ability is part of what makes them an expert. “Find a good teacher” and
“put in the work” seem like rather banal pieces of advice, but it’s a system
that has consistently worked throughout the ages. If you are truly breaking
new ground then you should already have a framework and significant experience
to guide your exploration.

~~~
yay_cloud2
Your comment reminds me of the exercise where a class was split into two
cohorts, one was tasked with producing just one clay pot (I can't remember the
thing now), while the other cohort was tasked with making one per day or
something similar.

Put simply, one group put all of its energy into producing just one, and the
other group just turned out pot after pot after pot.

At the end, so the story goes, the group that cranked out pots like crazy
ended up producing pots of higher quality.

In my own life, I can often find out the thing that I'm afraid of learning
because I've set it up like that first cohort: making the one perfect thing,
instead of putting it out there and iterating on it or making another based on
what I learned. Goes with learning languages (I'd do way better if I simply
tried speaking every day, but I wait for perfect opportunities).

~~~
jacobolus
> _(I can 't remember the thing now)_

Don’t worry about the details; it was just a made-up story in the book _Art &
Fear_; I have never seen any evidence such a pottery class ever existed.
[https://kk.org/cooltools/art-fear/](https://kk.org/cooltools/art-fear/)

> _The ceramics teacher announced on opening day that he was dividing the
> class into two groups. All those on the left side of the studio, he said,
> would be graded solely on the quantity of work they produced, all those on
> the right solely on its quality. His procedure was simple: on the final day
> of class he would bring in his bathroom scales and weigh the work of the
> "quantity" group: fifty pound of pots rated an "A", forty pounds a "B", and
> so on. Those being graded on "quality", however, needed to produce only one
> pot -albeit a perfect one - to get an "A". Well, came grading time and a
> curious fact emerged: the works of highest quality were all produced by the
> group being graded for quantity. It seems that while the "quantity" group
> was busily churning out piles of work - and learning from their mistakes -
> the "quality" group had sat theorizing about perfection, and in the end had
> little more to show for their efforts than grandiose theories and a pile of
> dead clay._

~~~
frogpelt
This story is somewhat true actually if you correct for the literary license
taken.

James Clear reached out to the authors of Art& Fear and this is his footnote:
(Link:[https://jamesclear.com/repetitions](https://jamesclear.com/repetitions))

 _This story comes from page 29 of Art & Fear by David Bayles and Ted Orland.
In an email conversation with Orland on October 18, 2016, he explained the
origins of the story. “Yes, the ‘ceramics story’ in ‘Art & Fear’ is indeed
true, allowing for some literary license in the retelling. Its real-world
origin was as a gambit employed by photographer Jerry Uelsmann to motivate his
Beginning Photography students at the University of Florida. As retold in ‘Art
& Fear’ it faithfully captures the scene as Jerry told it to me—except I
replaced photography with ceramics as the medium being explored. Admittedly,
it would’ve been easier to retain photography as the art medium being
discussed, but David Bayles (co-author) & I are both photographers ourselves,
and at the time we were consciously trying to broaden the range of media being
referenced in the text. The intriguing thing to me is that it hardly matters
what art form was invoked—the moral of the story appears to hold equally true
straight across the whole art spectrum (and even outside the arts, for that
matter).” Later in that same email, Orland said, “You have our permission to
reprint the any or all of the ‘ceramics’ passage in your forthcoming book.” In
the end, I settled on publishing an adapted version, which combines their
telling of the ceramics story with facts from the original source of
Uelsmann’s photography students. David Bayles and Ted Orland, Art & Fear:
Observations on the Perils (and Rewards) of Artmaking (Santa Cruz, CA: Image
Continuum Press, 1993), 29._

~~~
michrassena
It's a ironic to me that the original inspiration for the story was not
ceramics, but photography. My main pastime is photography, and I took this
advice to heart and started being as prolific as possible, which is something
that digital photography has made easy and compared to film, inexpensive. It
was a great relief to just accept that the first attempts at anything are
going to be terrible and that failure was a necessary barrier to entry of
getting good. Ten years, and tens of thousands of photos later and I've gained
a lot of experience and produced some work that I'm proud to call my own.

~~~
lb1lf
I believe it was Henri Cartier-Bresson who quipped (or at least has had it
attributed to him) that "Your first ten thousand photos are your worst."

I've found that using digital to gather new skills is terrific, but yet I find
some of the work I am most satisfied with is analog; I believe it is mostly
down to my own lack of self discipline - when shooting digital, exposures are
free and hence I shoot lots and lots.

When out with my Texas Leica (A Fuji G690BL, a 6*9 rangefinder), getting eight
exposures to the roll, I take those extra couple of moments to ensure I get it
all right.

------
less_penguiny
My biggest realization about doing hard things is that I needed to let go of
my intellectual entitlement. Just because something is (or seems) effortless
to others, doesn't mean it will be the same for me.

Part of this entitlement stemmed from a (now eroded by bitter experience)
belief that I'm somehow a faster learner than normal, that _I_ don't have to
do the work.

For example, about seven years ago I wanted to learn Calc I-III on my own. I
went down the usual, lazy, intellectually-entitled route of watching lectures
and YouTube videos online without doing a single exercise.

A year later, guess what? I couldn't remember jack-shit. Moreover, I couldn't
solve problems, which is basically the reason I was learning math anyway. Any
bystander could have predicted this outcome, but I was blinded by my own
entitlement.

Now, after being humbled (here and elsewhere, e.g. in learning to play music
by ear), I realize that there's honor, even long-term efficiencies in
following every step the great teachers of the past have laid out, in moving
slowly albeit with rigor and confidence.

I resumed my math study with Geometry 101, the absolute basics, using a book
of 5000 (short) exercises. It probably took me three times as long as Calc
I-III lectures combined. But I realized something — I found more joy in doing
the exercises, in doing things the _right_ way, than I ever had in watching
lectures.

~~~
matwood
> Just because something is (or seems) effortless to others, doesn't mean it
> will be the same for me.

I think it's also important to remember it is rarely effortless to others. You
just don't see the effort. I was fortunate enough to hang out with some people
in college who were valedictorians at their high schools, and would generally
be considered smart. They ended up graduating college with 4.0s. Since I hung
out with them all the time, I got to see just how much they worked at it. They
took amazing notes, and studied all the time. We didn't have a name for it
then, but they essentially did the Pomodoro technique to pull all nighters
studying for big exams.

Seeing them definitely helped me realize that getting through hard problems is
work, and requires time. Thinking time, studying time, and practicing time. Do
some things come easier to some people? Sure, but almost everyone has to put
in the work at some point.

As an aside, not understanding how much work goes into something is common in
sports. People see Michael Jordan hit the final shot or Tiger Woods hit an
amazing shot out of a bunker, but do not realize they have probably practiced
that shot hundreds if not thousands of times.

~~~
less_penguiny
As much as it hurts me to believe as much, I'm confident that there really are
people for whom at least certain things are "basically effortless". I've seen
this occur around my peers, especially with music, where some (who already
play piano but only by notes) learn to play by ear in a summer, but others are
still struggling after five years of daily practice.

~~~
matwood
Absolutely. There are definitely people where certain things just come easier.
You mentioned music, which I have seen. Same with athletics. But even those
people often spend way more time practicing than they are given credit for.

------
czr
This more or less matches my own system. Some additional notes:

* When creating great work as an expert, you will be working down the ladder of abstraction (e.g. for writing–coming up with a concise high-level vision and then progressively expanding it down to the level of characters on a page)–this is the most efficient way to make anything, since you can sanity check your work at higher levels to avoid expensive rewrites at lower levels. However, when _learning_ , you should learn subskills in the exact inverse order (start from the lowest level–how to type keys–then work upwards). Mastering subskills in this order maximizes the feedback signal you get while learning–if you can't write a paragraph coherently, it is very difficult to determine how well you're doing at developing your authorial voice (or whatever).

* Time spent practicing a skill only makes you faster / more robust at the method you already know; it doesn't lead you to improve your methods. So spend half your time actually performing the skill, and half the time analyzing your work / comparing to known good examples / planning how to improve (and, really, half of _that_ time should be for improving your tools for analysis and comparison...). If you fail to do this kind of meta-work, 10000 hours of practice or whatever will just get you a fast, robust system for producing garbage.

* Assuming you're following an intelligent process for learning the skill (see previous points), the most likely way in which you will fail to learn it is by getting disinterested or discouraged and giving up. It's essential that you try and structure your learning process in a way that yields intermediate feedback and some satisfaction for improvement, and pay attention to both 1) reducing the parts of the process you dislike and 2) figuring out ways to make it enjoyable (including figuring out how successful other people have managed to derive enjoyment from the activity).

~~~
hinkley
“We shall not cease from exploration, and the end of all our exploring will be
to arrive where we started and know the place for the first time.”

~~~
00117
~ T. S. Eliot

------
galaxyLogic
I used to make songs, not so much any more. Creating a song is hard you have
to come up with both a good melody and good lyrics.

What seemed to work great is I tape-recorded myself playing and singing the
initial version of the song. Then I played it and sang on top of it, even
doing multi-tracking sometimes.

I found it was easy to come up with new words and new adjustments to the
melody while singing on top of an existing version. Why? Perhaps because I
didn't need to spend energy trying to remember both the old version and the
new version. The tape-recorder remembered the old version, so I was not afraid
of losing it.

~~~
2sk21
I have had similar experiences - I find it easier to edit things than to
create them in the first place.

------
MRD85
His use of loops just seems like an implementation of breaking a problem down
into smaller components. If I wanted to learn to learn a difficult skill, such
as writing a decent novel, I'd break it down as follows:

1) Research what skills I'll need to develop. At my current stage of learning
I don't know what I don't know.

2) Figure out a path to start developing skills. This might be writing a small
story every single day while also reading books/guides on how to develop as a
writer. I'm still writing daily.

3) As I'm becoming mor comfortable writing anything I now need to develop
skills on writing specific things. How do I flesh out a character, how do I
describe settings, etc. I'm still writing daily.

4) Once I've figured out individual building blocks I'd then teach myself how
to construct them together. What elements do stories contain? How do I flow
between small sections to weave a larger tale? I'm still writing daily.

I'm sure as I become a more knowledgeable and skilled writer I'd identify
other areas I need to work on, skills to develop, etc. It all comes down to
identify small blocks and build from there.

~~~
bracobama
For a long time I've had this idea about creating a website where this type of
idea is expressed. I envision it to be some large hierarchical tree like
structure (not unlike the ones you see in games like FInal Fantasy) where you
pick a topic you want to learn and it gives you the basics to learn and then
once mastered allows you to goes deeper by diverging into specialised
categories.

~~~
jerf
I've prototyped this mentally too. If I were going to do it, I think I'd write
myself a modification to a Wiki engine that can detect when links only go to
simpler things, and highlight those. (You don't want to "ban" links going up
to harder things, but you may want to isolate them in a dedicated section or
something.)

You might be able to bootstrap off of wikipedia content.

The thought that provoked this in my own head was the observation that
Wikipedia is virtually useless for learning anything mathematical because so
many of the links on any given article head "up", rather than "down", and a
casual user can't figure out which is which.

------
hanoz
It sounds like great advice, I just wish I had some properly hard things I
needed to apply it to, rather than the multitude of what ought to be simple
things of which a few unexpectedly and inexplicably turn out to be grossly
disproportionately difficult to do for no very good reason.

~~~
jonaf
I have also experienced this phenomenon. Why do you suppose we come to these
surprises, and why do you suppose we experience them?

Is it because we are confident? Or because we lack sedulity? Or because our
analysis was incomplete?

Is the surprise time consuming because we want/expect it to be easy? Or
because we are focused on a different problem really. Or because our focus was
interrupted.

~~~
chrisweekly
sedulity: diligence, dedication

good word!

------
lloeki
Basically this is Descartes’s Discourse on the Method

(2) The second ·was· to divide each of the difficulties I examined into as
many parts as possible and as might be required in order to resolve them
better. (3) The third ·was· to direct my thoughts in an orderly manner, by
•starting with the simplest and most easily known objects in order to move up
gradually to knowledge of the most complex, and •by stipulating some order
even among objects that have no natural order of precedence. (4) And the last
·was· to make all my enumerations so complete, and my reviews so
comprehensive, that I could be sure that I hadn’t overlooked anything.

[http://www.earlymoderntexts.com/assets/pdfs/descartes1637.pd...](http://www.earlymoderntexts.com/assets/pdfs/descartes1637.pdf)

------
edoo
I conquered my own process by eventually realizing I could approach it exactly
like a computer program. I architect how I am about to work. Now instead of
just nebulously working I always know exactly what I'm working on. This frees
my mind to focus on the task at hand and if I get sidetracked I can just look
at my current goal and process list I setup before I started working, that I
thought out rather well, and it gets me right back on track.

~~~
joncrane
How often do you get interrupted at work?

~~~
edoo
It used to be just awful, at least 2-3 major focus shifts per day which I got
used to. Now rarely, as I realized I am at least 2-3x more effective if I work
on the same task for at least a few days at a time. I can ramp up to an
amazing level of momentum if I am not being randomized.

------
wes-k
One way I accomplish this in programming is to write down what I wish I had.
Like ok if I had a magical function that did xyz or if my data just happened
to be in this easy to consume format, etc. works pretty well when stuck on a
difficult problem.

~~~
de_watcher
That's like TDD.

~~~
JustSomeNobody
Or DSL.

------
feviskus
I am a 4th semester CS student from Germany and still don't grasp recursion,
even though I already took the data structures & algorithms courses. If you
did have something like a magic moment where it made sense to you, please
enlighten me as I would really like to truly gain an intuition (and implement
a parallelized msd-radixsort for learning-purposes because I failed to do this
assignment yesterday).

~~~
alfonsodev
I had problems with recursion too, I think because the mind at first tries to
follow in an abstract way and gets lost. You need to switch to concrete
thinking, so you need specific things that you can rely on, these 3 things are
solid, and you can rely on them if you get lost in recursion :

1) There is always an exit condition ( or it would run forever , we never want
that)

2) There is always a value that changes and it is passed to the next
execution, or otherwise it wouldn't make sense it would be always the same
execution and the exit condition would never trigger.

3) Think like frames of a movie, in paper o whiteboard, write a table with a
column for every variable and a row for every step, my first programming
teacher taught me this, and 19 years later it save me in a white board
interview, it helps to calm down and just go step by step seeing how values
evolve.

So these 3 together, allow you to think in how the values change in every
step, and how to get to the point that the exit condition is meet.

Hope it helps! good luck!

------
maroonblazer
If you enjoyed this then you'll likely find Claude Shannon's approach useful.

[https://news.ycombinator.com/item?id=15115891](https://news.ycombinator.com/item?id=15115891)

------
jonaf
This is a very interesting philosophy. A few years ago, a former coworker and
good friend of mine introduced me to an algorithm for solving problems. This
is a slightly different purpose than doing something hard, but there are some
interesting similarities. In my experience as an engineer in software and
operations, this algorithm has never come in reach of failing me, and until I
was introduced to it, my own system was seriously lacking even though I didn’t
know it! You can be successful without it. But you can be so confident and
efficient with it! The algorithm and it’s philosophy are described in none
other than Zen and the Art of Motorcyle maintenance. I think there’s also an
XKCD of it, Flowchart maybe is the name.

~~~
closeparen
I'm partial to the Feynman Algorithm:

1\. Write down the problem.

2\. Think real hard.

3\. Write down the solution.

~~~
jonaf
Ha, I like this one! Actually these algorithms may approximate one another
when generalized. Pirsig explores the philosophy more deeply, though; for
example, generating a hypothesis: where does it come from, and is it possible
to run out of hypotheses? Pirsig argues no, you practically can’t.

------
joantune
Yes!! I got introduced to the concept of Double loop learning in a management
class in College - and was able to apply it successfully after not being able
to get the grade I wanted in some courses - then I realized that the issue was
with what I was doing - not with how tight or efficient I was at doing it!

Couldn't recommend this more

------
bePoliteAlways
This is what I have concluded for learning: 1) Figure out a way to have
feedback on what you are doing and improve on that. Basically training the
neural networks in the brain. Of course the feedback you choose matters like
"inner game of tennis" or "drawing from the right side of the brain" talks
about using non-judgemental feedback and trusting your capability. 2)Choosing
the difficulty of the task to train yourself. If too hard you will give up, if
too easy no good or get bored, so always keep it at a point where it is
somewhat hard.

Also thought people may find this article from andrew ng interesting:
[https://www.linkedin.com/pulse/20140320175655-176238488-lear...](https://www.linkedin.com/pulse/20140320175655-176238488-learn-
to-speak-or-teach-better-in-30-minutes/)

------
tirumaraiselvan
Nice. I never explicitly realized this but this is how I always succeeded in
doing hard proof-of-concept projects in a complex software product.

Single loop when I know the domain fairly well. And double loop in a complete
new domain.

So, the question is: Are there other methods to approach problem-solving which
gives positive success?

------
alfonsodev
I changed recently the way I look at problems, instead of thinking I don't
know, or I don't understand. I think that is more useful to think that I have
a wrong model of reality, that way it helps to

a) Acknowledge that I might have already assumptions that need be questioned

b) Forces me to re-visit what I think I know

c) Realising that accessing the right model is "just" a matter of finding what
building blocks are misunderstood or missing in my model.

I think the article suggestion fits this philosophy and it is a valid angle to
attack a problem, in "model" terms "Find something that is like the hard thing
but is easy" for me easy means, that is familiar to you meaning that is a
model that you understand, meaning it is a model that you play and gives you
the expected results.

------
teekert
Call me a hedonist, but I usually start with the most fun stuff that gets me
some result soon (usually the part I already am good at). Then ideas come for
the rest, the dark days I certainly procrastinate until I feel guilty enough
to go on again. Works for me.

It helps a lot if you have an employer that gives you the time. There is no
substitute for getting paid 8hrs a day to learn new difficult tasks.

It's actually the reason why some of my self-employed friends got a regular
job again.

------
sytelus
TLDR; The core idea described in article is to identify components that makes
things "hard" and then apply each component in isolation to "easy" version and
master that easy+one hard thing problem. After you do that for each component,
you likely find thing isn't hard anymore. This is "single loop system". The
"double loop system" applies to thing that you don't know what the "good"
final state looks like. So you basically consider _that_ as problem and apply
single loop system to first find out the good final state. Then again apply
single loop system to achieve that good final state.

This is insightful but claims are rather over-inflated. More formally
thinking, if this system works then my first instinct would be to apply on np-
hard problems or build machine with human level intelligence. The issue is
that hard things are often hard because solution search space is extremely
vast and achieving any level of predictability is difficult because there is
almost always new information lurking in space you haven't explored yet.

~~~
screwt
To be fair, the article does explicitly call out that the system won't work
for arbitrarily hard or impossible problems. That's addressed in the opening
paragraphs, and again called out in step 4.4 of the single-loop.

------
mrcoder111
Taking notes for my RL research..

------
afaq404alam
First principle thinking comes to my mind after reading the whole article.

------
greendestiny_re
When writing, start from the conclusion and work forwards.

------
Madmallard
I think it is a habit to want to tackle difficult things that is learned
through discipline likely fostered by parents that disciplined you. This is
anecdotal though.

------
jamisteven
Writes article on how to do hard things : article is super hard to understand.
F M L

------
edisonjoao
great post.

------
robertAngst
Doing hard things 'isn't impossible'.

Doing hard things is time consuming and/or expensive.

As a side note, I find it interesting how non-engineers describe the reverse
engineering process. I thought this was hard to understand.

~~~
felixgallo
did you just describe the OP as a non-engineer?
[https://www.drmaciver.com/](https://www.drmaciver.com/)

------
pts_
This guy is rambling. The key - just do it.

------
HNLurker2
Change title to how to do "complex" and "complicated". Just stop saying that,
and I don't like the algorithmic approach to this and the vaque-ness of the
word hard

