I was asked what are some of the techniques I use to be productive. I found that the most impactful one has been intentional repetition.

When I want to develop a new skill, it looks roughly like this:

  • The first time, I do a lot of research into what's the absolute best way to do it and focus 100% of my energy on it.
  • For the next while, I use every opportunity I get to work on that skill.
  • At some point I "mastered" the skill and can do it on the side as it takes me a lot less time. I'm also starting to delegate by growing other people to do it.

Here's a concrete example:

  • When I said yes to organize the first React Conf, I read everything I could about how to organize conferences. It basically took me 3 months full time. I did nothing else during that time.
  • Then, for the next few years I jumped on every opportunity to organize large tech events, I helped with React Europe, the second React Conf, many internal All Hands and Summits... Each of them taking less and less time.
  • Nowadays, I am able to organize those kind of events by building a team of people that are going to execute on it.

I've used intentional repetition many times over the years, here are some examples:

  • In high school, I was this kid that instead of doing the one exercise that was asked, did all the exercises of the entire page to understand the pattern.
  • Working on prettier, I would try to estimate how long it'd take me to fix an edge case (which there was hundreds to tackle). At first it started in the hour range and towards the end it would take in the 10 minutes range.
  • Going through the open source process with React, Flow, Jest, React Native, Prettier, Excalidraw, Recoil...
  • Public speaking, at first I would spend 2 weeks full time preparing for every single talk.
  • More recently, I started playing Valorant, a FPS game that heavily punishes being imprecise. So I trained moving the mouse first to aim and then clicking, instead of clicking and then moving.
  • Cleaning the playroom at the end of each day.

My overall strategy has been to develop one skill at a time using intentional repetition. This worked well except for one time: when I switched to being a manager a year ago. I had to learn a ton of new skills all at once (how to run meetings, 1-1s, career development, planning, exec reviews...) and was overwhelmed.

If you liked this article, you might be interested in my Twitter feed as well.

Related Posts

  • February 27, 2024 12 Years at Meta (4)
    I've been at this company for 12 years today and it feels like a good time to reflect on all the projects I've been involved in! I found out over time that the projects where I thrive are spaces where the R&D phase is over and the tech now works but it needs to be turned into a […]
  • October 5, 2011 Javascript Presentation (1)
    The talk is over. Check out the Slides & Video. For several months now I've been surveying my friends and teachers at EPITA and I came to the conclusion that they have absolutly no idea what Javascript really is. In order to help them discover a language that is getting a lot of […]
  • August 27, 2011 Start a technical blog, it’s worth it! (4)
    Lately, I've been advocating to all my student friends to start a blog. Here's an article with the most common questions answered :) What are the benefits? Being known as an expert. The majority of my blog posts are about advanced Javascript topics. As a result, I'm being tagged as […]
  • December 24, 2023 Pokemon Red/Blue Map (3)
    I randomly stumbled upon Peter Hajas rendering of Pallet Town and got super excited. I played Pokemon Red/Blue when it was released as a kid and played it again with my daughter when she was the same age. This game is really awesome and stood the test of time. But, I've been very […]
  • January 15, 2020 Reflections on Excalidraw (9)
    On January 1st I started building a little tool that lets you create diagrams that look like they are hand-written. That whole project exploded and in two weeks it got 12k unique active users, 1.5k stars on github and 26 contributors on github (who produced real code, we don't have any […]