How much do you still code yourself?

With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.

My main concern isn’t whether AI can write the code. It’s keeping my own skills sharp: writing Elixir naturally, keeping editor keybindings in muscle memory, remembering APIs and patterns, and being fast when I actually need to debug something.

I’ve noticed that reading and reviewing generated code doesn’t seem to stick in long-term memory the same way actually writing and wrestling with the code does.

At the same time, deliberately avoiding AI just to keep those skills feels a bit like ignoring a very useful tool.

So I’m curious how other Elixir developers are handling this. Do you still intentionally write a certain amount of code yourself? Have you changed how you use AI to avoid getting rusty?

5 Likes

Maybe a good analogy is playing music by ear versus relying on guitar chords you find online. The latter is convenient, but important details can easily slip through, even though those chords were originally written by humans. AI isn’t entirely different in that sense; it also builds on human-written material.

Learning a song by ear forces you to engage with it more deeply, and you’re more likely to remember it later. And, if you stop playing a song, eventually you forget how to play it.

deliberately avoiding AI just to keep those skills feels a bit like ignoring a very useful tool.

The very useful tool will shape the end results.

I avoid all AI tools in 2~3 personal projects that I feel strongly connected with.

10 Likes

I avoid all AI tools in 2~3 personal projects that I feel strongly connected with.ho

How is that making you feel?

In past years, I still had large PRs eventually hitting 2k LOC but I felt more connected with the code and people could asked me anything about it that I’d explain right away.

The very useful tool will shape the end results.

Could you elaborate on this?

Actually, the article explain well your point.

I always do a CR after the assistant and that makes me write ±500 LoCs daily myself.

1 Like

Interesting. So you address feeedback yourself in order to write some code.

In order to deliver nifty elixir code instead of a spaghetty.

3 Likes

At work, we created some custom Credo rules for things we’ve kept seeing regardless of md files telling AI otherwise

2 Likes

My code is still 100% organic.

I’m underemployed so I can’t afford to have my code be generated by something.

11 Likes

Tell me about Credo rules :slight_smile:

Still, no one Credo rule would catch case/2 where with/1 fits better, or is_binary(s) and s != "" instead of <<_::utf8, _::binary>> = s and much more. I am still able to figure out the elegant way of writing the code that no one existing model can.

2 Likes

Besides self-reviewing + addressing automated AI/other people comments, what is the other moment you suggest writing the code myself?

I am not a big fan of giving bits of advise, even when solicited. Our mileage may vary.

Typically, when I figure out the task in my head, I instantly know, whether I would write the code myself, or delegate. Even more, I know what model am I to delegate.

2 Likes

i take that

I recently started deliberately doing some small tasks myself, usually the ones that feel pleasant, no matter if I feel agent would figure it out. For me, it’s a very effective way to keep understanding the project, better than just reading the code. I don’t consider it a waste of time.

Also, when I feel like I’d rather do something myself than explain it to the agent, I do it myself but I intentionally miss things and than tell the agent to complete it. For example, I use some API that doesn’t exist and expect the agent to create it. Kind of ‘prompting by coding’.

Solving Leetcode when waiting for Claude is also an option :smiley:

3 Likes

Good question. I learn elixir at the moment. I noticed that it’s hard for me to really learn a new language and to make progress on an app which is relevant to me. I thought it’s easier to learn something new when it’s more relevant for me and it was in the past but that changed. When it’s too relevant for me I want to have it faster so the urge to rely on AI is bigger.

So I don’t use the AI at all when I want to learn something.

1 Like

So I don’t use the AI at all when I want to learn something.

That’s a really good advice.

I found this article intriguing… Why you should still type code in 2026 - Doug Slater

I tried Claude code for a while and didn’t write anything but recently unsubscribed. I’m taking a step back to reevaluate. It seems really easy for the code to get away from you if you’re not super diligent, ymmv. The code technically works but there’s a lot of slop and cleaning it up isn’t fun imo.

I think I’m looking for a tool that lets me cook and supercharges in other areas. IMO, there’s a product waiting to be discovered with this thesis. If you’ve come across anything, let me know. I’m going to try out zed’s delta.

Overall, I’m planning to move a bit slower and hand code more (maybe I’ll let them fill in some things like mat-hek mentioned). I think leveraging LLMs for adversarial reviews, documentation, and automated end-to-end testing could be more useful than having them generate the code so I can keep the understanding more easily instead of managing a black box.

4 Likes

Funny enough, I would draw the When to use LLM picture absolutely differently.

I never allow an assistant to mess with the design. It can do what it was told to do, but choices, let alone the creative stuff. Nah.

I do design myself. Always. Very carefully. I do not talk to an assistant on this stage either. I do not need second-hand ideas, and LLM does not have original ones by design.

Tests is something I allow it to write, under my strong supervision. This and that must be property-based, that is unit, and this is integration, now you know the drill.

And the code?—100%, I will fix it if it did a spaghetti soup. Or rewrite completely, if I feel like it. Maybe super complex task, I would do it myself from scratch, just to save time.

2 Likes

Interesting point of view. Most engineers eagerly rely on heavy models like Opus/Fable/etc to do the design for them.

For more complex tasks, I tend to heads down on diagraming first then have AI to review any gaps.

1 Like