Level 4: Productivity Handbook for Software Engineers

Productivity Handbook for Software Engineers

Manage your attention not your time

The new economy requires you to have 2 core abilities

  • The ability to quickly master hard things

  • The ability to produce at an elite level, in terms of both quality and speed

  • Deep Work

What I do to manage my attention

  1. My first 3-5 hours in the morning either at work/weekend days I specifically dedicate it for deep work for personal/professional growth

    1. No social media

    2. Clearing my space and my surrounding from any distraction

    3. Solving the problem at hand

  2. I go for multiple walks as time-break

  3. A great performance to reach is : 6 hours/day of focus on researching, designing, and shipping code, next 2-3 hours for meetings, breaks…

  4. Maintenance day: I batch many tasks and do it in one day, things like cleaning my car, buying needed items, or fixing something at my home all of it happens in a single day. Interruption in the middle of the day is the enemy of deep work

  5. I know what I’m going to learn or research for my next week before the week starts, thinking of what I want to learn at the middle of the week is a slow and a distracting process

Learning

Learning totally new subject

  1. Learn it only on the weekends, specially mornings are perfect for digging deep into a subject,

πŸ’‘ Attention residue: you have limited attention for your day, there is couple of studies that indicate you can increase it a little bit, but generally it’s limited. So at the end of the day is not a good way to stat a heavy subject

  1. Taking notes to build a mental model 🧠

  2. Using tools such as

    1. Miro or Whimsical for mind maps

    2. Notion pages to bookmark related pages to the subject πŸ”–

    3. My iPad to draw diagrams and summaries of the most important information 〰️

Your are familiar with the subject and wants to improve your knowledge

  1. You can learn it part of your day job, or at night: The mental model of what this technology is for, how to use it and so on is there, you can improve and maintain your knowledge at low-focus mode 🎴

  2. Levels of understanding:

    1. Basics: Try to create something as fast as possible

      1. Did you learn the basics very well? πŸ€”

      2. Did you implement many through-away prototypes ? πŸ’»

    2. Intermediate:

      1. Build a mind map of what you learned so far πŸ—ΊοΈ

      2. Explain it to yourself, once you noticed a gap of how you articulated a topic, put a todo to learn it be βœ…

      3. Try to improve it with time, as if you are building a game of Legos, and the Legos are the topics

    3. Advanced:

      1. Start learning about motivations behind this technology, why does it exist, what is the history of solutions that comes before it

      2. Best practices and conventions

      3. Use cases and engineering teams experiences about it (engineering blogs are extremely helpful in this context)

How I use Notion 🏑

Life Wiki for monthly planning

  1. Life: General improvement guidelines

  2. Growth: Reading list

  3. The Week ahead: each week I update and maintain the month list (Levels by importance)

PR Checklist πŸš€

Before submitting a PR, I check a checklist page with all of needed items to be checked (read the checklist manifesto book if you are interested)

Other apps that I use

  1. Manage my tab better with Alt-tab

AltTab

  1. Search better with Alfred πŸ”

    Alfred - Productivity App for macOS

Software Engineers ⚑

How I use Fig

Command line tools

Develop on the cloud

Last updated