Concrete Thinking vs. Abstract Thinking
Facts are the only thing that matters in concrete thinking. It sees ideas as specific objects instead of a representation of that object. Children start to develop concrete thinking when they begin to have object permanence.
Concepts are used in abstract thinking to create generalizations that relate to actual objects, events, and experiences. Children start to develop abstract thinking abilities around the end of elementary school.
Abstract thinkers see the world through representations with a world view that everything relates to a generalized concept. Concrete thinkers, on the other hand, approach the world with data and facts. Concrete thinkers are drawn to detail oriented work where there is little room for interpretation, whereas abstract thinkers tend toward work that involves understanding the broader ideas.
From a coding standpoint an abstract thinker may overuse generics, interfaces, and factories while a concrete thinker will tend to repeat the same code each time it is needed.
Creative Thinking vs. Analytical Thinking
Creative thinking breaks the established rules and way things are currently done in order to come up with new and innovative ideas. It is about discovering solutions that aren’t obvious.
Analytical thinking breaks down bigger concepts into their individual parts. It looks closely at the established process in a logical, step-by-step manner.
Analytical thinkers look at the work at hand to see what needs to be done within the parameters set, whereas creative thinkers seek solutions outside of the confines of the set parameters. You’ll likely see more analytical thinkers in areas where security and stability are important. Creative thinkings have a tendency to gravitate toward newer areas or places where they can explore.
Sequential Thinking vs. Holistic Thinking
The path to sequential thinking is a step-by-step process that does not deviate from the prescribed path. It requires that the step be completed and have a response before continuing on to the next step.
Seeing the big picture is key in holistic thinking, the word holistic is defined as taking into account all aspects or the whole of a thing or person.
Sequential thinkers process information in a specific and orderly fashion. Whereas, holistic thinkers process systems of information and see the connections between clusters of thoughts and ideas. More procedural languages draw in the sequential thinkers as the structure of those languages better maps to the way they see the world. Asynchronous languages such as the object oriented languages will be more in line with the way the holistic thinkers process information.
Convergent Thinking vs. Divergent Thinking
Convergent thinking takes many disparate pieces of information, perspectives, or topics and finds the commonality in them to be able to solve a problem. It’s all about connecting the dots of data scattered in what may seem to be incomprehensible fashion.
Divergent thinking goes down all possible roads before choosing the best one for the solution. It’s about not ruling out any possibility until thought out thoroughly.
Convergent thinkers see patterns where others do not. Divergent thinkers entertain and explore solutions that no one else would have even thought about. You want your divergent thinkings in brainstorming sessions because they can quickly come up with ideas and explore their possibilities, whereas your convergent thinkers are best utilized when seeking out a bug or trying to figure out why something is working the way it does.
In the extreme, convergent thinkers discover design patterns in code while divergent thinkers write their own languages to solve a problem.
Bonus: Critical Thinking
While the previous eight types of thinking have to do with the way you process information or how you see the world, critical thinking is a skill set that you can develop. It is your ability to rationally examine information and make decisions based on that examination.
Gaining and improving on the skill of critical thinking will help you to make better decisions as you will have better information on which to base your decisions. It also enables you to move from passive learning to active learning. Just like any other skill, there will be people who have a natural talent for critical thinking. Don’t let their natural ability dissuade you from improving your skills.
Critical thinking is a process that includes several steps. These steps include:
1. Identifying the problem that needs to be solved.
2. Collecting information: data, opinions, etc.
3. Evaluation and analysis of the data.
4. Determining which pieces of information are relevant and accurate.
5. Reaching a decision or solution to the problem.