1
Is Critical Thinking the Most Important Skill for Software Engineers?
(blog.pragmaticengineer.com)
A community for discussion amongst professional software developers.
Posts should be relevant to those well into their careers.
For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:
I wouldn’t necessarily say it’s critical thinking as that’s too wide a term to be useful. What I would put in my top 3 skills are:
Problem decomposition allows you to take huge problems and fix them as if they’re nothing more than a few tiny issues.
You won’t learn anything after the initial knowledge required to do your job and keep on growing without being curious.
The same can be said for feedback, a lot of people attach their ego to their work. This is such a limiting factor, holding you back from improving in areas you weren’t aware of.
I like problem decomposition a lot as a discrete step. There's a huge tendency to go, I have problem A, let's just solve with it B. Many times the nuance of why A occurred, whether it's a symptom of something, and what are the different subproblems that comprise A are skipped.
This often causes solutions which don't actually solve the problem, or just mask it. That extra effort up front, leads to the proper solution, and as you said, very tactical fixes instead of huge unnecessary solutions.