fmgono / my-blog-posts

cms for blog
0 stars 0 forks source link

Top 5 of Critical Thinking 💡 for Software Engineer #6

Open fmgono opened 2 years ago

fmgono commented 2 years ago

Critical thinking is one of the powerful skill that we should have as software engineer. Because it will make our process more easier and clearer when we do the job.

What is Critical Thinking

Critical thinking is skill that will allow us to analyzing facts and understand a problem or topic thoroughly. To put it simply, critical thinking helps people look closely at the information in front of us and use it to make a logical decision.

Why is it Important ?

Essentially, the core of any developer's job relies on the ability to solve problems as they arise, and critical thinking skills make that possible, including :

  1. Make the right decision
  2. Minimize misperception
  3. Able to communicate better
  4. Understanding other perspective

5 Kinds of Critical Thinking

Based on indeed.com, there are 5 common and impactful critical thinking skills :

1. Observation

In short, is a skill where when we get a problem, we use the data around us or even our experience to find out the cause of the problem to come up with a hypothesis and predict a possible solution.

An example given, we found out that the API return the value that is not as we expected, and we don't know what the cause of this.

First step is gather information about this, ask your coworkers, is this often happen ? or just in some condition ? That way, we can see a list of possible causes, and we can predict the solution.

2. Analysis

Simply is a skill that when we already gather the information, we can choose / determine which data / information is relevant (based on or close to the facts).

Back to our example before, after we did some observation, we gather a lot of information, and now our job is to evaluate which of the possible causes that is fact or close to the fact. And then ask more deeply about the possible causes.

3. Inference

It's a skill to drawing conclusions based on relevant data, information and personal knowledge and experience.

This will be effective for us to do if we are still not sure about the information we collect. So we try to make a conclusion based on the information we currently get, and ask other people's opinion regarding this conclusion. In this way, we can be more certain of the possible causes and create a solution that is nearly effective.

4. Communication

What happens if we have collected data, analyzed the data, and made the conclusions we got, but because of the way we convey the information that is not good, other people must have less difficulty to understand what we really want to talk about.

Communication is an equally important skill. Everything we think will be of no use if we are less able to communicate it to others. Communication is not just us talking to other people, but listening to others is also part of communication.

5. Decision making

After all the steps we have done, now it's time to choose the effective solution that we have. it required a decision-making skill, which is a skill to making a choice with all of options that we have to get the results that give the best possible impact.

Summary

Critical thinking is very important in all fields of work, especially us as developers.

Critical thinking allows us to provide solutions that are more (or closer to) effective and minimize misperceptions. Critical thinking is also not an innate talent, which means that we can learn a lot.

References

  1. Indeed.com
  2. Switchup.org