I have these personal projects where I go out and try stuff that I’m curious about (related to software development). And this week was about tooling and the likes. From linting to unit testing, from open telemetry to containers.
There were some ideas behind this purpose, one that is a quote I saw somewhere that said something like “if I have 1 hour to cut a tree then I’ll spend 45min sharpening my axe”, the other is the idea that to be a good developer you have to know more than just coding the solution.
Both of them are connected in the sense that for you to create good software solutions you kinda have to know how to use your tools, how to use them well, and have them correctly setup, because you’re not going to just code your software into existence, you will also (hopefully) be maintaining it… that means it was a success.
And if testing probably feels like “sharpening your axe” for most people as it enhances the way you can more confidently do your work during development phase, to me having good logging, tracing and to some extent metrics capabilities feels like the same, the difference is that you’re just going to get the benefits of that “sharpening” further down the road.
I would say big companies already know this and have multiple persons or even teams dealing with everything it takes to be able to use these tools, in the case of a small team it feels harder to have a CI/CD setup with linting and unit tests, probably some e2e tests, all set up on some containers that also collect telemetry data and present them in some dashboards, because of the time and knowledge you need.
Although, certainly by now, having an LLM guide you through some of this configuration is something that will make this more feasible.
LLMs as configuration guides
In fact this is what I’m doing, I’m using Claude to help me guide my way through all these tools and configurations. I go through a plan where Claude tells me what I need to do but doesn’t do it itself. I’ll have to write it myself and this also gives me the opportunity to “ask” clarification questions that help me understand better what I’m doing. I don’t want to be an expert on this install and configuration, just get an idea of what it takes to get this running. (In the old days… like 2 years ago… I would go into google or youtube, jump into different tutorials that would eventually led me to a stackoverfow or serverfault page and 2 hours later I would either be able to go the next task or just quit)
That’s because there is a big part of this process that feels like plumbing to me… setting up Jest for this, configuring Vite, setting up Docker for that, setting up Jaeger for the other thing… is there really someone on the planet that likes doing this?
I just want to start using it… but… hey… someone has to do the work… because otherwise you’re never going to make testing, observability a part of your developer daily life, because everything will be hard or impossible to do, and developer experience matters.

Deixe um comentário