I don't really like coding using LLMs, although I ...
# random
e
I don't really like coding using LLMs, although I do use Copilot from time to time for work-related stuff, but damn documentation is one of those things LLMs get right. I tend to come up with very weirdly-worded docs (translating very technical code into words is a nightmare), and then I do an LLM pass to reword them. Massive help there. Also, very effective in keeping docs/comments up to date during code reviews.
βž• 1
y
They're sometimes bad with over-commenting though, or adding information across levels of abstraction (e.g. it adds a comment to a rather generic function detailing how it's used elsewhere in the module). I find myself trimming or rewriting LLM comments a lot It's probably a personal-preference thing
e
Yup! I mean I'd expected everyone to re-read the updated comments. My favorite model for docs is 5.4-mini. I find OpenAI models better at this compared to Anthropic ones.
Ah, I also use 5.4-mini for commit message generation when I can't bother writing them myself. Copilot allows setting instructions specific for this task and results are almost always on par with what I expect from myself. Switching to Haiku or Sonnet and the messages are extremely wordy, especially on the body.
βž• 1
e
Isn't it better to not have comments in the code? Keeping the code self-explanatory
e
Imo, that's only true half of the times. Comments explain what I'm trying to accomplish with the code, and the code itself explains how.
πŸ‘ 2
p
PR review is great too
βž• 2
s
Working on texts, especially marketing or customer communication, is one of its biggest strengths. Before I reply to an support mail I run it through an LLM.
βž• 1
And today it helped me to generate the Microsoft Store texts for apps.microsoft.com/detail/… I'm incredibly bad at describing those things, so it went through my codebase and just noted down what my app does.
Isn't it better to not have comments in the code? Keeping the code self-explanatory
I'm a huge fan of clean code and can see where this comes from. Comments go out of touch, that's true. What the code can explain should never be commented. But so often there are circumstances that can't be expressed in code. Mostly WHY this solution was taken over an (maybe) more obvious one. Also, edge cases often need a bit more explanaiton.
e
PR review is great too
Definitely. A first pass with AI is what I do now. Catches all nits. Then I can focus on the real review.
πŸ‘ 2
s
First pass is Detekt, second is AI. πŸ˜„
πŸ‘Œ 1
y
0th pass is compiler
😁 3
e
I haven't used Detekt in a long time because of the 2.0 rewrite using the AA. Hopefully something non-alpha will come out soon.
s
I switched to alpha 6 and didn't notice any issues on my projects.
I even tighten the rules and set cognitive complexity down to 10 to stop AI from building those overcomplex stuff. I must say Detekt is my friend here.
In the thinking log I see DeepSeek struggling with my Detekt rules and re-iterating until a simpler solution is found. 🀭
For example LongMethod with max lines 150 forces it to make Composables per view / concern instead of throwing everything in a big one.
y
Inb4 it discovers a bug in Detekt that disables cognitive complexity somehow
πŸ˜… 2
s
Of course I have laid out in detail in my Agents.md how I want stuff to be build, but AI loves to ignore that. Since it's not allowed to touch my Detekt.yml it can't ignore a failing build. 😬 I slowly find my way to work with AI. πŸ™‚
Opus 5 was the first model and DeepSeek V4 Flash the second that gave me half way satisfying results. I hate everything Codex and MiniMax did. These models were the first actually trying to make Unit Tests pass by fixing the production code and not by simply removing the assert statements. I think Detekt needs a rule for tests without asserts btw
But in general I like to write production code myself and just use AI as a reviewer, commit message generator and better search-and-replace tool. This agentic code generation stuff so often gives me code that's not quite right or is missing things.
I have no idea what the job is like these days. Can you guys still write code yourselves, or are you basically forced to be AI babysitters as in letting the AI generate the code and then reviewing it under time pressure? I read a post on Reddit where someone said they only get 40 minutes per ticket to review AI-generated code, while still taking full responsibility for it. They said they absolutely hate it. I lost my job eight months ago, and since then I’ve been working on my own pet projects because (aside from looking for a new job and doing the interview rounds) that’s basically the only work I have left. So I really have no idea what the job is actually like right now.
e
I feel like it depends on what the company or product is. In the sense that if you're developing a CRUD-like backend, then LLMs fit in perfectly: patterns are the same everywhere, so it's easy to automate everything. Plus it also depends on the budget: there are companies that limit spending to 50$ per month per developer, and others with a 2000$ cap per month per dev. If instead your job consists more on exploring solutions to unnavigated problems, then LLMs are 1% of the daily activities.
πŸ‘ 1
Reddit is full of doomers too, so I wouldn't take what you read there as the general truth.
πŸ˜… 1
s
That's why I ask here. πŸ˜„
e
Go to r/ExperiencedDevs for a better representation of what's going on. You'll see most experienced devs don't use AI extensively, or if they do it's for limited activities.
βœ… 1
As a closing note, I also have perf goals tied to AI this year, so I'm "forced" to use it under some capacity. But they're mostly related to process optimizations, not tokenmaxxing.
πŸ‘€ 1
s
😭 1
I also have perf goals tied to AI this year, so I'm "forced" to use it under some capacity.
Very interesting.
e
Yeah but you'll see most posts are sent from the US. Their job market is much worse than the European one. Also Bloomberg... Stack ranking is the norm so if you don't perform better than your teammates you're fired.
s
Noted. But still… I find it very tough to find a new job in Germany, too. πŸ€·β€β™‚οΈ The past 20 years I had no issue with that, now it’s different.
This! πŸ˜„
❀️ 1
The E-Mail link indeed has hover effects and some stuff going on, so extracting it to it's own Composable is the right call and what I would have done in the first place if I were completing the task. Of course I told DeepSeek in the Agents.md that those things need their own Composables, but I feel like AI just follows instructions when they want. Detekt here forces it.
y
Not to get tooo off topic, but I think that's why AI is finding success in math as well. Tooling for math is very good: you have a proof programming language like lean that forces your code to be a valid proof. Thus, the agent has to contend with all the limitations that come from the tooling. At the same time, the proofs it creates can be very hard to read or use unnecessary steps and such. I wonder if a detekt-style cognitive complexity could help there From Terence Tao's blog:
the AI-generated proof was not human-digested to be in the form of a publication-ready preprint; and it has taken me several days (with heavy AI assistance) to perform such a digestion, to place the proof in proper context with previous literature and to simplify and streamline the argument to highlight the main ideas
πŸ‘ 1
s
The party is over. Free DeepSeek V4 Flash is no longer on OpenCode Zen. I'm trying Hy3 and got pretty good results for the Composables, but now it left me with non-compiling code. It told me that the tool execution reported no errors, but it didn't actually run the tool. πŸ˜…
It just ran detekt and left out the others.
image.png
I feel that I can't quite trust the SWE benchmarks. I guess I need to try the models myself.
Doing some more tests I'm certain that Hy3 is a dumb model. Don't use it.