by Torai on 11/16/17, 8:34 PM with 2 comments
I think that when thinking about solving a problem or proposing something new and good, generally speaking, you must have that type of personality that focuses on some global abstract understanding of things, and some visual intuition about how all variables of the problem interact.
And I see that people who excel at doing some technical job is good at focused execution. One is the wood and the other is the tree. Is it like Yoga and Power Lifting?
Yeah, there is some extraordinary people that is good at both. And one maybe can get to be great at both by proper time managing.
What are your thoughts on this?
by itamarst on 11/16/17, 9:02 PM
In general I tend to think of problem solving as having three stages:
1. Identifying the problem.
2. Coming up with a solution, what you call "ideation".
3. Implementing the solution, what you call "execution".
Each has its own set of sub-skills. Beginning software engineers usually just do #3, "senior" engineers do #2 (senior as in typical job title), and some engineers do #1. (In reality there's overlap in how you apply these skills, this is obviously a simplification, and there are other ways of thinking of this, e.g. here's a slightly different mapping: https://codewithoutrules.com/2017/10/04/technical-skills-pro...)
So I personally think of it more as progression, rather than necessarily distinct things that never appear in the same person.
In one chapter of my book (https://codewithoutrules.com/saneworkweek/) I cover some practical techniques for each stage, in order to help readers become more productive as an engineer.
by twobyfour on 11/17/17, 10:39 AM
Both do require similar time management skills, though, because they require solid blocks of time without interruption.