Think about fitts law: the fastest place to click under a cursor is the location of the cursor. For an LLM the least context-expensive feedback is no feedback at all.
I think codebases that are strongly typed sometimes have bad habits that "you can get away with" because of the typing and feedback loops, the LLM has learned this.
This is well put. If the LLM gets the type wrong, then we're already discussing a failure scenario with a feedback loop involving back-and-forth changes.
LLMs are not really good at this. The idea that LLMs benefit from TypeScript is a case of people anthropomorphizing AI.
The kinds of mistakes AI makes are very different. It's WAY better than humans at copying stuff verbatim accurately and nailing the 'form' of the logic. What it struggles with is 'substance' because it doesn't have a complete worldview so it doesn't fully understand what we mean or what we want.
LLMs struggle more with requirements engineering and architecture since architecture ties into anticipating requirements changes.
> The kinds of mistakes AI makes are very different.
I think that's a bit extreme. If a programming language has good ergonomics for a short attention span human, it will likely be better for an LLM too.
However, to make good predictions about what an LLM will or will not be good at you should have a good "theory of mind" for the LLMs that will in some ways be different from a human.
absolutely second this. I'm mainly a claude code user, but i have codex running in another tab and for code reviews and it's absolutely killer at analyzing flows and finding subtle bugs.
Alfie.io by xpflow | Remote (US) - East coast timezone preferred | Founding Full-Stack Engineer | https://alfie.io
Alfie.io builds AI-powered tools that help small and mid-sized e-commerce brands reach new customers who are already interested in their products. We automate outreach, rankings, and discovery of affiliates, creators and ambassadors using LLM-driven workflows. The team is small and experienced, and we move quickly.
I'm looking for an experienced full stack engineer to join the team - the right candidate will have a large degree of freedom in building the product, but plenty of support to get up and running. Our current stack is Typescript, Next.js, vercel, but we're actively looking at options for some of the more data intensive workflows.
Real world experience with AI coding agents a must.
Reach out to jobs@xpflow.app for full spec and further questions
I think that's a shame - I take a different approach that means the article resonates with me a lot more.
It's about learning enough to be able to appreciate something beyond surface level. You struck a chord with coffee and headphones - yes, I've gone deep on both, but rather than suck the enjoyment out of cheaper options it's given me an appreciation across the segment. I can now buy a cheap coffee and make it taste excellent - I can appreciate a well tuned headphone regardless of cost or lack of technicalities.
When headphones reach $2k+ and coffee starts costing $50 for 100g, rather than get universally better they tend to get opinionated - a different flavor of weird as a friend once said.
So I would suggest that it's fine to go deep on something, but make sure you're doing it to get to a deeper true/understanding.
Try gently pressing your finger against your larynx when you read in your head - you'll likely find you read faster - this works for me, although I tend not to bother.
The worst thing about the inner voice is it's not just when reading, it won't be quiet at bed time. And I have a tendency to complete thoughts as words. Even if I know where it is leading, and what the conclusion is, it feels like I have to see it through and phrase it correctly in my head. I feel very uncomfortable leaving it hanging.
Exactly. Sometimes I even feel compelled to complete the sentence more than once (as if I wasn't paying attention enough the first time, so I feel the need to say it again). I think there is a subtle difference between that and "reading without production" (when I try it, it feels more like skimming text; I have to really try to pay attention). To me, reading/inner-speaking feels like engaging with the text; to only be able to "see" words would be lifeless (I'm assuming that some/many/most people can do both).
For me (and the teams I work with) it's to encourage modular thinking - everything is a candidate module that can be extracted, put in source control and shared.
For tests that go beyond small (unit/spec) level we have a project level tests folder because these tests make use of multiple modules and it wouldn't make sense to place them closer to the code.
Someone else in comments mentioned cohesion - that's another way of thinking about it.
reply