I wonder if the split between the coding as a craft, verses coding as a means to a finished product, is a false dichotomy. There’s always a mix between the mundane and the interesting for any coding project. Moving and shuffling data between API, modal, and database is pretty rote at this point, and is something that a coding agent can pick-up pretty easily. But there are still problems out there that rely on craft to do well if you look for them. Updating and aggregating records within a transaction using optimistic locking and intelligent choices for retries, for example. That is interesting work, and the satisfaction that comes from hand-rolling it is worth the delayed gratification, not to mention the understanding thrown out as a by-product.