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
- curiosity
- being open to feedback / criticism
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've started using it a few months ago to visualize the current and proposed architecture of some subsystems. It takes a bit of time getting used to writing it but once you get the hang of it it's a nice way to improve discussions. I'm not using Structurizr but rather PlantUML (and a C4 lib) as that integrates rather nicely with our Jira wiki.
It's a nice tool in my toolbox, especially useful when talking about the bigger parts of the system. Nothing beats drawing some boxes and lines on the whiteboard for some quick conversations though.