That is a deep well to dive down. It's similar to the feeling I get when I am procrastinating on the weekends - I want to be 'productive' which in that case means spending some time playing one of the games I have going.
The feeling of "I could be using my time better".
The main difference here, specifically, is that the game has a well defined set of constraints. It is a limited environment with a known correct solution; it has an achievable goal.
There are well defined and measurable metrics, and you quickly learn systematic methods to improve your results with respect to those metrics.
Furthermore, the ability to achieve the goals and improve your stats is entirely within your own control.
Unfortunately, the real world is a mess of subtle complexity. Sometimes not so subtle!
Constraints are poorly defined if at all. Often there is no 'known correct' solution, because most of the time there isn't a well defined problem. Bug reports are a good counterexample to this, however.
Often the metrics aren't defined at all, or different people measure them in different ways. Most of the metrics people care about won't be measured automatically, and you have a limited ability to directly incrementally improve them.
Lastly, your ability to make any impact at all is almost always dependent on other people working with you to that end.
There have been lots of attempts to 'gameify' real-world code development; I wish the world weren't so complex. Sometimes I wish I didn't have that nagging in the back of my head that I could be spending my time better, but to be fair it's probably the one thing that keeps me from getting bored!
The feeling of "I could be using my time better".
The main difference here, specifically, is that the game has a well defined set of constraints. It is a limited environment with a known correct solution; it has an achievable goal.
There are well defined and measurable metrics, and you quickly learn systematic methods to improve your results with respect to those metrics.
Furthermore, the ability to achieve the goals and improve your stats is entirely within your own control.
Unfortunately, the real world is a mess of subtle complexity. Sometimes not so subtle!
Constraints are poorly defined if at all. Often there is no 'known correct' solution, because most of the time there isn't a well defined problem. Bug reports are a good counterexample to this, however.
Often the metrics aren't defined at all, or different people measure them in different ways. Most of the metrics people care about won't be measured automatically, and you have a limited ability to directly incrementally improve them.
Lastly, your ability to make any impact at all is almost always dependent on other people working with you to that end.
There have been lots of attempts to 'gameify' real-world code development; I wish the world weren't so complex. Sometimes I wish I didn't have that nagging in the back of my head that I could be spending my time better, but to be fair it's probably the one thing that keeps me from getting bored!