Ask HN: How do you manage multiple learning projects?
I have a lot of learning projects in the pipeline, and selected three for this season (3-6 months.) I don’t aim to master them; I just want to have a good (non-superficial) understanding of the overall picture, and to be moderately proficient in applying the principles/tools.
For background, the projects are art (moderately skilled), data science (only interested in foundation/background level) and reading (practise covering as much as possible, without sacrificing thoughtfulness.) There is also a new language but I’m keeping that very light (radio and penpal exchanges only.)
Even though they are meant to be recreational, and I have learning strategies for each of them, I sometimes struggle to juggle between them. I also have other commitments (I would say the ratio of commitment:recreational is 60:40). It’s a bit frustrating and I feel that it’s more of a personal flaw, as I know that many others have even less recreational time, yet successfully diligent with their learning projects. (I don’t beat myself too much though, haha)
So, I am interested to hear about your learning projects, how you manage them without losing your sanity, and how you maximise short time periods. Plus your own tips for learning. Thanks :)
80 comments
[ 3.4 ms ] story [ 154 ms ] threadI use it with the pomotodo app: https://pomotodo.com/
Give it an earnest try for ~3days, I'll bet you're addicted by the end of it.
[1] https://www.youtube.com/watch?v=LPC9zPnmXRk
For example, one of my goals was to write a technical book. I did not achieve it because I realized that the goal didn't fit me at that point in life. It wasn't a total loss because I learned a lot from the experience.
Another goal was to release more open source code in a six month period. This is something I did by releasing three different projects. That goal also taught me a lot of valuable info that I can apply in the future.
The beauty of this approach is that you dont have to focus too hard. Having 6 months means you can still enjoy life. It also allows you to pick your goals well (organize them).
Say you want to learn a natural language, learn ML, and go to Japan. Rather than try and do everything as soon as possible, you'd proritize which you want to do first knowing that the others will also get done. You can now organize the goals using whatever metric you want. Which is liberating because there no longer is any pressure related to missing out. If a given goal doesnt workout, all you have to do is wait until the next 6 month period arrives to move forward. This also provides the benefit of using the time between bigger goals to try new things and not feel like you are wasting time.
Let's say you're interested in, Machine Learning, Embedded Programming and VR, but you know nothing of any of them.
Really it goes beyond interest, we're not merely interested, we want outcomes. In 6 months time, I want to be able to make a nice computer vision project etc.
Let's say your estimates for how long each subtopic takes are 100% correct. A subtopic in itself, however, may not be very useful. It may be that you need to study perhaps 5 or 6 subtopics consecutively to be able to actually make something, or do something, or properly reason about something.
Then we split your focus over three major topics - given that it takes 5 or 6 subtopics to do something useful, you find yourself in a position where you're doing quite a bit of time management, quite a lot of studying, but you're not actually able to do anything for a long time. That knowledge you're building is just there, not actually useful or satisfying.
With this kind of self study, it's a bit like dieting or exercise. If you don't enjoy it, eventually, you'll stop. It might not be tomorrow, it might not be next week, but eventually, people will tend to just drop it if it's not satisfying.
Learning is hard, but I don't think it's hard in the way that topics are complex, I think it's hard emotionally, because it's kind of tough being 'not good' at something, especially if you're good at similar things. It only gets harder the longer you sit in that 'not good' zone and splitting your focus forces you to sit in that zone for longer.
That said, sometimes you're in a situation where having the ideal level of focus isn't possible - I certainly am in that situation. In which case, prioritisation helps manage learning. But at least one of the learning projects has to be progressing quickly, for me.
To learn it you have to try writing it yourself, then checking it against the source to make sure you didn't miss anything or make errors. Once you can discuss an idea fully and correctly, then you've learned it.
https://workflowy.com/s/E9HW.jGUYboLrGj
Maybe it's just me but every time I try do more than a few things at once, even if they are fun (programming, book or many books, language learning, deep dive into a director's films, and even stuff like long story-heavy video games) I end up making very slow progress, not retaining much, and feel "stressed" about time management.
My solution was to do less and allot more time to relaxing. Nothing bad's going to happen if I push some of my lower priority projects to a later date when I am done with others. I do work full time and have a fairly active social life so I may have less time than you. What I learned I personally a) do not have time/energy for more than two projects at the same time b) cannot last more than a few weeks being "productive" 24/7 - I need non-sleep relax time.
--
For a more concrete answer - make a schedule and realistic goals. Looks like reading and data science and fit into a schedule of at least an hour a day (never more than every other day) in which you can make progress. Try to make a schedule and stick to it - once you have a routine it's easy. Not sure what the art one is, but if it's more about creativity than raw practice you can wait till you feel inspired to make something and clear out some time. Do give yourself time to relax though.
I had trouble keeping focus on one project, because I feared missing out on the other things I wanted to do. In the end I not only overworked myself but in retrospect had no long lasting contributions I would still feel proud of. For me it worked to reduce the amount of projects I'm involved with and then make big and useful progress. And to guard some time off to just do nothing (which in fact is time for the brain to reflect and should be taken very seriously regarding mental health).
I have a different problem, not just it is difficult to study simultaneous subjects, but due to family or professional duties, sometimes I spent sometime without studying it I feel that I forget a lot of stuff. Anki helps me stay sharp and space more my study sessions.
I always found myself spending a lot of time trying to find the 'best' resources to learn a thing or sometimes even researching what learning a thing even means. So I decided to build a tool that helps visualise these learning tracks for any topic you want to learn about.
Perhaps you've seen this popular repository for learning Web and Mobile Development (https://github.com/kamranahmedse/developer-roadmap). This is very similar, but interactive and for every topic.
It's also Open Source and we often stream the development of it.
[Website] : https://learn-anything.xyz/
[Code] : https://github.com/learn-anything/learn-anything
[Stream] : https://go.twitch.tv/nglgzz
And I understand your concern with a learning path being a personal thing and something that is quite helpful to make yourself. However this website will very soon be completely open to the community and thus anyone will have a say in what they they think the best path for learning some topic is.
The code might prove useful to a passerby, or it may not. To me it doesn't matter too much - no real downside to just "putting it out there"
My motto is basically: Feel free to rm -rf, git push, or even go as far as to make a fancy landing page. Just have fun and don't forget to share whatever you learn.
[1]: https://github.com/jdan/ocaml-micro
[2]: https://github.com/jdan/ocaml-data-structures
[3]: https://github.com/jdan/ocaml-calculator-game
[4]: https://github.com/jdan/ocaml-web-framework
So I pretty much just wing it, and when I get a wave of motivation for something (compilers, frontend tech, blah blah blah) I just ride it. When I don't, I try not to fret too much.
[1]: https://gitlab.com/iron-oxide
Consider doing less. If you are working a full time job, then depending on exactly how serious you are, 3 learning projects is likely overkill. (But I tend to do the same thing myself.)
Pick the resources you'll use in advance. I've generally had a negative opinion about video lectures, preferring books, but I've somewhat changed my thoughts lately. In particular it's nice to be able to follow a course as it was taught at a serious university, with a syllabus and schedule all laid out for you.
Set a weekly schedule in advance. Something like, M/F I'll watch a data science lecture and Tu/Th I'll do art. Whatever. Include a planned endpoint: by this date I will be finished with the 9 chapters of this book I plan to cover.
Each evening, write a brief journal entry about what you accomplished that day. Also write out a schedule for the next day. I like to put at the top of my daily schedule a list of the major tasks I want to accomplish that day, and then also a couple "extras", which are things I can work on if I turn out to have extra time. The extras can be large or small, but it's nice if you have a small one because you can cram it in wherever you have free time. Even something like "Problem 12.3 from this textbook, which I couldn't figure out last week". If you randomly turn out to have 10 minutes free, well pull out your notebook and think about that problem for 10 minutes.
(By the way, I know an eminent mathematician, one of the few who has done serious work in multiple fields, who says one of the attributes that has helped him the most is his ability to efficiently context switch and get serious work done throughout the day. If he has a random 18 minutes free, he is going to make 18 minutes' worth of progress on a research project.)
Jerry Seinfeld's "Don't break the chain" idea is nice.
As far as tips for learning: engage and fight with the material, do projects incorporating what you're learning, make connections to other things you know. Incorporate reviews of earlier chapters/lectures, rather than just continually charging ahead. There's a bunch of resources for how to learn (see for instance those mentioned in this HN thread [1]), which I think are good ideas, although honestly I have only haphazardly incorporated these techniques.
A major thing I haven't really figured out is maintaining / reviewing. I can personally attest to the fact that it is literally possible to be an expert in a subject one day, and less than a year later struggle to remember elementary knowledge that every beginning student learns. Maybe there is no perfect solution to this problem, but maybe it's possible to come up with some review schedule that helps more than "every now and then I randomly go back and look at a book I once read."
[1] https://news.ycombinator.com/item?id=13297250
> one of the attributes that has helped him the most is his ability to efficiently context switch and get serious work done throughout the day.
> A major thing I haven't really figured out is maintaining / reviewing
These two are particularly interesting for me. I find that switching between tasks is the most stressful, where I feel overwhelmed most often. And that of course wastes time too.
I also find that even though I was productive, its also easy to forget what I learnt. Which makes it wasteful too. I try to keep a learning journal but this itself can take time because I tend to muse - perhaps this is where I should focus on making it more efficient
He has officially stated that the X was not his idea:
https://www.reddit.com/r/IAmA/comments/1ujvrg/jerry_seinfeld...
For example, I have wanted to learn Sanskrit for some time. Rather than pick up a book and work through it yet again, I enrolled in two correspondence courses that gives out certifications. I also have classes roughly once a week with an online tutor.
Similarly for Mathematics and Physics, I am preparing for and plan to write a nation-wide exam meant for MSc/BSc students in India as a minimum validation of my knowledge. I am also doing a correspondence course in BSc Physics/Maths from an accredited (in India) distance learning institution. Their assignments and exams, while easy, provide a basic timeline for my progress.
For Machine Learning and AI, I have completed several courses on Coursera and edX, but I found that even though I earned high grades in many of these courses, my grasp of topics - especially the theoretical side - wasn't satisfactory. I am re-doing some of those courses again, and intend to work through a standard text or two for the ideas to truly take root, but we'll see.
I am also interested in philosophy - both Indian and Western - and have read some material on it over the years, but I don't know what milestones are suited for it. I have considered writing up reviews of fields (such as ethics or epistemology) as a summary of my own understanding, but right now I don't have the bandwidth for this.
This was in addition to several other learning projects, such as Karnatic music and functional programming. For Karnatic music, I had a weekly session with a music tutor, and for functional programming, I forced myself for a while to commit programming exercises to github. I later quit both these projects to make room for the other learning projects.
I think flow and planning are on opposite ends of an uncertainty principle. The more in-flow you are the less you need a plan, and the more you plan the harder it is to get into flow.
Sometimes I fall deeply into a subject I had no real interest in previously. And I have many projects I would like to work on but never seem to have the time for. So be it. A good life is lived beyond measure.
As I've gotten older and taken on more and more-complex work, planning has taken increasing importance.
I always remind myself "15 minutes a day is better than an hour every three days". But in order to prevent getting over-stressed about time and how quickly you're learning, you have to put your ego aside and simply stick to a schedule of learning a little bit of each subject every day.
That means limiting yourself when you want to go on a binge just as much as it means making time to get your 15 minutes in. Three days of binging on a subject can start to build pressure that you should maintain that level, and that's not sustainable.
Small amounts of new knowledge, every day, until you've hit your goal.
No matter how old you are, you still have plenty of time to take things slow.
15 minutes per subject per day is a bit controversial for me though, as when I get into the swing of things, I work really hard. But I’ve never thought about this affecting momentum, perhaps my getting overwhelmed is actually a sign of burnout
I think that building up strong habits around what you are working on makes it easy to maintain momentus.
I also agreee that even small increments of time can incredibly productive, like listening to an audiobook during a 15 minute commute.
It provides just enough information to interest you in a subject, then offers a few common theories with a reasoned most likely case (this is especially prevelant in the beginning of the book due to the lack of information available about humanity tens of thousands of years ago). Most of the assumptions made though are not the author's and there are references in the Notes section at the back if you do want to pursue these further.
Actually I followed that motto to build https://everydaycheck.com which is actually about that, to work on goals every day. One of the tricks I always share is to quantify the daily milestone, like "15 minutes of learning js" or "run 3km"
Thanks so much for pointing this out!
CHUNKING
My self-learning approach is chunking subject into 1-2 week blocks. Rarely less than 1-week, never more than 1-month. It’s a cyclical process that I use to give my brain time to consolidate new knowledge.
UNDERSTAND THE BIG PICTURE
When learning a new subject, I always spend my first 2 chunk sessions to understand the big picture, and in later sessions I learn the details through deliberate practice. What I mean by big picture is when you commit time to read a book, or watch a video (@1.5x), you don’t need to read in a linear order, or watch every single minute of the video. Don’t read/watch any content with “learn ABC in less than X time” in the title. The goal is to learn best practices from experts. Only challenge the status quo once you have gained the discipline.
DATA SCIENCE (2weeks)
So in your case, spend 2 weeks learning Data Science: pickup a Wes Mickiney book on Python Data Science, or find a GitHub repository with great contributors sharing their work to help you. If you get stuck on transforming your DataFrame into Matplotlib or Seaborne, stop. Go work on your art project, or in this case, let’s read.
LITERATURE (1week)
For reading - read Strunk and White or William Zinsser if you want to improve your writing. Read Walden, Gatsby, or 1984, if you want to see thoughtfulness in writing. I rarely finish an entire book because I’m more interested in the themes and proses than every details because I have limited memory and I want to ready many books. (1 week)
FOREIGN LANGUAGE (1week)
Now spend the last week writing to your foreign pen pal. Let’s say if it’s in Japanese, learn the hiragana, which is quite easy since all the sounds are romanized, and afterwards you can use the Japanese dictionary, instead of Google translate, to write your letters.
MOST IMPORTANT STEP
Repeat. Repeat. Repeat. (Method: Deliberate Practice)
You'll most certainly meet some asshole who tells his nonchalant story about mastering Machine Learning in a month, right after you just told your 3-year Data Science journey. Give the guy a cookie, and call Alexa--who responds “I was born knowing Machine Learning”. The point is filter out the noises, because a few will really make you doubt, but I recommend reading what you wrote and understand that you are curious to learn and don't let other discourage you.
I am going to try chunking by week and see how that goes. Maybe the switching costs felt too high because I was doing small chunks of everything in timeframes that are too small.
> Big Picture first, then the details through practice
> Only challenge the status quo when gained sufficient knowledge of domain
> Strunk and White etc, and don’t have to finish books
> Repeat everything, consistently
> Don’t let others discourage
Gotcha.
About data science, I’m starting from rock bottom i.e. basic stats to overcome an old prejudice, and psychology to start thinking in statistics (thanks Kahneman.) And thank you again!
Best of luck!
I just have one tech side project. It'll take as long as it takes. I now try to use similar tech as I do at work for expediency and to help with my job.
My non tech project is losing weight. I've made the process as lean as possible. No cardio just weights and eating less for now.
So I guess my answer is focus on few things and ruthlessly optimise.
Edit: faceless downvotes? How about some actual discussion?
(I didn’t downvote you)
And when I say audiobook, that includes MOOCs and other recorded lectures, you can access a wealth of free, university level material online if you want to move past popular science audiobooks or Teaching Company lessons (not that they aren't great).
For thay reason, this approach is limited but highly valuable. I’ll explain how I do it.
Most programming material acn’t be learned this way, but programming podcasts are good for learning about what to learn and for learning methodoloy! I have been listening to the ‘Test & Code’ podcast lately and, especially for a novice Python programmer, this podcast has a lot of this type of knowledge.
I try to avoid podcasts of news and gossip because I do enough of that and more efficiently on HN.
Lectures interspersed with visuals are basically not doable. You’ll find yourself interrupted and distracted from the central activity (commuting, chores) and you lose flow.
Probably the best use I have found for this is for spending time in “hobby topics”. This lets me sort of outsource the effort I spend with my hobby topics to when i am doing other things, preventing the hobby topics from intruding on productivity.
I love media theory, history and philosophy and these things can be discussed with no visuals, and there are many great lectures and academic courses available. This stuff often even informs the creative areas of my job.
My favorite hobby topic is art history but having to stop what I’m doing to reference a visual work is too distracting :(.
Generally speaking, except for aubjects such as history I don’t think it can be used as the sole approach to learning, but many cases I think it can be a useful part. You’ll need to hear things more than once anyway!
Now I have them paying for an online MS and I have no time for any other projects, as much as I'd like to.
Something I found when I did have time for side projects (and which I now employ for some schoolwork), is that it was immensely helpful to have milestones. I do this when I'm programming an intimidating program, too.
I start by taking a tiny piece that can technically run on its own. Then I write and debug until that piece works and I can add on another piece. By seeing the thing actually working as I go, it keeps me motivated and focused on the next small step rather than getting overwhelmed by the overall project.
Debugging as I go also keeps the defects at any given time at a manageable number, which probably has applications in other places as well (such as regularly practicing a language to weed out bad pronunciation habits early or what-have-you).
“Never half ass two things. Whole ass one thing.”
And good luck with your learning projects! So humbling to see that many of you make learning literally lifelong :)
https://getbalanceapp.com