# Every note and every line

I am a musician, specifically a guitarist and composer. It’s very enjoyable, but often surprisingly hard work. Sometimes it can take me hours to shape just 30 seconds of music, but when it clicks, it’s immensely satisfying.

As you can appreciate (and may already know from your own experience), it takes a lot more time just to get to this point. You have to learn to play an instrument (or instruments!). You have to learn about music theory, song structures, etc. Actually, that’s not quite true - there are great musicians without that theory, but for me it helps. And then there’s the production side! It’s a lot, and it takes a long time. Through all that time you go through pits of self-doubt, followed by peaks of elation.

These days, folks can get ChatGPT (other LLMs are available) to just create music. They can ask it to generate something that sounds like one of their favourite bands, and they can add their own ideas to make it more their own. It only takes a few minutes to get to hear something. And if they don’t like it, they can do it again.

This genuinely doesn’t bother me at all. Far from it, in fact. If someone can feel even a fraction of the satisfaction I get from creating music the more traditional way, then that’s great. Without the LLMs, they may never have bothered trying. And yet, that interest must have always been there, it just took a more palatable entry to make them explore it. And surely some of them will be inspired to pick up an instrument.

I’m never tempted to try the LLMs out for composition though, and recently I’ve been reflecting on why that is.

I think it’s that I enjoy the journey. I enjoy the process of crafting a piece, deliberating on individual notes. I like discarding a performance because something doesn’t feel right, practicing it until it does, then adding those final touches to bring out the finer moments. And I love deciding that the track is finally finished.

I can’t get that same enjoyment from prompting something to generate the piece. I care about every note, and I really get to know the track in detail. It has to be something I’ve created.

I’m finding that the same is true for my other craft - software engineering.

Of course, here I have tried the LLMs, and frequently still do. But much like with the music side, I’m not interested in the LLMs writing my code. I enjoy writing the code. I like discarding code that doesn’t feel right, and reshaping it until it does.

I should add here that I am a strong advocate of Test Driven Development, and I don’t think this is unrelated. In my opinion, TDD (and the fondness its advocates have for it) is a little misunderstood. I used to think it was the correctness that I enjoyed, but I think it’s much simpler than that. TDD is like sketching out your code in pencil. With each new test, each refactor, the sketch gains definition and strength. The pencil becomes a brush, and eventually you have completed your piece. For me, the enjoyment is the same as with composing a piece of music.

We tend to use construction as an analogy for software development, with our architects and engineers, but I don’t think this really works. Every engineer reinterprets the plans handed down to them. The process is much more of a craft, of an art even. It is a creative act.

I will re-iterate my earlier point though. I have no issue with anyone choosing to use an LLM over me, whether that’s for code or music for that matter. And I fully support anyone using LLMs to produce software that they have long wanted to do themselves, but felt they couldn’t for some reason.

For me, the joy isn’t in how quickly something can be produced, but in the act of crafting it myself. Every note and every line of code.

My avatar

Thanks for reading. In the words of Sam Malone, “This has been just one guy’s opinion”.

I may change my mind in the future. In fact, I probably will, and I’ll argue both sides with equal passion.

Or will I?

No.