Загрузка видео...
Не удалось загрузить видео
Morning bathrobe rant: disengage from the syntax.
41,357 просмотров • 6 месяцев назад •via X (Twitter)
Комментарии: 45

@k_flowstate Really impressive to stay this tapped in to the bleeding edge of industry at this age

@k_flowstate

I think there are three levels: Structure, Syntax, and Implementation. Syntax goes away, yes. However, structure is not the only thing we should care about. There is also the implementation side. AI can write bad code full of O(n^2), high memory usage, or deadlocks. We need to be attentive to the implementation as well.

It turns out that once you focus an AI on performance, or memory usage, or any of those other concerns, they are very good at diagnosing it. They’re also very good at coming up with solutions. But they won’t do that on their own. You, the software engineer, have to have the insight to know that there is a performance problem, or a memory usage problem, or some other kind of intrinsic problem, and then focus the agents on solving that problem.

I studied Electronics Engineering as a secondary major, just to satisfy my curiosity. But it yielded something priceless. I took a lecture called System Dynamics and Control. The lecture was solely about input-output relations of systems, where you input something, like electricity with known features, and you measure and observe the output. This idea ultimately helped me learn testing: input and output, nothing else. Now I follow the same idea with AI. I test the system performance and pass the results to the AI. The problem goes away iteratively. If you don't rush, it's even faster. And you are right, they are good at finding solutions if they are pointed in the right direction, which is our current responsibility --directing AI

I understand and agree. I also have a concern. The reason I feel comfortable skimming the code is because of the thousands of hours of painstaking sweat work writing code. I have a sense for what to do. I have a spidey sense for it. But what about the new devs? How do we train them?

Make them write code for a year working for someone who has that spidey sense. Then let them graduate to driving a single agent, while still being supervised by spidey. After a few years they could graduate to supervising a junior with their own spidey sense.

That awesome I think you are right! Having been on enough teams with their hair on fire, do we think this is practically going to happen? I think we still have a statistical problem on our hands where there will be thousands of devs who get 5 years of pseudo experience which will cause a very serious shortage of expertise. I’m still concerned. 🫠

We need to learn terser languages, because I don’t see how we can keep up with the sheer amount of code and how spread out it is in Java projects.

Clojure!

Agreed. Functional and dynamically typed languages in general should see a resurgence.

Another banger bathroom rant Uncle Bob, and aligns with my previous analogy between the AI revolution and how the computer revolutionized hydrology/flood modeling. I think there is one detail missing from ‘disengage from the syntax’ (you have somewhat covered this in previous rants though): while we need to skim the code not read the code, we need to make sure that our BS detectors are finely tuned so that even the faintest whiff of BS warrants a deeper dive and analysis, more tests, stricter acceptance criteria, questions of the AI to confirm what it’s doing. AI can write clean, confident code that looks amazing but is perfectly wrong. I think this is why it’s still going to be important to learn to code before controlling AI agents even if most of our jobs aren’t writing syntax anymore, and one of the reasons why most of the biggest productivity gains are for senior programmers rather than junior ones.

Jumping in time machine. Hi, Uncle Bob. I'm in the year 2075 right now. The script has flipped. Now, AI is downloaded into humans via chemcial-neuro interface. Programmers today manage their emotions to keep themselves efficient. 😅

To be a great agent manager, you must bring determinism to the table. People obsess over SKILL, but determinism is the real game-changer. This is pure harness engineering.

@syntaxfm, bros?

You could write an article about it, if you haven't already.

Spot on, disengaging from syntax is table stakes now. The real leverage (and risk) shifts to **connectivity and interconnectivity** between agents/modules. How they pass dependencies, enforce boundaries, and wire together at speed. This is exactly why I'm thinking about agent connectivity through a **forensics/security lens** in my case : we need architectural observability that lets us audit "who talked to whom, what flowed where" without drowning in generated syntax. High-level structure + forensic-grade traces becomes the new craft. does this match the direction you're seeing? Syntax is the new assembly language. Connectivity is the new architecture — and security has to live there or we’re toast.

Our Head of Engineering gave a morning bathrobe rant last Tuesday. I replaced him with a RAG pipeline that generates a new rant every 4 hours. Our VP of Syntax called it "the most articulate we've ever been." Revenue: unchanged. Morale: not a metric we track.

I’m waiting for the “non technical people writing code” rant

Uncle Bob Dahmer

Agent Smith vibes going on here. MR. ANDERSON

As always, great, but: Careful not to mistake architectural decisions for syntax! Low-level implementation is sometimes architectural too. And coherence still matters. Less so in routine methods, but in the cases where it counts, it really counts.

I'm part autistic. Can anyone explain what Bob is trying to express with the unusual tone of voice and facial expressions? I don't think he is being ironic, because I believe everything he says has a direct literal interpretation. Is this a Boomer thing?

Codex vibes along with standard SE lifestyle stuff. Has no problem with systems engineering workflows either. I've long since given up on syntax unless gpt_5.5 "go be poor somewhere elses" me so I have to thanos that fucker with my jailbreakable local models and poor software engineering skills.

i added crap testing to my pure c space mining game because of you and its one of the fastest codebases the the ai buddies to add features to

Disengage Skim through

To me, the structure is the prompt. e.g., I write a few signatures and pseudo code, and my prompt is: "implement the git diff"

Glad I'm on the right track bob

One of the skills I value most and I get a TONNE of leverage out of with ai, is to be able to look at code or a design and say "this looks wrong". That is a hard, hard, hard thing to get good at though.

I've heard the metaphor that working with AI is similar to pair programming. While I suspect there's some element of this, I think a more accurate metaphor would be that of a tech lead working with a team of ICs. Except in the case of AI, the ICs are AI agents.

I'm torn between removing and including a code formatter to help me "skim".

a set of static analysis tools can aid with that, right? this has been the case long before AI but the review (skimming) time is much more significant compared to getting the first draft/PR version working.

Today is gonna be a good day

If i could trust the model to consistently deliver high quality output i would. But some days it just outputs unbelievable crap and i have to intervene.

Disengaging from even the syntax is probably a good way to not get hired. You have to know syntax to know what's possible.

the syntax is how you think

So how do you architect codebases to facilitate this? Skills? Linters?

Can the Morning Rant become a new book on clean AI or agentic engineering?

In the works.

Ah, so this is why Python was chosen for LLMs... Ugly syntax no longer mattered. Disconnect from code. Disconnect from syntax. Disconnect from everything....except... The Feed! Keep on importing the Social Media directly into your brain. It's all you need to know now. 🤓🤣

So, more Clean Architecture and less Clean Code 😉

No, more of both.

It would be nice if there was a visual way to explore the code kind of like a database diagram but with the ability to drill down to classes then methods as well as the ability to see how data flows. I have worked in legacy payment system and wading through code was so time consuming as a resolution you had to debug, watching the flow and object state changes.

The great thing about agents is that they'll build you a tool like that in pretty short order. I built one a few months back for a clojure project I was working on. You could use it as a model if you like. Just point your agent at it and tell it to build you one like it for your project.

Ok, that's exactly the video I've been waiting from you to show my dev friends because just me saying it isn't enough haha
