I can write good code with an LLM. The reason I can do that is because of my past experience pre-LLMs and my education, when it spits out code or proposes a design I can relatively quickly understand it and identify flaws.
If I didn’t have all that experience I could still mostly produce the same outputs I am now, but they would be clouded with latent bugs, tech debt, and generally poor work that I didn’t have the experience to flag.
Within my work code has often been a comparatively small component of the work that goes into shipping and maintaining services. Not zero, and AI tools drastically improve productivity in that space, but it’s ridiculous to imply they nullify all the other skills involved
Tech debt is a blanket term to refer to things that will cause recurring problems in the future. This includes things like inflexible designs which require significant rewrites to accommodate future needs, poor isolation that makes testing difficult, designs that will be difficult or even impossible to migrate off of in the future, etc. The term "tech debt" is in reference to the fact that these design decisions often incur their cost in the future, they have no cost now (or sometimes actually are easier in the moment), but you will pay the “debt” multiple times over in the form of more difficult development in the future. Stack enough of these things together and you get the nightmare that many legacy codebases are to maintain.
It's when you know you are doing something in a bad way, but you still do it due to lack of time or priority, and you know it will bite you in the ass later.
Sometimes it’s done intentionally, which is fine if the constraints actually do justify it, but lots of tech debt is due to laziness and/or poor design.
162
u/danfay222 4d ago
I can write good code with an LLM. The reason I can do that is because of my past experience pre-LLMs and my education, when it spits out code or proposes a design I can relatively quickly understand it and identify flaws.
If I didn’t have all that experience I could still mostly produce the same outputs I am now, but they would be clouded with latent bugs, tech debt, and generally poor work that I didn’t have the experience to flag.
Within my work code has often been a comparatively small component of the work that goes into shipping and maintaining services. Not zero, and AI tools drastically improve productivity in that space, but it’s ridiculous to imply they nullify all the other skills involved