Thanks Sam, this was a really though provoking read...I have also noticed the outsourcing of critical thinking in other areas from the AI models into areas like writing, content generation and art.
I use AI tools everyday to steelman my thinking and projects but believe there is a fine line between using it as a tool to help advance capabilities versus advancing AI internet generated brain slop.
Question: Do you have any general practical advice to give to novice level developers like myself who would tend to use AI models more than on critical thinking? What would be the line to draw as a beginner who wants to develop software development skills to build cool side projects but also do not want to get left in the dust by the vibe coding savants. I am keen to hear your thoughts :)
Awesome to hear Seb! I honestly think it varies based on what you're trying to achieve. If it were up to me, I'd recommend never letting it write the code for you. Actually wrestling with the tooling and making sure you understand why you're doing what you're doing is the only way to gain full command.
Writing the code yourself gives you the requisite time with the problem to see optimisations and better ways of coding in the broader context of your problem. AI generally writes what you ask it and you rarely know what you want before you begin.
Thanks this makes sense, but I think that not using AI at all will make you move a lot slower - if your intention was to spin things up quickly. Would your strategy then be to use AI as retrospective editor rather than a real-time idea generator?
It really depends what your goal is. I’m definitely not saying “vibe coding” has no place. There are plenty of reasons you’d want to quickly create a software product such as giving your prospective users something to play with to get quick product feedback.
However, I’m talking about what that can do to your mental edge when you’re placed in an environment where you need to apply first principles to solve a software problem. These types of problems are rare in the beginning but as you hit enterprise scale, you’re often tasked with coming up with a solution to a problem that hasn’t yet been blogged about publicly or written about on Stack Overflow. What do you do then?
My goal is to find myself there as often as possible because that’s where I learn the most and am most excited to go to work.
To answer your question, I use AI as a problem solving resource via chat - asking it questions about my approach to a specific problem and if there are any better ways to do it. I also ask it how certain things have been solved before and spar with it to make sure I understand why. I’m still always the one writing the code and driving the solution.
Thanks Sam, this was a really though provoking read...I have also noticed the outsourcing of critical thinking in other areas from the AI models into areas like writing, content generation and art.
I use AI tools everyday to steelman my thinking and projects but believe there is a fine line between using it as a tool to help advance capabilities versus advancing AI internet generated brain slop.
Question: Do you have any general practical advice to give to novice level developers like myself who would tend to use AI models more than on critical thinking? What would be the line to draw as a beginner who wants to develop software development skills to build cool side projects but also do not want to get left in the dust by the vibe coding savants. I am keen to hear your thoughts :)
Awesome to hear Seb! I honestly think it varies based on what you're trying to achieve. If it were up to me, I'd recommend never letting it write the code for you. Actually wrestling with the tooling and making sure you understand why you're doing what you're doing is the only way to gain full command.
Writing the code yourself gives you the requisite time with the problem to see optimisations and better ways of coding in the broader context of your problem. AI generally writes what you ask it and you rarely know what you want before you begin.
Thanks this makes sense, but I think that not using AI at all will make you move a lot slower - if your intention was to spin things up quickly. Would your strategy then be to use AI as retrospective editor rather than a real-time idea generator?
It really depends what your goal is. I’m definitely not saying “vibe coding” has no place. There are plenty of reasons you’d want to quickly create a software product such as giving your prospective users something to play with to get quick product feedback.
However, I’m talking about what that can do to your mental edge when you’re placed in an environment where you need to apply first principles to solve a software problem. These types of problems are rare in the beginning but as you hit enterprise scale, you’re often tasked with coming up with a solution to a problem that hasn’t yet been blogged about publicly or written about on Stack Overflow. What do you do then?
My goal is to find myself there as often as possible because that’s where I learn the most and am most excited to go to work.
To answer your question, I use AI as a problem solving resource via chat - asking it questions about my approach to a specific problem and if there are any better ways to do it. I also ask it how certain things have been solved before and spar with it to make sure I understand why. I’m still always the one writing the code and driving the solution.