November 23, 2024

Critical thinking

Hello there! Long time, no article. I was caught up with a project deadline for some time and I pushed hard to accomplish it!

During this time, I wondered what helped us deliver with success such a complicated project: is it team work, is it good collaboration or is it something characteristic to each team member? I somehow realized that critical thinking was very important for the success of this project. So let’s find out more about critical thinking.

General definition

Critical thinking is the process of analyzing and evaluating the quality of ideas, theories and concepts in order to produce efficient results, deliver value and become a team player inside your organization. It involves reflecting on and interpreting data, drawing warranted conclusions and recognizing ill-defined assumptions. It’s what managers do when they think clearly and purposefully.

Uses of critical thinking

Critical does not mean disapproval or being negative. There are many positive uses of critical thinking, for instance testing a hypothesis, proving a proposition or evaluating a concept, theory or argument. Critical thinking can occur whenever people weigh up evidence and make a judgement, solve a problem or reach a decision. The aim is to come to well-reassured conclusions and solutions to test them against relevant criteria and standards.

Example scenario

Let’s say that you as experienced developer are required to make an audit for an app. The client wants a bigger functionality to be coded and you need to determine if it’s worth to refactor parts of the application to integrate it or not. How do you approach this? I always recommend to start with data gathering. It’ll allow you to better understand the requirements and setup the battle ground. Useful things to do (you are not limited to these only):

  1. Study the app source code
  2. Get more info about the new functionality (things like complexity, number of users, business logic etc.)
  3. What resources is the app currently consuming. Do you need more space, more CPU power or more scale?

After you gather all this data, you’ll need to prepare 2 (or more depending on your case) scenarios:

  1. Develop functionality without code refactoring
  2. Refactor the code and proceed with the functionality after

If you go for the first scenario, what problems you may have in the future? Will the app be stable? Will it sustain a bigger load?

If you go for scenario number 2, you need to estimate the work needed for refactoring, know how many people should be involved, the impact of refactoring and so on.

The next challenging part is to prepare all these findings in an audit report that is understandable and can be presented to the beneficiary. Prepare for any questions the might have. Ultimately, it’s up to them to decide which solution they pick. This will depend on many factors, such as budget, vision, business requirements or urgency.

Conclusion

There you go, I brought to your attention a few details about critical thinking. a process that is not always understood by people. Should you have any questions, please let me know.

Thanks for reading, I hope you found this article useful and interesting. If you have any suggestions don’t hesitate to contact me. If you found my content useful please consider a small donation. Any support is greatly appreciated! Cheers  😉

afivan

Enthusiast adventurer, software developer with a high sense of creativity, discipline and achievement. I like to travel, I like music and outdoor sports. Because I have a broken ligament, I prefer safer activities like running or biking. In a couple of years, my ambition is to become a good technical lead with entrepreneurial mindset. From a personal point of view, I’d like to establish my own family, so I’ll have lots of things to do, there’s never time to get bored 😂

View all posts by afivan →