I was recently developing a hybrid app with Expo framework. It supposed to run on IOS, Android, and Web. I extensively vibe coding it. For some reasons I decided to use plain sql instead of ORM or query builder. I organize my sql commands in files. As a vibe coder I ask AI to import the sql file and execute it. At first, instead of importing the file, it copy the command from the file and pasted it in the logic code. Not so DRY. And after several attempts of arguing with the AI it finally did as I intended.
But it was not really as I wanted. The AI used FileSystem plugin to load the file. While it will work on IOS and Android, it wont work on Web. Up until this point, we can clearly see that AI wouldn’t take technical consideration when implementing some features. Well maybe it just me that not good enough at prompting. But remember that AI is a language model. It means that you have to put your though into words in order for AI to understand what you really mean. Whilst considering the specs is done mentally when we use our brain instead of delegating it to AI.
The most dangerous thing is, would you know the technical dept the AI produce if you yourself do not know the technical specs? And how would you know it if you delegate the huge amount of your thinking to AI?
At the end of the day, software engineer is not just about coding. It is about comprehending the specs and designing a system that can satisfy the specs as much as possible.
I am not saying not to use AI in your workflow. But please use it responsibly and cautiously.
CatInBowl