Witnessing a candidate’s thought process is probably the most valuable part of the interview process for me. Nothing else comes close. Just let me listen/watch you solve problems.
I wonder if this may be related to anendophasia, the absence of an inner voice. Apparently it has an influence on self-reflection and verbal working memory.
I have aphantasia so anendophasia sounds like such a nightmare to me, though I imagine those so have it would likely feel the opposite of me. I've met some folks in the past who I'd suspect have anendophasia, but I'm not sure how I'd ever bring that up without coming across as uncouth.
Anyone with anendophasia care to opine on their experience?
Yes, I’m very familiar. I have no inner semantic articulation whatsoever. When I hear people talk about meditation (clearing your head, etc.) it always amuses me, because that's my normal state. It's completely still up there...
But it’s more than that. I don’t have any conscious notions of thought at all. It’s much more like these guys in the tv show Severance who stare at numbers until “it feels right”.
The end result just pops into my head, often just as a feeling, not even as anything graspable, and only takes semantic shape when I say it out loud or write it. And even when I write it, it continues — it’s like a constant irking feeling of calibration that never feels quite right until it does.
There is one exception: demi-sleep is the only state where I can ruminate (e.g. stress-related), but then it's also non-verbal -- more like a combination of images and sensations. It's hard for me to put into words (no pun intended)...
That's a fascinating description. It's hard to imagine not having an innner monologue, a constant stream of words and images. Must be so nice and quiet in there. For me it takes conscious effort to step back and let it cease, but when my attention drifts away, the stream starts again by itself.
Would you say you're a visual thinker, or is there no imagery either? I'm trying to imagine (ha) how someone can think without words or images. The closest I can relate to is when I'm playing music, like the piano, there is a thinking process - even problem solving - without any concrete concepts internally, no words, colors or forms, not even sounds. Now that I think about it, I get into that mode of non-verbal (and non-visual) thinking sometimes when I'm doing math or writing software. It's like thinking by doing, often through an external medium (code, numbers).
> stare at numbers until “it feels right”
I think most people do this sometimes, consciously or not, but just not as their dominant mode of thinking. Interesting.
Visual imagination and inner monologue are not complements, but more like orthogonal capabilities. I am pretty far away from both. Sorry, for the long reply, but this topic hooks me every time I trip over it... ;-) Ironically, given what I will state next, people around me tend to describe me as very imaginative.
I lack conscious visual imagery. I can't recall faces of loved ones or really "see" scenes from memory in a way that feels visually coherent. Even though I have practiced drawing and painting at times, I cannot render people, animals, nor landscapes from memory. I would need a live model or reference photo. I could draw or paint fictional scenes or more basic forms, but would struggle with anything life-like without a reference. I can recognize it is flawed, but cannot summon the missing bits.
I also lack any inner monologue. My thinking is not verbal. It is extra work I have to do to cast ideas into words after I've already thought them up. I can think about words as a task, but I don't think in words. This interviewing strategy also sounds like a nightmare to me. I could talk at length about "how I think" in some philosophical or psychological mode, but I cannot recite a real thought process as if it is a sequence of verbalizable intermediate steps. That's just absurdly ill-fitting to me.
By contrast, I have a pretty strong inner stage for proprioception and a sense of spatial relationships or topology for both real 3D and 4D (space-time) structures. If I focus, I can nearly invoke physical sensation by imagining falls, spins, impact, flight, etc. This can also involuntarily engage my inner audio stage, where I might imagine corresponding sound effects.
There is a first-person and third-person version of my spatial stage. I can sometimes think about a dynamic stage, i.e. the 3D stuff moving, but more often this turns into a more static sense of a stage that includes motion vector information. (Alas, this hasn't made me a dancer nor given me appreciation for choreography...) I don't know how to describe this to people though. I don't "see" it. I feel or know it. It may have a perspective-like projection to it, favoring or enlarging the near space, but it doesn't have occlusion, lighting, or other visual qualia.
Sometimes, but not always, I cast more abstract thinking onto topological structures that map into this spatial stage. Then I can "feel" the shape of a problem, problem space, or search process over that.
As I mentioned above, I do have an inner audio stage. I can think about arbitrary sound and it has an experience like a faint version of real-time hearing on a secondary channel. There are intensity and frequency qualia, timing and rhythm, etc. It can convey harmony, noise, sharp attacks, etc. At the extremes, I can nearly induce accompanying physical senses like a deep bass thumping my chest or a high-hat sizzling in my ear. But it's always sort of off in the corner as an apparatus I can access, without being mistaken for real hearing. This and real hearing can operate in parallel, though it is harder to attend to the inner stage if real hearing is overwhelmingly loud or full of semantic content.
When I think about words, it is sometimes in this audio stage. To some degree, I can remember people talking or run through hypothetical speech with intonation etc. It's a bit thinner on the audio qualia than other audio thinking, as I focus more on the semantic and emotional content and less on the sounds qualities. I know whose voice I am imagining, but it's not necessarily a rich or faithful synthesis of the sound qualia. Musical thoughts bring more of that richness.
But, I have another linguistic stage that is more symbolic. It's more like feeling the topology of the words, a bit like a parse tree, and less a real-time stream. It would be a mistake to say it is a visual process, as it morphs into semantic units in my spatial/topological stage. It can also abstract...
i agree as long as thats not leetcode, if i get a real task, with a real IDE its nice, if i get pretendo problems on plain text im dropping the company
I'm not the OP, but I think everyone might have a different definition of what "audible inner monologue" mean.
For example, I don't talk to myself in "monologue". But I can close my eyes or stare at the screen and visualize the solutions. The words that I usually tell myself during that are "what?", "why?", "strange!", "really",... not a monologue or sentences.
That's my impression too, that my thoughts are a hybrid, where I'll think in a rapid sequence of whole concepts and visual flashes, and then summarize that in my inner voice "for the record", as a jumping-off point for the next batch of thoughts. But I don't have much control over this, as my inner voice is hard to shut up for any length of time, always giving a running narrative.
Like the response from the UltraSane: my thinking is and always was 100% made of internal language-based chain of thought ("imaginary talking to myself"), with some amount of introspection / meta reasoning when problem is particularly hard. This article indeed reads to me a bit like someone proposing a physical storage medium inspired by those pictures of little squares traditionally used as "save" icon, without realizing that this digital representation was in the first place based on an existing real world thing.
Anyway, a surprising related observation is that rubber ducking by describing the problem to quiet listener still often helps me, which suggests that internal chain of thought makes intuitive shortcuts that sometimes are counter productive, while talking to another person creates subconscious pressure to make the thoughts fully complete.
The author says they could narrate their own thought process out loud.
I couldn’t do that. I have no insight into my thought processes whatsoever. There are no semantic (or any other) processes to witness. It’s complete crickets at all times…
My wife is the opposite - constant chatter in her head. And she can trace every thought exactly. (No idea how people like her can focus or even function!)
In almost every interview I gave at the last several companies I worked for, I'd start with "This may feel a bit odd, but with this coding problem, I'd appreciate if you spoke through your problem solving. If it helps, pretend like I am your intern. Good ideas, bad ideas, pros and cons of whatever you're considering, it's all valuable information for me to learn a bit about how you approach problems."
I feel like being explicit like this put candidates at a bit more ease than having them try to suss out what the interviewer is expecting from them implicitly (and I know there are many interviewers that will auto-veto any candidate with the audacity to suggest a possibly imperfect approach).
I really wanna ask, because... I'm 46. Been writing code for a living about 30 years, never on a salary, always contractor. I wrote and maintain enough code for non-tech companies that aren't going to take a risk on AI rewrites anytime soon that I can probably coast until retirement. But I haven't interviewed or even needed to sell myself for a long time.
I always thought I would easily pass an interview, but I may have been wrong before all this on the basis that I don't work that well on a team.
OTOH ...is the question now really valuable whether a candidate can explain their thought process rather than deliver? Why wasn't that a question 20 years ago when it actually mattered? Or does it matter more now because the bar needs to be higher, and there's no cache of more experienced devs to train them up?
I think delivering is still a requirement either way, but the value is in hearing a candidate has the ability to problem solve in an unknown problem space vs regurgitate a memorized solution. Even better is witnessing some has the ability to try, fail, then self-correct, and rebound.
So, my policy has always been that if I sit through a meeting where a client asks for new feature "X" and I figure out a way to avoid building the new feature, and either use existing business logic / day-to-day processes, or else find some new way that doesn't involve code, I don't bill for that time. I'd say that I probably give up about 35-40% of potential coding work just by helping them work through that. Which is fine, because it leaves me free time to do other things.
On the other hand, I don't have the option to fail even slightly. I deployed a patch yesterday for an old, rare, logic bug in one reservation system, and within an hour I was being bombarded with edge cases of people seeing their reservations as cancelled during the 15 minute switch-over period.
Sometimes I feel like the job of a programmer for a company is just very different from what I do. If anything goes wrong with anything I deploy, I'm awake for however long it takes to make sure it's right. On the other hand: No PRs, no teamwork. Just a click to deploy once I'm relatively sure. And a lot of responsibility.
There are too many candidates for too few job openings. So people come up with all matters of ridiculous filters because they feel they have to test everyone. In reality they can take almost anyone with relevant experience and they'll get the job done, but that wouldn't look like good hiring process.
I have ~15 years experience with hands on engineering. I also served as a hiring manager in a couple of roles, and interviewed dozens of candidates.
I would love to live in a world where every candidate represented their experience accurately, and every applicant was capable of fulfilling the role, but sadly it's not the case.
I agree there's some filters which are mostly performative (like leetcode), but being able to talk through the kind of work you do is table stakes. And not just for engineers, for any professional role.
> on the basis that I don't work that well on a team
I think you are likely to find that "working well on a team" is the number #1 thing tech firms are screening for. Technical skills are all well and good, but communicating/collaborating are half the job in a big company.
"Working well on a team" is something completely uncorrelated with the ability of explaining your thinking during the time when you are solving a problem.
All the teams in which I have ever worked have greatly appreciated my contribution precisely because I was always willing to spend a lot of my time explaining to other colleagues, in a differentiated way appropriate for the understanding abilities of each of them, how I had solved my problems or how they should solve their problems.
On the other hand, I am also completely unable to explain my thinking while it is in progress, because reformulating it to become intelligible to the interlocutor would slow me down far too much.
I understand what you mean. I don't even use words while I'm solving the problem; internally, I suppose I visualize something like a flowchart of logic, where I can see the holes that edge cases could slip through. Later, after I've tested all the edge cases, I'll spend an hour laboring to wrap it up into a neat non-technical explanation of what needed to he done and why.
That's also why I have trouble working on teams. I tend to evolve a complete picture of how I'm going to approach a large problem in code at the same time as I'm thinking through the business logic. It's mostly written in my head before I sit down to write it, and I'm thinking through the sharp edges as I go along.
It's also why prompting an LLM is often more tedious, frustrating or imprecise than writing the code myself. The code is not the thing, the logic is the thing.
I do something exactly like what the parent said, and my own view.
The question isn't about figuring out junior or senior. Its about the candidate being able to think thru a problem. They don't even necessarily have to be good at articulating their thought, I just want to see how (and if at all) they are splitting open the problem, walking thru it, figuring it out and then converging on something that (at least to them) feels like a reasonable solution.
If they get stuck, I am happy to help them out, without disrupting them or deviating them. If they go down a wrong rabbit hole, I may ask a leading question that helps them realize the issue and gets them back on track.
The bar isn't being set higher. Its just that there are a LOT of people interviewing (in my experience) unfortunately, who seem to be unable to model problems in their head, model how their code would work (mentally model the execution of the code), and reason things out. They have frequently coasted on blind copy paste from stackoverflow/help/tutorials. A huge fraction.
I also have been coding for a LONG time (older than you), and in the early days, this sort of conversation didn't have to be explicitly asked for, it happened naturally, like in every interview (where I was the one being interviewed) - cause you present me with a problem, and I can't help but be nerd-sniped by it.
People who were candidates for tech jobs were there only cause they actually went into it with a bit of love/passion/skill.
But then it became a large industry, and most people who went into it were not 'hackers (problem solvers)' at all. They just liked the great pay. They may even be intelligent, but a lot were not capable as independent code owners. Still useful for basic crud with the right frameworks/etc. So thriving in enterprise applications, java/c# mega-platform/mega-framework domains.
I always hated when interviewers did this. My chain of thought is often backwards, very abstract, or otherwise wildly different from how it seems others think, and it's very difficult if not impossible for me to articulate them on the spot. In school for writing assignments I would have to spend alot of time reversing or reordering how I arrived at a conclusion before even writing my first sentence. And even just arriving at a conclusion involves taking many dead-ends; the process can be seemingly instantaneous, or sometimes laboriously following rabbit holes (often with throwaway code) that I know are dead ends but nonetheless help me to explore context.
IOW, I can't explain in real-time how I'm working things out. I have to work them out to completion first, quietly, and only after the fact could I ever hope to explain my thinking. Asking me to explain my thinking while I'm thinking is easily the most stressful and impossible task anyone could ask of me. I'd rather you break my fingers as part of the interview process.
I don’t think I think so differently from you and managed through a few interviews with success.
I almost go further than the OP by suggesting to interviewees that I have a blank page of notes I need to fill in with evidence to support hiring them, for someone else to read. The coding question is to kick start that process.
The thinking gives more than just the answer and makes it more of a conversation. As a candidate I will mention projects I had similar when think about anything. As the interviewer it is hard to gather experience: so many people stay abstract and it’s infuriating (let me help you get this job! Yes you can do something means nothing; when you did do something means everything.)
I am sure that many interviewers don’t see it like this however and treat it like a quiz sadly.
Best advice for interviews I was given as a candidate: the interviewer will decide in the first five minutes if they want to hire you. The rest of interview is them trying to convince themselves and others of that decision.
I have interviewed dozens of engineering candidates. A big part of what I am looking for in an interview is how the candidate thinks, and what it's like to work with them in an interview.
If someone can't communicate well on technical matters, that's generally a negative.
That said, if a candidate was frank with me that they don't do well being put on the spot with a question like that, and can articulate how they do actually solve problems, and give examples of how it's worked for them in professional settings, I would consider them for the role if their answer was convincing.
I.e. if I asked you to explain how you would approach a problem, and you said you might need to go off and write some throwaway code to explore the edges of the problem that's a good answer.
Or, perhaps the person thinks (solves) in abstract concepts rather than linear words. Just because many people mouth words when reading or can't think without hearing words in their head or aloud, doesn't mean others should have to handicap their own efficacy of thought while working it out. Two conceptuals can communicate in a kind of ultra condensed shorthand liner verbal thinkers struggle to follow. Less can't communicate, more can't conceptualize squared off with can't verbalize.
Both groups should synthesize simply and clearly at the end, both should work to get in sync. And both ways of thinking have their uses in a team. Catch: conceptual thinkers can interview verbal thinkers, the other way around is more challenging.
I mean, I think that's exactly the parent poster's point. It's not an absolute "can this person communicate efficiently on CommunicationBench 3.0-beta7". It's "would I, personally, do well sitting next to this person every day and communicating constantly with them, or would I struggle with that?" There's a very personal piece to this that is both a little arbitrary, but completely practical.
(Caveat: I've always been interviewing for members of a small team who I might very literally be sitting next to every day and communicating constantly with. BigCo interviewing is different.)
Sometimes I think in terms of relationships between objects. I walk around slowly, up and down a hallway, and the "objects" are just vague shapes hovering around the hallway. If I'm thinking that way, it's going to be hard to explain my "chain of reasoning" while I'm in that mode.
Once I have figured out the relationships, though, I can talk about it in words. "Why didn't you do it this way?" "That felt really clunky. This way seemed cleaner, because X Y Z."
But I've never had to go into that mode for an interview. Or maybe the interview is too "immediate" - too interactive - for me to go into that mode.
I wonder if there is something to said about the importance of being able to clearly communicate at some higher level being even more important now than it has been in the past, given that developers are increasingly expected to work with LLMs
It's something I struggle a lot with (and I'm currently unemployed)
If you need to people to think out loud on the spot, go hire salesman. A person's ability to do this in real time has zero correlation with their ability to actually do engineering and communicate on technical matters. Real communication encompasses more than verbal stream of consciousness.
> I have interviewed dozens of engineering candidates.
I have too. Stating this doesn't give you the credibility you probably think it does. Interviewing/hiring in general is a pretty broken process, and extremely susceptible to subjective interviewer bias.
> If someone can't communicate well on technical matters, that's generally a negative.
Your interview method doesn't test if someone "can communicate well on technical matters." I can see why you think it does, but it does not. "Good communication" is not the ability to produce the correct sequence of thoughts/words when given 45 minutes to solve a problem in a hostile environment (surrounded by strangers, with your livelihood on the line).
What you're actually selecting for is a very specific type of candidate who thinks and communicates like you in a way that you can easily understand. You're basically selecting for vibes. And when you structure your interviews this way, you specifically end up preferring candidates who are better at bullshitting and "selling themselves" as opposed to candidates who are actually the most technically sound.
The biggest indictment against your interviewing mentality is that it's limited by how good you are at listening and understanding. You're probably worse at it than you think you are, and spending too much time in the interviewer position and not enough in the interviewee position makes it easy to fall into this trap.
I've interviewed and placed dozens of candidates on teams I've led. I've also interviewed and gotten offers at dozens of companies in the past 10-15 years. The more offers I get, the more I realize how broken interviewing is.
The mistakes you're making won't necessarily cause you to hire bad candidates, but it will undoubtedly allow you to reject/ignore very strong candidates just because they don't talk/think like you. Maybe you have a problem with diversity of thought, but generally that's a desirable characteristic on most engineering teams.
My advice is to spend more time on objective measures, and to check your ego at the door before conducting your interviews. Spending so much time as a gatekeeper makes it easy to get a superiority complex, which comes across quite plainly in your original comment.
I can communicate well, people say my talks are easy to listen to and that my published papers are easy to read. But a 45 minute leetcode interview slot on some esoteric engineering problem without much time for thought digestion, that is something you just need to prep for because it isn’t a skill you’ll use much in real life. I can imagine interview prep programs moving in the direction of fast paced light context engineering discussions, just for the sake of interviewing well and not really for anything else (but alas, it’s a 45 minute slot, what else can you do but treat it like a performance?).
I recently had an interview like this, and gave all my thinking in as much detail as I was able. The feedback I got back with my rejection was that they “wanted to see more of my working”.
So maybe it puts them at ease, but I think the important part is actually listening.
"Free association" in psychoanalysis just asks people to let themselves speak, to fall into their speech, let it unfold - but it is very, very hard to do, because what you say tends to not be what you want to say. You want to avoid certain things, you can see your chain of speech leading up ahead to somewhere you don't want to go. So you stop yourself, or resist, and then what you are saying is not at all free but strained, hedging, tense and anxious.
I do the same. My impression is that very few people do this, or take proper notes at all. This is based on my observation that most people I work with seem to have zero recollection about things that happened more than a few months ago.
Lol. I have very little recollection, but I have it all in my notes. I consider that superior. I don't have to weigh my brain down with trying to remember stuff.
In some cases, it certainly can help. But it doesn't help for deep thoughts or when innovative, creative ideas are needed.
I found out speaking the steps out loud helps especially in new confusing working steps, for example: tying a complex node, or follow the steps/work of other people without explicit instructions. In such situations, speaking out loud help me remember the steps much faster (simply repetition through many pathways), and also help to detect/correct spatial/sequential mistakes. It also helps enormously if one needs to work with/teach someone else.
I’ve been doing this with voice mode in agent harnesses. In Codex for example I often speak orally and I find that (1) I discover something new myself, (2) agents seem to understand much better than pure text prompts. The only downside is it costs lot of tokens.
Articulating thoughts out loud is a horrible requirement. Conscious verbal thinking is a detriment to thinking, thinking unconsciously is much more efficient, only requirement is involvement with the problem that does not need to be verbal at all.
Problem is solved before it is consciously perceived. The reverberations after perception can be of many different styles.
There is little value in chain of thought and I think humans are implicitly or explicitly instructed to verbally think and hinder their problem solving facilities.
On top of that to ask for clear communication and decoding of the verbal thinking mush into sounds is just an extra hinderance. Id prefer to ask questions to evaluate understanding of the problem solved than force someone to dump their mush into a clear spoken summary.
Read the study as what is reported by TFA has nothing to do with the study.
And of course it does not as any serious problem solving is not only hindered by verbalization but by sight as well, closing your eyes will improve your problem solving massively.
They prompt after solving the problem, they don’t mandate verbalization during the process, in the study.
There are studies that show no hinderance with verbalization except longer solve time, but the problems being solved are too simple.
Verbalization is like people reading with their finger on the page, speaking each word individually in a painfully slow way.
I'm not sure what people mean by internal monologue, but I find it hard to believe people have a running sequential commentary in their head.
I certainly don't. Thoughts are more like concept-clouds or maybe word-clouds than word sequences. Verbalizing it kills the context and fixates it, like returning the "next token" kills the probability space for it.
I often find it helpful to type comments (starting with a # character) directly in a shell session, to remind myself where I'm up to, what I need to do next, or what I've just done. Especially handy at the end of the day or when switching context to something else.
Do it all the time. If I want to understand something, just copy over all the notes, start writing down the important parts. Write down the key questions, answers, my thought process. I think of it as a crutch to focus and concentrate and wind up the wetware.
same, it forces me to understand what i'm doing/trying to do more thoroughly and in the end, usually saves me a ton of time. it's amazing to me how many people here are saying it's a meaningless exercise. for me it's the definition of productive friction.
Reframing "talking through the problem", "taking notes", and "sketching the problem" as "Chain of thought". Its interesting, I wonder if people did the same reverse anthropomorphizing of their own characteristics in the era when we conceptualized the brain as water in tubes or clockwork?
I suppose this is where "gears turning" and "screw loose" come from, vestiges of that time. It will be interesting once we emerge from our current attention sequence model fever dream what vestiges leave a lasting imprint in the parlance.
70 comments
[ 0.28 ms ] story [ 13.9 ms ] threadNot Everybody Has an Inner Voice: Behavioral Consequences of Anendophasia - https://doi.org/10.1177/09567976241243004
Anyone with anendophasia care to opine on their experience?
But it’s more than that. I don’t have any conscious notions of thought at all. It’s much more like these guys in the tv show Severance who stare at numbers until “it feels right”.
The end result just pops into my head, often just as a feeling, not even as anything graspable, and only takes semantic shape when I say it out loud or write it. And even when I write it, it continues — it’s like a constant irking feeling of calibration that never feels quite right until it does.
There is one exception: demi-sleep is the only state where I can ruminate (e.g. stress-related), but then it's also non-verbal -- more like a combination of images and sensations. It's hard for me to put into words (no pun intended)...
Would you say you're a visual thinker, or is there no imagery either? I'm trying to imagine (ha) how someone can think without words or images. The closest I can relate to is when I'm playing music, like the piano, there is a thinking process - even problem solving - without any concrete concepts internally, no words, colors or forms, not even sounds. Now that I think about it, I get into that mode of non-verbal (and non-visual) thinking sometimes when I'm doing math or writing software. It's like thinking by doing, often through an external medium (code, numbers).
> stare at numbers until “it feels right”
I think most people do this sometimes, consciously or not, but just not as their dominant mode of thinking. Interesting.
I lack conscious visual imagery. I can't recall faces of loved ones or really "see" scenes from memory in a way that feels visually coherent. Even though I have practiced drawing and painting at times, I cannot render people, animals, nor landscapes from memory. I would need a live model or reference photo. I could draw or paint fictional scenes or more basic forms, but would struggle with anything life-like without a reference. I can recognize it is flawed, but cannot summon the missing bits.
I also lack any inner monologue. My thinking is not verbal. It is extra work I have to do to cast ideas into words after I've already thought them up. I can think about words as a task, but I don't think in words. This interviewing strategy also sounds like a nightmare to me. I could talk at length about "how I think" in some philosophical or psychological mode, but I cannot recite a real thought process as if it is a sequence of verbalizable intermediate steps. That's just absurdly ill-fitting to me.
By contrast, I have a pretty strong inner stage for proprioception and a sense of spatial relationships or topology for both real 3D and 4D (space-time) structures. If I focus, I can nearly invoke physical sensation by imagining falls, spins, impact, flight, etc. This can also involuntarily engage my inner audio stage, where I might imagine corresponding sound effects.
There is a first-person and third-person version of my spatial stage. I can sometimes think about a dynamic stage, i.e. the 3D stuff moving, but more often this turns into a more static sense of a stage that includes motion vector information. (Alas, this hasn't made me a dancer nor given me appreciation for choreography...) I don't know how to describe this to people though. I don't "see" it. I feel or know it. It may have a perspective-like projection to it, favoring or enlarging the near space, but it doesn't have occlusion, lighting, or other visual qualia.
Sometimes, but not always, I cast more abstract thinking onto topological structures that map into this spatial stage. Then I can "feel" the shape of a problem, problem space, or search process over that.
As I mentioned above, I do have an inner audio stage. I can think about arbitrary sound and it has an experience like a faint version of real-time hearing on a secondary channel. There are intensity and frequency qualia, timing and rhythm, etc. It can convey harmony, noise, sharp attacks, etc. At the extremes, I can nearly induce accompanying physical senses like a deep bass thumping my chest or a high-hat sizzling in my ear. But it's always sort of off in the corner as an apparatus I can access, without being mistaken for real hearing. This and real hearing can operate in parallel, though it is harder to attend to the inner stage if real hearing is overwhelmingly loud or full of semantic content.
When I think about words, it is sometimes in this audio stage. To some degree, I can remember people talking or run through hypothetical speech with intonation etc. It's a bit thinner on the audio qualia than other audio thinking, as I focus more on the semantic and emotional content and less on the sounds qualities. I know whose voice I am imagining, but it's not necessarily a rich or faithful synthesis of the sound qualia. Musical thoughts bring more of that richness.
But, I have another linguistic stage that is more symbolic. It's more like feeling the topology of the words, a bit like a parse tree, and less a real-time stream. It would be a mistake to say it is a visual process, as it morphs into semantic units in my spatial/topological stage. It can also abstract...
For example, I don't talk to myself in "monologue". But I can close my eyes or stare at the screen and visualize the solutions. The words that I usually tell myself during that are "what?", "why?", "strange!", "really",... not a monologue or sentences.
Anyway, a surprising related observation is that rubber ducking by describing the problem to quiet listener still often helps me, which suggests that internal chain of thought makes intuitive shortcuts that sometimes are counter productive, while talking to another person creates subconscious pressure to make the thoughts fully complete.
I couldn’t do that. I have no insight into my thought processes whatsoever. There are no semantic (or any other) processes to witness. It’s complete crickets at all times…
My wife is the opposite - constant chatter in her head. And she can trace every thought exactly. (No idea how people like her can focus or even function!)
I think and chase alternate chains of thought way faster than i can speak.
> but maybe it has some nuance?
> eh, I think I still don't care enough to click
> but maybe I could post a funny comment
> it doesn't sound that funny, and besides, HN doesn't usually like these sorts of comments
> okay, let's just read the next story
> unless
I feel like being explicit like this put candidates at a bit more ease than having them try to suss out what the interviewer is expecting from them implicitly (and I know there are many interviewers that will auto-veto any candidate with the audacity to suggest a possibly imperfect approach).
I always thought I would easily pass an interview, but I may have been wrong before all this on the basis that I don't work that well on a team.
OTOH ...is the question now really valuable whether a candidate can explain their thought process rather than deliver? Why wasn't that a question 20 years ago when it actually mattered? Or does it matter more now because the bar needs to be higher, and there's no cache of more experienced devs to train them up?
On the other hand, I don't have the option to fail even slightly. I deployed a patch yesterday for an old, rare, logic bug in one reservation system, and within an hour I was being bombarded with edge cases of people seeing their reservations as cancelled during the 15 minute switch-over period.
Sometimes I feel like the job of a programmer for a company is just very different from what I do. If anything goes wrong with anything I deploy, I'm awake for however long it takes to make sure it's right. On the other hand: No PRs, no teamwork. Just a click to deploy once I'm relatively sure. And a lot of responsibility.
I would love to live in a world where every candidate represented their experience accurately, and every applicant was capable of fulfilling the role, but sadly it's not the case.
I agree there's some filters which are mostly performative (like leetcode), but being able to talk through the kind of work you do is table stakes. And not just for engineers, for any professional role.
I think you are likely to find that "working well on a team" is the number #1 thing tech firms are screening for. Technical skills are all well and good, but communicating/collaborating are half the job in a big company.
All the teams in which I have ever worked have greatly appreciated my contribution precisely because I was always willing to spend a lot of my time explaining to other colleagues, in a differentiated way appropriate for the understanding abilities of each of them, how I had solved my problems or how they should solve their problems.
On the other hand, I am also completely unable to explain my thinking while it is in progress, because reformulating it to become intelligible to the interlocutor would slow me down far too much.
That's also why I have trouble working on teams. I tend to evolve a complete picture of how I'm going to approach a large problem in code at the same time as I'm thinking through the business logic. It's mostly written in my head before I sit down to write it, and I'm thinking through the sharp edges as I go along.
It's also why prompting an LLM is often more tedious, frustrating or imprecise than writing the code myself. The code is not the thing, the logic is the thing.
The question isn't about figuring out junior or senior. Its about the candidate being able to think thru a problem. They don't even necessarily have to be good at articulating their thought, I just want to see how (and if at all) they are splitting open the problem, walking thru it, figuring it out and then converging on something that (at least to them) feels like a reasonable solution.
If they get stuck, I am happy to help them out, without disrupting them or deviating them. If they go down a wrong rabbit hole, I may ask a leading question that helps them realize the issue and gets them back on track.
The bar isn't being set higher. Its just that there are a LOT of people interviewing (in my experience) unfortunately, who seem to be unable to model problems in their head, model how their code would work (mentally model the execution of the code), and reason things out. They have frequently coasted on blind copy paste from stackoverflow/help/tutorials. A huge fraction.
I also have been coding for a LONG time (older than you), and in the early days, this sort of conversation didn't have to be explicitly asked for, it happened naturally, like in every interview (where I was the one being interviewed) - cause you present me with a problem, and I can't help but be nerd-sniped by it. People who were candidates for tech jobs were there only cause they actually went into it with a bit of love/passion/skill.
But then it became a large industry, and most people who went into it were not 'hackers (problem solvers)' at all. They just liked the great pay. They may even be intelligent, but a lot were not capable as independent code owners. Still useful for basic crud with the right frameworks/etc. So thriving in enterprise applications, java/c# mega-platform/mega-framework domains.
IOW, I can't explain in real-time how I'm working things out. I have to work them out to completion first, quietly, and only after the fact could I ever hope to explain my thinking. Asking me to explain my thinking while I'm thinking is easily the most stressful and impossible task anyone could ask of me. I'd rather you break my fingers as part of the interview process.
The thinking gives more than just the answer and makes it more of a conversation. As a candidate I will mention projects I had similar when think about anything. As the interviewer it is hard to gather experience: so many people stay abstract and it’s infuriating (let me help you get this job! Yes you can do something means nothing; when you did do something means everything.)
I am sure that many interviewers don’t see it like this however and treat it like a quiz sadly. Best advice for interviews I was given as a candidate: the interviewer will decide in the first five minutes if they want to hire you. The rest of interview is them trying to convince themselves and others of that decision.
If someone can't communicate well on technical matters, that's generally a negative.
That said, if a candidate was frank with me that they don't do well being put on the spot with a question like that, and can articulate how they do actually solve problems, and give examples of how it's worked for them in professional settings, I would consider them for the role if their answer was convincing.
I.e. if I asked you to explain how you would approach a problem, and you said you might need to go off and write some throwaway code to explore the edges of the problem that's a good answer.
Or, perhaps the person thinks (solves) in abstract concepts rather than linear words. Just because many people mouth words when reading or can't think without hearing words in their head or aloud, doesn't mean others should have to handicap their own efficacy of thought while working it out. Two conceptuals can communicate in a kind of ultra condensed shorthand liner verbal thinkers struggle to follow. Less can't communicate, more can't conceptualize squared off with can't verbalize.
Both groups should synthesize simply and clearly at the end, both should work to get in sync. And both ways of thinking have their uses in a team. Catch: conceptual thinkers can interview verbal thinkers, the other way around is more challenging.
(Caveat: I've always been interviewing for members of a small team who I might very literally be sitting next to every day and communicating constantly with. BigCo interviewing is different.)
Once I have figured out the relationships, though, I can talk about it in words. "Why didn't you do it this way?" "That felt really clunky. This way seemed cleaner, because X Y Z."
But I've never had to go into that mode for an interview. Or maybe the interview is too "immediate" - too interactive - for me to go into that mode.
It's something I struggle a lot with (and I'm currently unemployed)
I have too. Stating this doesn't give you the credibility you probably think it does. Interviewing/hiring in general is a pretty broken process, and extremely susceptible to subjective interviewer bias.
> If someone can't communicate well on technical matters, that's generally a negative.
Your interview method doesn't test if someone "can communicate well on technical matters." I can see why you think it does, but it does not. "Good communication" is not the ability to produce the correct sequence of thoughts/words when given 45 minutes to solve a problem in a hostile environment (surrounded by strangers, with your livelihood on the line).
What you're actually selecting for is a very specific type of candidate who thinks and communicates like you in a way that you can easily understand. You're basically selecting for vibes. And when you structure your interviews this way, you specifically end up preferring candidates who are better at bullshitting and "selling themselves" as opposed to candidates who are actually the most technically sound.
The biggest indictment against your interviewing mentality is that it's limited by how good you are at listening and understanding. You're probably worse at it than you think you are, and spending too much time in the interviewer position and not enough in the interviewee position makes it easy to fall into this trap.
I've interviewed and placed dozens of candidates on teams I've led. I've also interviewed and gotten offers at dozens of companies in the past 10-15 years. The more offers I get, the more I realize how broken interviewing is.
The mistakes you're making won't necessarily cause you to hire bad candidates, but it will undoubtedly allow you to reject/ignore very strong candidates just because they don't talk/think like you. Maybe you have a problem with diversity of thought, but generally that's a desirable characteristic on most engineering teams.
My advice is to spend more time on objective measures, and to check your ego at the door before conducting your interviews. Spending so much time as a gatekeeper makes it easy to get a superiority complex, which comes across quite plainly in your original comment.
So maybe it puts them at ease, but I think the important part is actually listening.
Aometimes it feels like a super power because it takes away the "starting anxiety" and makes everything a trivial sequence of "following simple steps"
I found out speaking the steps out loud helps especially in new confusing working steps, for example: tying a complex node, or follow the steps/work of other people without explicit instructions. In such situations, speaking out loud help me remember the steps much faster (simply repetition through many pathways), and also help to detect/correct spatial/sequential mistakes. It also helps enormously if one needs to work with/teach someone else.
Problem is solved before it is consciously perceived. The reverberations after perception can be of many different styles.
There is little value in chain of thought and I think humans are implicitly or explicitly instructed to verbally think and hinder their problem solving facilities.
On top of that to ask for clear communication and decoding of the verbal thinking mush into sounds is just an extra hinderance. Id prefer to ask questions to evaluate understanding of the problem solved than force someone to dump their mush into a clear spoken summary.
?
TFA literally links to a study contradicting this core claim.
And of course it does not as any serious problem solving is not only hindered by verbalization but by sight as well, closing your eyes will improve your problem solving massively.
They prompt after solving the problem, they don’t mandate verbalization during the process, in the study.
There are studies that show no hinderance with verbalization except longer solve time, but the problems being solved are too simple.
Verbalization is like people reading with their finger on the page, speaking each word individually in a painfully slow way.
I'm not sure what people mean by internal monologue, but I find it hard to believe people have a running sequential commentary in their head.
I certainly don't. Thoughts are more like concept-clouds or maybe word-clouds than word sequences. Verbalizing it kills the context and fixates it, like returning the "next token" kills the probability space for it.
I suppose this is where "gears turning" and "screw loose" come from, vestiges of that time. It will be interesting once we emerge from our current attention sequence model fever dream what vestiges leave a lasting imprint in the parlance.