I used to be the type who asked a lot of questions until I realized that formulating the question was often more important than getting the answer.
But once you’ve put in some substantial effort, taking a break and a walk (or a sleep) is often the critical last step.
Rubber ducks don't ask questions.
I can't keep track how many times I has an idea that got me unstuck while peeing in the bathroom.
The weird part? I have a strong feeling that more and more often (luckily not too often yet) my request seems to be considered outright hostile and it causes significant irritation. I wonder if anyone else has noted the same or am I just getting old and grumpy...
Half of the drafts I write do not end up as published questions, just because the writing process itself is often helpful in figuring out what ever problem I have with my code.
However, I think that the Decision Matrix idea is too complicated: specifically the part where he advocates adding a weighting to each factor being considered to arrive at a numerical score.
At Microsoft, some of us use a system that I like to call the "Abolade decision making framework." It's the same idea, but instead of assigning weights to factors, we simply rank them. Additionally, the factors are expressed as positive attributes and an option either has that factor or it doesn't. A factor could be "Has vibrant colors" or it could be "Less than $10" for example. The type of a factor is Boolean :)
The goal is to generate a table with the options presented as columns and the factors presented as rows. You spend a lot of time as a group figuring out what the factors are, and then you spend a lot of time ranking them. Once you have agreement, you start working on the options. The winning option is one where you have the longest continuous line of check marks for each factor starting from the top.
Smart people, of course will try to game this system to choose their preferred outcome ... you need to be vigilant about this :)
> Additionally, the factors are expressed as positive attributes and an option either has that factor or it doesn't.
This is very intuitive for binary decisions, where the "pros" of one option are the "cons" of the other. How do you scale it to multiple options though? (e.g. if I am deciding between internet providers, speed is clearly an important factor, but I may have 3 options with low/medium/high speed respectively)
There is a summary of the book here https://www.ethos3.com/books/thinkertoys-a-handbook-of-creat...
https://www.amazon.com/Thinkers-Toolkit-Powerful-Techniques-...
The system is well developed and quite sophisticated with a variety of techniques and approaches. I found this book to be a good introduction: https://www.wiley.com/en-us/TRIZ+for+Engineers%3A+Enabling+I...
Something I feel like is missing: Statecharts. Very powerful to be able to reason about state changes without having to deal with the explosion of states that state machines often ends up with. Sometimes also called hierarchical state machines.
Highly recommend this book: https://www.state-machine.com/doc/PSiCC2_Excerpts.pdf
I made another comment about statecharts a while ago, listing some more resources and other comment threads on HN containing bunch of useful experience, resources and general information, starts here: https://news.ycombinator.com/item?id=22747409
Self-help is good but sometimes I wonder if people who yap about all these tools all the time even get anything substantial out of it.
Carl Gustav Jacob Jacobi was a German mathematician famous for his maxim "Invert, always invert". He believed that the solution of many hard problems can be clarified by re-expressing them in inverse form. Inversion forces new ways of thinking and helps uncover hidden solutions.
https://twitter.com/fermatslibrary/status/114459774698642227...
"Issue trees": Write your problem down "First principles": 5-whys, which you do e.g. in a post mortem "Second-order thinking": think of mid- and long-term consequences "Connection circles": side-effects
You maybe think about mental models of which there are a lot (https://fs.blog/mental-models/) and there are some cargo cults and fancy words around them.
They have their right to exist though, e.g. I really like to end a meeting early because of the law of diminishing returns. :)
some of them might be helpful in rare situations
[1]: https://medium.com/disruptive-design/search?q=tools%20for%20...
I wanted to compile a similar list of strategies myself, however I couldn't quite understand when to apply them. After some research, my view is that to understand when to apply these general thinking/problem-solving strategies, one needs to know the goal of the task and the cognitive processes involved i.e. it requires conditional knowledge which is part of metacognition.
Wonderful list though!
"You can't do much carpentry with your bare hands, and you can't do much thinking with your bare brain". — Bo Dahlbom
I think a fair amount of problem solving ability is at the boundary of the internal and external.
Of course this is imprecise scientifically, but hopefully the idea is clear.
The ones I do have are so valuable that even if I get one more effective one off this list, it will be one of the best things I do this year.
We don't live or think in abstract algebra or abstract heuristics. We live and think in a world-view in which problems arise and for each problem, we have a set of potential solutions, often unconscious.
This website has good information - it just doesn't do a good job of organizing them into a coherent narrative.
It's not enough to know what probability is, if you never think to use it to ask the question what are the chances one religion out of thousands that all claim they are the only true religion, is actually the true religion?
One of the big issues of modern society is people being taught/given disconnected bits of information, without a guide on how to fit them into a coherent narrative. This isn't done by accident and a lot of people have given it a great deal of thought - some call it post-modernism.
Another great thing about TiddlyWiki is that the content can be stored in barebones files that you can read/parse outside of TiddlyWiki, and you can also run the frontend client offline with just a single index.html, if you want to. So fits what M5x7wI3CmbEem10 pretty nicely.
So thumbs up for TiddlyWiki but it can be a bit... Tiddly to fickle with sometimes.
I use it as an outliner, to link to documents (using org-roam), and liberally sprinkle TODOs among the notes, which the agenda picks up.
Took a while to get comfortable with it, but it's totally worth it.
It supports markdown formatting, does hyperlinks pretty well (even jumping back and forth is quite nice), is as cross-compatible as Vim and stores the notes in future-proof .md files.
I suggest you give it a shot.
Another great resource for folks who like reading about these: https://fs.blog/mental-models/
I've actually read the mental models series of books put out by the above author, and I also highly recommend those for a deeper dive.
So you could try to state the problem in a very structured way (say, a spreadsheet) and at the same time in a visual way (say, a presentation slide deck). Of course some people are better using one type than the other but that's where the trick relies: forcing yourself to think in a way that is not your "natural" way of thinking.
https://archive.org/search.php?query=poor%20%20charlie%27s%2...
Also alarming is that in the example for that model QA is something that happens post-release. If so, I expect quality to be a looming iceberg.
Here's an example of how that can be applied to tech decisions: https://nickjanetakis.com/blog/would-socrates-use-docker-tod...
VSCode has a nice plugin for it. And so does a few other editors.
It’s simple, and easy to use. Pure text, and allows you to do some formatting. Especially, the code preview.
This allows me to brainstorm, and just type out random things at will. And I can reorganize it later.
And when I want to read it, then I switch on the viewer, and all my text is nicely presented.
P.S. Its a personal preference, I'm not trying to put down the tool, its great and can be used as a training material for better thinking.
I don't reckon it gets updated much, though.