Preferences

haiku2077 parent
- Extremely strict linting and formatting rules for every language you use in a project. Including JSON, YAML, SQL.

- Using AI code gen to make your own dev tools to automate tasks. Everything from "I need a make target to automate updating my staging and production config files when I make certain types of changes" or "make an ETL to clean up this dirty database" to "make a codegen tool to automatically generate library functions from the types I have defined" and "generate a polished CLI for this API for me"

- Using Tilt (tilt.dev) to automatically rebuild and live-reload software on a running Kubernetes cluster within seconds. Essentially, deploy-on-save.

- Much more expansive and robust integration test suites with output such that an AI agent can automatically run integration tests, read the errors and use them to iterate. And with some guidance it can write more tests based on a small set of examples. It's also been great at adding formatted messages to every test assertion to make failed tests easier to understand

- Using an editor where an AI agent has access to the language server, linter, etc. via diagnostics to automatically understand when it makes severe mistakes and fix them

A lot of this is traditional programming but sped up so that things that took hours a few years ago now take literally minutes.


jay_kyburz
I worry that once I've done all that I won't have time for my actual work. I also have to investigate all these new AI editors, and sign up for the API's and work out which is best, then I have to learn how to prompt properly.

I worry that messing with the AI is the equivalent of tweaking my colour schemes and choosing new fonts.

cartoonfoxes
Some of what I learned from a decade of keeping up with the perfusion of JS libraries and frameworks seems relevant to AI:

- anything with good enough adoption is good enough (unless I'm an SME to judge directly)

- build something with it before considering a switch

- they're similar enough that what I learn in one will transfer to others

- everything sucks compared with 2-3 years from now; switching between "sucks" and "sucks+" will look silly in retrospect

how do you prevent lock-in when choosing?
haiku2077 OP
If you can build, test and run your project entirely from the command line you're never locked in. Every project I've worked on in the past decade has not enforced a choice of editor, and most have been portable to 2-3 OSes.
haiku2077 OP
> I also have to investigate all these new AI editors, and sign up for the API's and work out which is best, then I have to learn how to prompt properly.

I found this didn't take me very long. Try things in order of how popular they seem and keep notes on what you do and don't like.

I personally settled on Zed (because I genuinely like the editor even with the AI bits turned off), Copilot (because Microsoft gave me a free subscription as an active OSS dev) and Claude Sonnet (seems to be a good balance). Other people I work with like Claude Code.

RaftPeople
> make an ETL to clean up this dirty database

Can you provide concrete details?

When I do projects in this realm, it requires significant discussion with the business to understand how reality is modeled in the database and data, and that info is required before any notion of "clean up" can be defined.

haiku2077 OP
Yeah, you still do all of that domain research and requirements gathering and system design as your meatbag job. But now instead of writing the ETL code yourself by hand you can get 80-90% of the way there in a minute or two with AI assistance.
rootsofallevil
> you can get 80-90% of the way there in a minute or two with AI assistance.

That just leaves the other 80-90% to do manually ;)

exe34
If you do it in prod, you can save a lot of time by just borking the database and hoping they don't have backups.
haiku2077 OP
Remember to run the commands outside of a transaction to optimize two statements!
jprokay13
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

haiku2077 OP
If your programming language can do remote debugging you can set it up in Tilt: https://docs.tilt.dev/debuggers_python.html
handfuloflight
Even things that took days or weeks are being done in minutes now. And a few hours on top to ensure correctness.

This item has no comments currently.