Thanks for sharing! I really appreciate your thoughts on how to approach vibe coding, especially on the risk of deskilling. I’ve been thinking about similar issues with LLMs more generally and trying to find a good balance in how I use them. Your take really resonates with me.
I am also on the fence about deskilling as I can see that junior engineers might gain skills by interacting with reasoning models like OpenAI's O3 through a chat interface. They can dissect each line of code and ask something like: explain to me why you use the decorator @lru_cache(None) at the beginning of a method. And they can keep asking more question to understand a piece of code.
However, vibe coding as a methodology totally obfuscate the coding aspect of the process. One could argue that there's no interaction between the coder and the code at all. The coder essentially become a prompt engineer, which is a different type of engineer than what we thought them should be. So we gain prompt engineering skills, and lose previously trained coding skills.
How do you balance between code generator, learning, and prompt engineering is a personal question. My north star is whatever helps me ship products/ models the fastest with the highest accuracy is what works.
Thanks for sharing! I really appreciate your thoughts on how to approach vibe coding, especially on the risk of deskilling. I’ve been thinking about similar issues with LLMs more generally and trying to find a good balance in how I use them. Your take really resonates with me.
I am also on the fence about deskilling as I can see that junior engineers might gain skills by interacting with reasoning models like OpenAI's O3 through a chat interface. They can dissect each line of code and ask something like: explain to me why you use the decorator @lru_cache(None) at the beginning of a method. And they can keep asking more question to understand a piece of code.
However, vibe coding as a methodology totally obfuscate the coding aspect of the process. One could argue that there's no interaction between the coder and the code at all. The coder essentially become a prompt engineer, which is a different type of engineer than what we thought them should be. So we gain prompt engineering skills, and lose previously trained coding skills.
How do you balance between code generator, learning, and prompt engineering is a personal question. My north star is whatever helps me ship products/ models the fastest with the highest accuracy is what works.