Programmer lesson #3
Always focus on a single task while coding...
If you encounter any non blocking bug or additional task add it in `Do-it-later` list...
If you don't...the bug or task might take majority of crucial time which you should actually utilise for the main task at hand...

  • 0
    Yeah that's true
  • 2
    As a general rule this isn't always a good idea. Some problems are really difficult and can't be fixed easily without a different perspective. Often times what I do if hit a blocking task I will ask for advice (stackoverflow, colleague etc) and wait for a response. Until I get one I will just work on the side tasks. Usually by the time I'm done working on the side task, I've gotten my mind out of a loop and forced myself to think differently.

    Obsessively searching for the solution without mental breaks isn't very good. If you do it, what usually ends up happening is you get burned out and will end up accomplishing absolutely nothing. Just my 2 cents.
  • 1
    I personally approach the "focus on one thing" relying on notes, so that when I am inevitably pulled away (my role calls for it), I never forget where I was.

    I have DNote open in Vim, and every (most times) 2-6 minutes I write what I am doing in a single sentence that takes less than 5 seconds to write, with the timestamp. When I discover something that needs to be done, I use Taskwarrior to write it down without leaving vim/the terminal.

    So it'll be like:

    20:52:02 - Writing test for feature edge-case
    21:02:32 - Discovered other edge case, wrote todo test, continuing with edge-case

    $ t add Resolve test case project:CurrentProject

    21:12:40 - Writing test for discovered edge case
    21:23:10 - Test complete, running
    --- interruption
    22:03 - Returning from interruption. Tests all pass.
  • 1
    @jschmold That's a nice way to stay focused👍🏽
Add Comment