Learning FAST for Devs". The 4 Deep Days Methodology 🚀
Tags: learn, programming, language, deepwork
Published: 2019-02-07 10:43:09

---
title: Learning FAST for Devs". The 4 Deep Days Methodology 🚀
published: true
description: Learn faster a new programming language or a new tool. The FAST learning methodology
tags: learn, programming, language, deepwork
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xbycq4tnifgk4r8fnit1.png
---

1. Do some research as a “Deep Work” mode for 30 minutes without interruption in the topic you need to know more.

2. Note the best resources you found for the last 30 minutes and go deeply into the 3 very best resources you have found (it can be books, Kindle books, video tutorials). For instance, if I don't know Ruby on Rails, and I have to build a new project with it, I might go to GoRails.com (same, if I want to start learning Laravel and PHP, Laracasts.com might be a good place to start, and Egghead.io for frontend technologies).

3. Learn these resources deeply (DON’T DO ANYTHING ELSE!) for the next whole three days (with 10 minutes breaks every 50 minutes).
Let your colleagues know that you are in solo work training and cannot be reachable.
Close Slack, don't check your emails, kanban/scrum boards, etc (no exception during these three days), put your phone on “airplane mode”. 
This is very important to avoid any interruption or thinking of something else that you could have seen in your emails, on Slack, text, news app.
![Busy. Deep Work. Don't disturb](https://media.giphy.com/media/VjAB0fOmK15Ze/giphy.gif)

4. During your 10 minutes "chill out time", relax, take a cup of tea, listen to some good vibes, walk a little bit outside (without cell phones, Slack or emails!). Otherwise, you won't rest and your brain will still be actively working and you won't be as efficient as you could after your break time.

5. Depending on the topic and what you already know, it can be shorter (or longer..).
And SKIP everything you already know without exception. You need discipline at this stage. You'll see, it's worth it!
You don't need to waste time here. Just do the 20% that gives you 80% of the knowledge you just need right now for the new project.

6. Set a timer, and every 35 minutes, write down (or record yourself) what you learned (in order to see if you really work efficiently).

7. The next day, take a small project you have previously done (or a small feature you did at work) and convert it to the new technology or language you are learning. 
Remember, it doesn’t necessarily have to work if it’s a feature relying on an app, but here, the exercise is to understand the new language/technology based on something you already know well. By doing this, you will understand the new stack much more efficiently.

8. Start now a simple project from scratch with the new language. Something simple, but if possible a project that involves the usage of an API (so you also understand how to fetch remote data with the new language). 

9. When you don’t understand something, check on the official documentation or on StackOverflow and write down the solution in order to learn more efficiently.
![Accomplishment. Succeed challenges](https://media.giphy.com/media/l0Iy7zmLUiALbkna8/giphy.gif)

10. Teach what you just learned. By doing so, you will **structure, organize and reinforce the flow of information** you learned, allowing you to understand precisely better the topic and see what you haven't learned yet. Do a 30-minute tech workshop at work (e.g. with Google Slides) or to participate in a tech Meetup/event, screencast yourself coding a part of the new project while commenting on what you do (no pressure, you don't necessarily have to share it or publish it on Youtube), publish a Medium/Dev.to post, etc.
> *If you can't explain it simply, you don't understand it well enough.*
> 
> *Albert Einstein*


![Teach what you learn in order to remember more efficiently](https://media.giphy.com/media/3ohc10nduj1irsuzgA/giphy.gif)


And you? If you have been asked to build a new app or API with a new language, framework or skill set you have never used before, what learning tricks would you use to be good and efficient at it in just a matter of days...! Share them here with the wonderful Dev.to's community! 😊🎉