I am coming back to this. I’ve been using Claude pretty hard at work and for personal projects, but the longer I do it, the more disappointed I become with the quality of output for anything bigger than a script.
I do love planning things out and clarifying my thoughts. It’s a turbocharged rubber duck - but it’s not a great engineer
Me too. I’ve been playing with various coding agents such as Cursor, Claude Code, and GitHub Copilot for some time, and I would say that their most useful feature is educating me. For example, they can teach me a library I haven’t used before, or help me debug a production issue. Then I would choose to write the code by myself after I’ve figured everything out with their help. Writing code by myself is definitely faster in most cases.
You are right, I don't have any baseline. I just try it and see if it works. One good thing about the software field is that I can compile and run the code for verification. It may not be optimal, but at least it's testable.
My thoughts on scripts are: the output is pretty bad too, but it doesn't matter as much in a script, because its just a short script, and all that really matters is that it kinda works.
At first I thought becoming “10x” meant outputting 10x as much code.
Now that I’m using Claude more as an expensive rubber duck, I’m hoping that I spend more time defining the fundamentals correctly that will lead to a large improvement in outcomes in the long run.
My personal experience was that of a decrease in productivity until I spent significant time with it. Managing configurations, prompting it the right way, asking other models for code reviews…
And I still see there is more I can unlock with more time learning the right interaction patterns.
For nasty, legacy codebases there is only so much you can do IMO. With green field (in certain domains), I become more confident every day that coding will be reduced to an AI task. I’m learning how to be a product manager / ideas guy in response
Neat! I am going to check this out.
I recently built an MCP system similar to this called Nonlinear (so clever) that uses SQLite for storage that lives outside the repo.
Honestly though, in repo is the better option.
Claude recommended I use Tilt for setting up a new project at work.
I wasn’t sure if it was worth it…is it pretty easy to set up a debugger? Not only do I have to adopt it, but I have to get a small team to be OK with it.
Our target deploy environment is K8S if that makes a difference. Right now I’m using mise tasks to run everything
Honestly the same is true for human devs. As frustrating as strict linting can be for newer devs, it’s way less frustrating than having all the same issues pointed out in code review. That’s interesting because I’ve been finding that all sorts of stuff that’s good for AI is actually good for humans too, linting, fast easy to run tests, standardized code layouts, etc. Humans just have more ability to adapt to oddities at the moment, which leads to slack.
My rule of thumb is that if I get a nit, whitespace, or syntax preferences as a PR comment, that goes into the linter. Especially for systemic issues like e.g. not awaiting functions that return a promise, any kind of alphabetization, import styles, etc.
Yeah I find it pretty funny that so much of us (myself included) threw out strict documentation practices because “the code should be self documenting!”
Now I want as much of it as I can get.
Create a file like conventions.md in the root of your repository with specific commands for common tasks: running tests, linters, formatters, adding packages
Set this as part of the files it reads on startup. Then ask aider to look at your codebase and add to it :)
Aider has a lot of slash commands to familiarize yourself with. Ask and web are crucial commands to get the most out of it.
My recommendation to anyone is to use ask the most then tell it to “implement what we discussed” when it looks good.
Curious if anyone has any horror stories about either