Ask HN: How can I “work-out” critical thinking skills as I age?
As I get older, I realized I’m not as sharp as I used to be. Maybe it’s from the fatigue of juggling 2 kids, but I’m very ill prepared for interviews because I simply can’t answer “product questions” and brain teasers. It’s a skill I need, and truthfully I was never good at consultant type questions to begin with but I’m seeing a lot of these questions in Data Science interviews.
Any help or resources will be tremendously appreciated.
54 comments
[ 3.5 ms ] story [ 114 ms ] threadYou can take five a day. You can take 10. People with heavy brain damage (many minutes without oxygen) take 15 a day for six months to learn to walk and talk again, and they get recover.
Critical thinking: https://en.wikipedia.org/wiki/Critical_thinking
Computational Thinking: https://en.wikipedia.org/wiki/Computational_thinking
> 1. Problem formulation (abstraction);
> 2. Solution expression (automation);
> 3. Solution execution and evaluation (analyses).
Interviewers may be more interested in demonstrating problem solving methods and f thinking aloud than an actual solution in an anxiety-producing scenario.
https://en.wikipedia.org/wiki/Brilliant_(website) ;
> Brilliant offers guided problem-solving based courses in math, science, and engineering, based on National Science Foundation research supporting active learning.[14]
Coding Interview University: https://github.com/jwasham/coding-interview-university
Programmer Competency Matrix: https://github.com/hltbra/programmer-competency-checklist
Inference > See also: https://en.wikipedia.org/wiki/Inference
- Deductive reasoning: https://en.wikipedia.org/wiki/Deductive_reasoning
- Inductive reasoning: https://en.wikipedia.org/wiki/Inductive_reasoning
> This is the [open] textbook for the Foundations of Data Science class at UC Berkeley: "Computational and Inferential Thinking: The Foundations of Data Science" http://inferentialthinking.com/
A ninja is not defined by his sword. Reading books gives you new weapons, but you must learn to use them proficiently. Solving problems is therefore critical.
Some good sources of problems:
Sanjoy Mahajan (2010) "Street Fighting Mathematics"
Xingfeng Zhou (2008) "A Practical Guide to Quantitative Finance Interviews"
Timothy Crack (2019) "Heard on The Street: Quantitative Questions from Wall Street Job Interviews"
I suppose that solving the problems in CLRS "Introduction to Algorithms" couldn't do any harm.
Kattis online judge you can use many languages https://open.kattis.com/help
In the process, I could develop a general process to solve problems.
Using systems thinking helped a lot.
Outside of that apply the concept of katas daily (http://codekata.com)
As for philosophy, trying to pin down subtle distinctions and following the extremely abstract arguments could help. You could start there with text books, or reading in the history of philosophy like Aristotle, Plato, Descartes or maybe by looking up concepts and problems you're already familiar with in SEP.
Good luck and have fun.
[1] hhtp://plato.stanford.edu/
I am about that age (that I guess the OP is) where, luckily for me, I have created a curriculum and experience that will be wasted solving brain teasers.
Haven't interviewed in a good while (at least not from the interviewed side), but if the interview consists of 'how much orange juice is consumed in the US per day' kind of questions, I'd probably excuse myself, thank everyone for their time and look for greener pastures elsewhere.
[0] https://m.youtube.com/watch?v=gLJowTOkZVo
> ‘This exciting new result raises a lot of questions,’ says Dr Johansen-Berg, ‘MRI is an indirect way to measure brain structure and so we cannot be sure exactly what is changing when these people learn. Future work should test whether these results reflect changes in the shape or number of nerve fibres, or growth of the insulating myelin sheath surrounding the fibres.’
> ‘Of course, this doesn’t mean that everyone should go out and start juggling to improve their brains. We chose juggling purely as a complex new skill for people to learn.
If OP takes your advice, they'd end up being decent at juggling, but at the huge opportunity cost of not practicing actual critical-thinking skills directly, or reading articles and books relevant to their target domain of expertise, or some other approach to prepare for interviews and a career in data science that's more effective than juggling, of all things.
Besides, OP already said they've been juggling two kids!
https://www.wakingup.com/
If you want to learn how to think more critically, you need to force yourself to continuously engage new ideas and learn to recognize an author's motivations and biases while still evaluating their arguments objectively, putting aside your own past conclusions temporarily in order to understand their argument. Then do the same for ideas you have previously agreed with, and see which ideas hold up to scrutiny. Only then can you truly call conclusions your own.
When I was actively providing advice on the Architectural Registration Examination, I used to see this all the time with the Site Design test. The test gave the test candidate ninety minutes to organize several components on an unfamiliar site against a set of competing requirements and constraints. A common rant in the discussion forum was "I failed even though I've been laying out sites professionally for {N} years," where {N} might be from three to ten.
The first ninety minutes of real world site design consists of opening the civil engineer's email, creating a directory to for the project, saving the attached CAD file, cleaning it up enough to be usable for architectural design purposes, printing the regulatory requirements for the project file, talking with the principal-in-charge about the client requirements, and then going to lunch because it's been four hours and maybe starting on the design in the afternoon or later in the week because that's the way the world works and the client requirements will probably change anyway.
Which is how experience made it easy to fail the test because of the ways the test did not reflect the real world. The real world has depth and a lot it-depends and experience pays off precisely because it handles the depths and makes informed choices about all the it-depends.
Or to put it another way, Fizz-Buzz in TensorFlow, https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/
Both will develop your mental stamina, and chess especially will hone your adversarial thinking.
You may even find that your chess fitness is directly comparable to your programming fitness and vice-versa. When you're programming fit through working on some incredibly hard problems in the week (think distributed systems or file systems or algorithms), then your chess will show an improvement. And when you're playing several hours of chess a day against a good opponent, then your programming will likewise benefit and your bug count drop as you naturally start thinking further ahead.
I played chess for years, learned go, and haven’t looked back. I personally prefer it.
YMMV
Learning is brain growth that occurs as a result of thinking, largely during rest and sleep following the activity. Exercise will increase the amount of growth that occurs (mentally and physically), and good cardiovascular health is effectively the same thing as good brain health
And, maybe obviously, practice the brain teasers and interview questions. They are a skill that is not the same thing as being mentally sharp
Also, brain teasers are a BS way to interview. One of the best interviews I had was a mock architecture session (I didn't get the job). They gave me an overview of a project, told me to use AWS tech, and let me ask questions as I worked through a rough architecture.
1. Physical exercise. Some blend of cardio and strength training is preferable, but at least cardio is pretty much a requirement.
2. Sleep quality. Not just duration, but quality as well. If you have sleep apnea especially (many people do and don't even know it), you need to address that.
Also, if you're getting _interviewed_ in such detail as a consultant, you're playing the consulting game wrong. People should just hire you based on your track record as exemplified by direct recommendations from previous customers and people within your network.
One of the benefits of a consultant from a customer standpoint is that if they determine they've made a mistake, they can just terminate your contract. So an elaborate interview is a waste of time for both sides.