Ask HN: The “I want to do everything but end up doing nothing” dilemma

806 points by goralph ↗ HN
I've had a problem for more than a year now and I seem to be coming to grips with it as of late.

As a CS student / junior engineer there is an absolute abundance of subjects that I either a) need to cover or b) want to cover. Ranging from the theoretical, say discrete mathematics, to the practical, starting a business.

All of these different topics, when made accessible immediately and in most cases for free or at a little cost (libraries, MOOCs, youtube videos, books, etc), result in a sort of "information paralysis". There's too much to do, too easily, and I end up doing nothing.

This really got my attention yesterday morning when I was watching an Algorithms lecture, and my girlfriend pointed out that the lecturer looked familiar. That's because I had watched the same lecture 12 months ago and she caught a glimpse then also.

I could have done the course twice over, if I had stuck with it and not gotten distracted. But I didn't, and 12 months later I know nothing more than I did back then about this subject. This scares me.

This scares me especially because I'm at the start of a 4-5 month stretch where I absolutely need to cover 4 highly technical subjects, on my own and unguided, to continue my studies. (Details omitted for brevity)

I've faced this dilemma before and tried to tackle it on my own, and failed. So I'm posting here in the hops that some other students / professionals have encountered a similar problem and found a solution. It may not be perfect, but it might give me a step in the right direction.

Thanks in advance for any comments.

Michael

223 comments

[ 168 ms ] story [ 611 ms ] thread
Here's one solution for "information paralysis": instead of watching and reading everything that seems interesting, just put that on a list and go back to work. After a week (or more, better more) go to your list and start watching things. You will naturally identify some of those things as not-so-interesting-as-they-seemed-at-first-glance.
Hi Michael,

your kind of distraction is totally normal working and studying in a field where so much exciting stuff is going on every day. So first of all: Don't worry!

From my experience what you can do is prioritize the stuff you have to do in chunks. Use something like the Promodoro-technique (http://en.wikipedia.org/wiki/Pomodoro_Technique) to focus on the things you are doing. Don't do anything else but exactly what you want to learn in that moment. Try to track your progress by making little tutorials, summaries, videos for yourself and others.

From my experience more than anything else it takes discipline with yourself and also the understanding that you don't have to know everything in the world right here and right know. You can be rest assured that nobody does.

So just relax and take things one after another and enjoy the progress by connecting dots with each other.

A thought would be, could this be a more general issue in your life, and not just a programming / project problem?

There are many reasons why someone finds it hard to get things done that are not to do with laziness, etc. A tendency towards perfectionism, for instance, can actually be detrimental. You mention feeling scared. Fear is often associated with general anxiety, which is common and often very treatable but has the effect of making work hard.

I don't wish to make any assumptions about you, and what I am saying may not apply in your case at all, but perhaps one thing you could consider here would be some general counselling.

No one can be an expert at everything. Pick exactly one topic to get good at. Learn to ignore other topics, or just dabble in them for fun. It's very rewarding to learn one thing well.
I'd think you have an issue with your own time management (I do too).

One suggestion that kinda worked for me: try to set a specific time (i.e. 1 hour every day at 9AM) to do X (i.e. watch the MOOC lectures and do the exercises), put an alarm clock, setup your computer to forbid browsing facebook/hn/reddit/youtube in the time period etc.

This way you might be able to make it a habit, which helps you avoiding the procrastinate/procrastinate/forget/ah-crap-too-late trap.

I'm a victim of "Information Paralysis" as well. One thing that has helped me was to join a meetup or group or even discussion forums related to a particular field that i want to spend time on for the next few months and frequently catchup with them so that you're always motivated and there's a win-win kind of situation for the group as well.
I struggled with similar problems. So I have three fixed buckets of time now. First bucket is the job. Second bucket is for one side project. Third bucket is for anything under the sun: Linux kernel, Reactjs, Rust, Android, ML... I call the third bucket as the "fish bucket".
Recommended book: "I Could Do Anything If I Only Knew What It Was" by Barbara Sher.

Not that it will solve your problem but it will give you some perspective on it.

"Whom the gods wish to destroy, they give unlimited resources."

In your case, educational resources. It's difficult to say because of the details you omitted, but whatever it is you're trying to do is probably the wrong thing. If you need to cover 4 highly technical subjects in 4 months, then you've made a wrong turn somewhere and you need to stop and re-evaluate things. No matter how important it seems, no matter how alluring the opportunity. It just isn't going to happen. If this is a life or death situation then get your affairs in order, because the odds of anyone being able to learn effectively in that context are extremely low.

If you want to learn one or maybe two of those things then pick a practical project. Learning Algorithms from a MOOC is a good start, but you might want to augment that by implementing some of them in an open source library using a language of your choice and putting it on github. You'll learn by doing, you'll hopefully get feedback and you'll have the pressure of doing it publicly. Practical experience is one of the best ways to learn, if not the best. Then repeat some variant of that process for the other things that you feel you need to know. Find a public and real world application and let it light a fire under you.

Best of luck, Michael.

That's how the company behind Duke Nukem 3D drove itself out. I can't recall the number, but I think they did like 5 rewrites of the sequel. Every time they got something running, there was a new shiny engine that would unleash there deepest fantasies so they started from scratch since they could afford it. 17 years later, no sequel, no company.
"Whom the gods wish to destroy, they give unlimited resources."

These terse words at once explain the sophomore jinx in music, why famous scientists never outdo their work before they are famous, and some of the deepest paradoxes of my own life. Thanks for this. Classic.

Your Twyla Tharp quote is beautiful. Thanks for that.
I recommend 2 books: "The War of Art" and "Do The Work", both from Steven Pressfield.

In short, this is Resistance. Do The Work.

I second the "War of Art" recommendation. It is one of the most important books I've read in a long time as a far as impact on my life; really kicked my ass and got me into gear.
It's an awesome book. Based on the 1-star review you chose I wouldn't read it, but it's not an accurate representation of what's in the book.

Another (more straightforward and simple) method of wanting to do everything is to just have a "not to do list" http://blog.close.io/not-to-do-list

YES. I absolutely, unequivocally, strongly recommend this book!
Been there, done that (over and over again).

You don't have time for everything. Therefore, you must choose what to do, but also you must choose what not to do. That is the hard part - choosing what to let go. Once you did that, the rest is (comparatively) easy.

Ideally, devote yourself to one subject and immerse yourself in it. Stay focused, refuse to do anything else. You'll have distractions, you'll doubt your choice, but don't start anything else until you finish what you've started.

If you have to do two things at the time, split your day in two. In the morning do one subject, then take a break (have a lunch, go to walk,...) Then, you study the second one. This break is important, don't jump from one subject to the next without it.

In summary, make your choice and stick to it until completion. Ignore everything else.

Yes, and in my recent experience, following the "pomodoro technique", aka "timeboxing", where you work in 25 minute sprints, with a timer set, and focus on ONE, WRITTEN DOWN task for these 25 minutes, whereafter you take a few minutes break, possibly reconsider if you continue with the same task for the next 25 minutes or choose something else, and then continue.

This can help in this paralyzed kind of state, since it is harder to keep distractions away (and keep 100% focused on one task) for 25 minutes, than for a whole day ... and in those few minutes in between, you are allowed to distract yourself for a very short time.

This worked for me like nothing else.

And to help yourself remember to do your pomodoros, you can use a tool like Beeminder[0], which can track and show you your progress towards your goal as well as act as a commitment device[1] to keep you working on goals over time.

[0] https://www.beeminder.com/ [1] http://blog.beeminder.com/akrasia/

Limiting options is a good strategy. I use a couple of others, which I always think are common sense:

1) Don't study alone. Having a group that is moving in the same direction helps create social pressure, and social pressure makes wonders.

2) Create a finish line and a deadline. They may be fictional, but they must be there. For technical subjects, an applied project is excellent. Say, if you are studying networking, try your hand at writing a protocol analyzer, or a SyncThing client. It must require the theoretical knowledge you are hoping to gain. If you can couple this with strategy (1), some amazing stuff comes out (I always remember fondly a Petri Net state machine compiler I built with four friends in three days flat).

Regarding the switching between different subjects or projects, what helped me was to quickly write down TODO notes of actions I should immediately take when picking up the subject again. For example "Finish exercise X", "Watch lecture Y" or "Run unit tests of project Z".

I found my self dive in to the subject much faster when there was no need to think about where to start.

I've found this helps as well.

Often at the end of the day I'll do a mental stack dump of where I am in various projects, including the immediate next steps, in an email and send to myself to easily jump right in the next morning.

Plus one for this. Emailing a a couple of bullet points to yourself at the end of the day so you've got a launch point the following morning really helps avoid that dangerous first 10 minutes in the morning where you sit down at the computer with a coffee and get tempted to click on to HN/reddit/whatever while your brain goes over what to do for the day.

With the list you sent yourself the night before you can dive straight in and avoid getting distracted before you've even started!

Make it visual too. I like the Kanban board for this. The "In progress" field should have a maximum of 2 or 3 items. I am using this one for free!

https://kanbanflow.com/

you can queue up lots of tasks to be done in the future. when you go to start a new task, you can compare it against everything else in the list to ensure its truly the top priority.

Does that make sense? if not, watch this 5 minute youtube video:

https://www.youtube.com/watch?v=R8dYLbJiTUE

In case you haven't heard of it, Trello is another alternative: https://trello.com/

KanbanFlow kind of looks like Trello from the '90s, but it looks like it might have a built-in pomodoro timer and some other neat features.

I'm a heavy Trello user but KanbanFlow looks interesting to me because of the swimlanes, statistics and Pomodoro integration, as you mentioned.

Does Trello have plugins/add-ons to add some of these features that have worked well for people?

Just playing devil's advocate here, your assumption is that Michael's goals are to master a topic and to gain depth. What if his primary goals are to discover new ideas that he never knew before?
You need to balance what you need to get done with your natural curiosity. Separate them out and make sure both happen.

1. Work out what material you need to cover on your required studies.

2. Break it down into shorter, manageable bits. A chapter per week, perhaps.

3. Make completion of these bits concrete, so you know you are progressing (and not just reading). Completing the exercises, perhaps.

4. Break down the bits even further, so you can plan them across days.

5. Every day at the same time, start working on these bits.

6. When you finish your bits for a day, stop working. Your reward is the rest of the day to learn about whatever you feel like, guilt-free.

1. Make a dependency chart for all your things, showing which ones depend on which other ones.

2. Mark each node with some notion of what you're getting out of it in the first place. This could range from "for the lulz" to "world domination".

3. Pick the earliest, easiest, most useful/fun thing and do it, as soon as you have the time. Do not do anything else, except possibly the next easiest, most useful/fun thing if you really feel the need to split your time. Keep on coming back to these same one or two things whenever you get the time until they are done.

4. Repeat (3) until entire dependency chart is exhausted.

The whole problem is that the dependency chart will never be exhausted. There is just too much stuff you could learn in depth if you really wanted to.
Well of course it will never be exhausted! But you will actually be making progress, and you can always weight things up or down in accordance with how near-term or long-term important they actually are to you. The principle is that you will get things done.
Hi Michael, I think you need to pick a specific goal that will make you happy and make your life better and work towards that.

We can learn, just to learn, but maybe you would be happier if what you learned had a direct impact on your life.

I studied for a while (got my PhD), but I wasn't happy with what I was doing until I was running my own company and learning what I needed to learn to make money and make my company better and make my life better.

I suffer from the same problem.

MOOCs sometimes help me because they establish a weekly rhythm of homeworks/structure.

It's OK to let things go if they are not interesting enough (I don't finish all MOOCs/books/whatever).

I've read that learning everything at once is actually more efficient than focusing on one thing at a time, even if it is harder and more confusing in the beginning.

Regular times for learning probably help. Getting away, for example to a library or cafe might help.

There is one alternative that rarely gets mentioned: you don't NEED to cover anything. I don't know of your specific circumstances, but you might consider dropping the school completely, and instead exploring anything that you're interested in, if it is viable in your case. Life is too short to spend it on what others think you need; yes, it might take longer to get to a certain level of knowledge, but on the other hand you won't waste time trying to satisfy others, so the two will pretty much cancel out in most cases.

I followed the same route, with great results -- but I never had courage to do it until I was in my forties, spending much too much time on trying to fit into other people's ideas what I can and should do.

If it's any consolation, this type of question, along with the "I start projects and get distracted by more interesting ones before I can finish them", seems like a very common problem around here. I don't have a definitive answer but what works for me is I work on an interesting project in parallel to learning about a topic. For example, if I am learning about compilers, I will think of a programming language and write a compiler for it. I usually try to pick an original project that is at least minimally useful because otherwise I lose interest quickly. If I can't come up with anything, I might just write some blog post(s) about the subject.
I'm not sure if it'll work for you, but the only way I managed to really study and master big subjects was slow and steady.

Study every day. It doesn't matter how long, how intense, how much material you cover. Just study every day. Sit down and look at the subject you need to study every day. If you get bored after ten minutes, do something else. But don't skip a day and say you'll make up for it by studying twice as long tomorrow. Just show up every day.

Write everything you want to learn on 3x5 index cards. Put each card on the floor. Organize by priority, until you have 1 card left. Throw away everything else. That's what you're working on.
Time is finite. You cannot do everything you want to do. You must throw away 99% of your "Want to do's." It's the only way you'll make real progress.
When asked what he did better than everyone else, Warren Buffet said, "Allocate resources." Your problem is that you are not good at allocating your most precious resource: time.
"The art of leadership is saying no, not saying yes. It is very easy to say yes." -- Tony Blair

You are saying yes to waaayyyy too much.

This is the first time I run into a quote I like so much from a speaker I dislike so much... I don't think I'll be able to quote him.
Then here's another quote for you: "Don't throw the baby out with the bathwater." -- Thomas Murner
Try to get rid of distracting habits (remove fb app, log out, block news sites, reddit etc...). It might be hard in the beginning and you'll catch yourself opening reddit or going to fb without thinking.

Once your brain is less addicted to distraction in general it might be able to focus on other topics for longer periods. When you can focus, you'll delve further into the topics you mentioned and have higher chances to stick with it.

Basically, you aren't getting in the zone on any of the topics you mentioned because of distractions.

Getting in the zone is what locks you down on a topic, and you aren't.

"I'm proud of the things we've done -- but I'm more proud of everything we said no to." -- Steve Jobs
Hi, Michael)

"information paralysis" Is that a problem? So, may be it is not? May be it's an opportunity) Let's solve it)

Imagine very-very big mindMap (like that, but much bigger http://3.bp.blogspot.com/-QCtHZYRX_0w/UcbhaceT4MI/AAAAAAAAAW...). Imagine, each word in there is a single knowledge. All this knowledges are ether unbounded from each other or bounded in small groups and all placed chaotically. This is how it looks right now in most of the human minds and most of the Internet. So, would it be great, if we will create website which could bring order to all this knowledges through crowd-sourcing? And each knowledge will have bunch of links to courses, books, videos etc. It will be core structure to any useful information. This is the idea. I'm thinking about this sometimes. Just an Idea. Yet.

I could share more information, if someone will be interested in this)

I'm interested , send an email @ abdelhadikhiati[at]gmail dot com
Needs some work, but you're basically proposing an Edx/Udemy/(etc)/Wikipedia/PersonalBrain mashup? Sounds interesting...
Yeah, I thought about some "wiki" structure, initially. It could collect information, but what the quality will it be? This model doesn't help. And hierarchy of editors like in wiki will not help neither. Knowledges and bonds between them are very subjective. For example, three knowledges: HTML, PHP, JS. Are they bonded? Of course, they are! But how? Which one is the parental knowldge? Which one is child?

I think about another structure

I feel like you're describing a way to visualize wiki articles as a mind-map, where the mind-map's links are weighted by the links in the wiki's page.

Wikipedia categorizes articles in such a way where you actually can tell which one is parental and which one is child.

php and js would be bonded beneath a "scripting language" category, which would be beneath a more general "programming languages" category, which would be beneath an even more general "computer languages" category, comprising "markup languages", comprising html

all the way back to philosophy ;)

http://xkcd.com/903/

I tried to categorize knowledges, it doesn't work, at least in my case. One knowledge could be in the multiple categories. So, then this is rather "tags" than "categories".

About visualization. It's impossible :) It will blow your mind if you will see the entire mindmap or at least few percents)) It will looks like this: http://blyon.com/blyon-cdn/opte/maps/static/1069646562.LGL.2...

Better way is to allow users to ask "How can I reach this knowledge?" And the answer will be displayed as quite small mindmap, which is leading user from his current situation, current knowledges to the knowledge he requested.

I agreed about philosophy as a last destination) May be it's only way) So, do you want to be the creator of the new philosophy?)

I am also interested, my twitter is @sergeyzavg
I've been looking for something like this. If I understand correctly, you're suggesting something similar to the mapping of scientific paradigm(s): http://seedmagazine.com/content/article/scientific_method_re...

From a learner's perspective, the map would be more like a route-planner, highlighting the particular paths to take to get from one point of knowledge to another - but it would presumably need to be able to account for what a learner already knows (what if, for example, a route requires the learner to acquire advanced algebra, but they don't yet have basic algebra?).

Do share more info - my email's in my profile.