Chasing ideas
When working on complex tasks related to knowledge disciplines like software development, our brain works in a way that really makes us find ourselves running and reacting right behind it like chasers.
Given that providing a software development solution requires a great amount of technical rules and knowledge applied to a specific solution, taking into account possible scenarios/use cases/logic paths and a big amount of creativity on the solution design, we usually use a huge portion of our attention on this, which requires a total control on our concentration.
Trying to think of what I think and do when working on a problem solution, I can enlist some of the ideas and activities that pop up during the process:
Given that providing a software development solution requires a great amount of technical rules and knowledge applied to a specific solution, taking into account possible scenarios/use cases/logic paths and a big amount of creativity on the solution design, we usually use a huge portion of our attention on this, which requires a total control on our concentration.
Trying to think of what I think and do when working on a problem solution, I can enlist some of the ideas and activities that pop up during the process:
- listen/read the problem (or both)
- try to understand the expected/desired/possible result
- think of technical alternatives
- think of the right tool to solve the problem
- understand if I need to investigate new tools
- make quick searches on the internet
- think of other similar problems from the past
- sketch some drafts in paper
- think of a person who would know about the topic
- go back to the original problem
- think of a possible alternate high level solution,
- assess the cost/effort of that solution...
It's really interesting to see how a quick interruption in a task that requires our complete attention and concentration can make our previous efforts completely useless and turn them into wasted time. Exactly the same consequence is obtained when working with the incorrect tools, tools we are not familiar with or slow ones.
Imagine the following scenario based on the list above:
Imagine the following scenario based on the list above:
- listen/read the problem (or both).
- I can barely hear, there's a lot of noise in the call/office. Let's start again.
- try to understand the expected/desired/possible result.
- think of technical alternatives.
- think of the right tool to solve the problem
- but we can't use it, we need another alternative
- understand if I need to investigate new tools
- make quick searches on the internet.
- Oh, my internet connection is really slow.
- think of other similar problems from the past
- sketch some drafts in paper.
- phone call... blah blah.... end call. "what I was doing?" back to start.
- think of a person who would know about the topic
- call the guy. Oh, he's not there... ok, let's wait until his back and do something else in the meantime.
- go back to the original problem
- think of a possible alternate high level solution,
- SMS/Whatsapp/facebook/... hm... what I was thinking of?
- assess the cost/effort of that solution...