Person A:
Time to cut down tree : 0.5 hours
Can work for : 2 hours
Trees cut down per day : 4
Person B:
Time to cut down tree: 1 hour
Can work for: 5 hours
Trees cut down per day: 5
Person A is twice as efficient, but Person B is more effective.
It's easy to get tricked into chasing efficiency in software development.
You can spend 9 hours on a bug without progress and then solve it in 10 minutes the next morning.
This makes it tempting to believe you were just well rested & way more productive in the morning.
That may be true, but without the previous 9 hours you wouldn't have solved it.
Every minute spent working on that bug was just as useful and necessary.
Just like when freezing water, going from 99c ->98c is a just as important step as going from 1c->0c even if the all the results happen in the end.
The author of The War Of Art described his mindset at the end a workday.
It went something like this
"How many pages did i write today? Doesn't matter.
Were they any good? Doesn't matter.
If i sat down and worked then I won"
Only focusing on your input makes it easier to get to work.
You relieve your anxiety, because you no longer worry about your output.
When you're constantly working without worrying about efficiency or output then you will become more effective, and being effective is what matters in the end.
Of course every now and then you should evaluate if your work process is shit and could be changed to increase your efficiency, but the day to day mindset should be focused only on if you did the work or not.
Efficiency and output is a trap, prioritize your effectiveness and only think about your input.