Something I have been thinking about: in the past, the best engineers I knew spent a lot of time automating their work in various ways. Better vim/emacs automations, writing lint rules to catch repeat code issues, building up a suite of e2e tests so they don't need to smoke test the app manually. These kinds of things were the highest leverage activities an engineer could do, because it multiplied their own output, which in turn meant they could build more things.
I think many of these automations have become even more important now. This is true for a number of reasons.
First, infra and DevX automation speeds you up. And if you are running an army of agents, each of those agents will be sped up also. More automation == more output per unit of time.
Second, moving things to code improves efficiency. Your agent could fix an issue every time it sees that issue happen, but that uses tokens and might miss cases. If Claude instead writes a lint rule, CI step, or routine, that class of issue can be fully automated forever. This is really what people are talking about when they talk about loops -- it's about automating entire types of busywork rather than solving them one off. This isn't a new idea at all. Engineers have been doing this for a long time!
Third and most importantly, automation makes it possible for others to contribute to the codebase more easily. Increasingly what I am seeing is engineers are contributing to codebases on day one because Claude can navigate the codebase for them, and that non-engineers are able to contribute to a codebase as effectively as engineers can. What gets in the way of both of these is domain knowledge that lives in peoples' heads rather than in automation -- the stuff you used to have to learn when ramping up. What has changed thanks to agents is the domain knowledge that can be encoded as infrastructure is no longer limited to what is expressible in lint rules and types and tests; it can now capture nearly all domain knowledge, encoded as code comments and skills and CLAUDE.md rules and memories. If I put up a PR for an iOS codebase I don't know and a code reviewer rejects it because it doesn't use the right framework, or if a designer builds a new feature and it gets rejected because it doesn't follow the right architectural patterns, these are failures of automation.
Every team should be writing the CLAUDE.md's, REVIEW.md's, skills, and docs that enable agents to productively work in their codebase with zero additional context from the prompter. This sounds crazy, and at the same time is a natural extension of the stuff engineers have always done: automate, and encode domain knowledge as infrastructure. As the model gets smarter and as the harness matures, this task becomes easier. In the meantime, it is on every team to look for ways to convert their domain knowledge to infra so that Claude can write code better, so that code review catches issues automatically, and so the next person working on your codebase can contribute more easily.
Be excited for people when they succeed.
When a friend or family member reaches an important milestone like getting a promotion or making their first sale or scoring acceptance into their desired program, celebrate it. Buy them a drink. Send them a card. Tell them you’re proud to know them.
Being thrilled on someone’s behalf is a lovely way to be. Winning is better when shared.
Alpha from the claw father @steipete. If you’re ever going to do something more than once, make sure you turn that into an automated skill. Or if you ever do something hard, make sure to turn it into a skill for next time afterwards.
After multiple iterations on a search solution, I got this Insight: you can just load data into memory. It's faster.
We tend to use the DB for any non trivial amount of data, but 100k short strings are just a few MBs of memory. It can be worth it.
@thsottiaux Subagents asking for permissions do not propagate to the main agent, so, I find myself constantly going to check whether the subagent is "requiring permission to run playwright". I also do not know how to granullay allow tool permissions, just YOLO mode.
Not knowing how to code giving you an advantage is absolute nonsense.
The more you understand, the better your prompts, the better the feedback you give, the better product you ship.
What will change is that the intricacies of syntax, compilers, module systems, the finer details of type systems, won’t matter as much to everyone.
But you should absolutely understand how the pieces fit together. From syscall to pixels. Learn how data flows, because you’ll be able to secure your systems. Learn about performance, because you’ll be able to push your agent further. Learn about APIs, because they determine how to integrate systems. Learn about how systems fail, because you’ll be able to make reliable programs.
@atmoio@theo The mindset that you go from programming -> AI isn't great tbh. We're still providing a set of instructions to tell the computer what to do, just at a higher level. When it comes to behaviors, you can make both highly deterministic.
I wonder what's needed to remove the human in the loop and having the agent ship code autonomously. I see some low risk use cases, like refactors and dependency updates (minor??) where it'd be dope.