There’s a lot of gatekeeping coming from programmers these days. It seems that now software engineering isn’t just about writing code, but about having an architectural overview and product insight. Don’t worry our jobs are safe, cleaning up code after AI makes a mess! While possibly true, it is of note that these statement are being made en masse as AI coding becomes more prominent.
There are 2 major flaws in this logic. Firstly an assumption that AI coding is not going to get better. It will. Fast.
Secondly, in the land of AI, code quality isn’t an issue. We invented code quality to essentially a) stop ourselves from making mistakes b) make it easier to build larger systems using patterns.
Take an example of duplicating a “magic” string. In human terms that’s a no-no because it is easy to make mistakes while having to update it. It could also get mistakenly used in different places e.g “colour” in one part of the code, and “color” in another, leading to some bugs. So we protect our human selves by creating reference variables.
Machines don’t have that problem. There is basically no effort to update strings in multiple place. Correctly. That’s what they do, what they’ve always done, and what they’re very good at.
Yes that’s just one example of a pattern we use that machines don’t need to care about. The rest of the examples are easy to extrapolate.
Now, as long as humans and AI are in the same codebase, code quality does matter. Kinda in the same way a parent has to mash food for a baby to make it easier to eat. AI is expected to “write good code” so that we can understand it and contribute too.
Codebases where it’s only AI writing? When last did you peruse some byte code generated by compiler to confirm the level of code quality was acceptable to you?
Leave a comment