I think to fully leverage AI, you have to be 1) knowledgeable in programming. 2) a great communicator. Cuz that way you can write the best prompts to get the most out of AI.
Finally an opinion about AI I can almost agree completely, but I say it not only help experienced developers, but also new developers depending on how you use the ai tools, if you prompt for some algorithm and just copy and paste it it will hurt in the long term, but if you take your time to keep prompting about the parts you don't understand and show more examples of you need it, it will help you grow a better developer with no downsides
For unit testing it is very good. I just pass my already made files to show which pattern I use and tell it to create tests with the same pattern for my current class and that's it, it takes less than a minute, something that would take me around an hour and a half to do.
Really insightful video on the topic of AI. The best part is that most of the ideas in this video are applicable to any programming language. Thanks Sean.
I have become so much more productive with AI. The only downside is that I expect very soon that managers will start expecting increased output because we have AI now. Yet, I have the suspicion we will neither get an increase in pay, or a shorter work week despite the increased output. So I just keep my AI use hidden from the boss.
This is what I believe: if you tell your boss xx hrs to write an app he’ll tell you 60% of xx because he’ll expect you to use AI. And if you say you want to write all the code and refuse to deliver the app faster, he might decide to replace you. So learn how to use it or else.
Thank you for your effort There is really long way to AI create an complex app, for example tell him to do a photo & video editor app that uses c++ for the engine (let's say some core functionality already written by this language) and obj-c as a wrapper or bridge and swift & metal for some features and UI or prompt for a 3D game. Until now it's super helper to refactor existing code or for remember some api usage etc as you mentioned in this video.
Great perspectives as always. Another scenario: jobs aren’t lost, but wages are reduced. At least for consultants. Employers now say when you bid on a job “I’ll pay you 60% of what you bid because you should be using AI and get it done faster.”
Prompt an AI to build an app is one thing. Fixing it when it breaks and understanding why it’s broken and how to fix it is entirely different. To me AI is a really knowledgeable assistant that hasn’t got experience in the real world - I use it to accelerate not to replace what I can do myself
Exactly. It takes *guidance* to get good code with ChatGPT - so it doesn't take away from a senior. It just makes the 'hill' to senior a little steeper.
Very sensible, balanced take on this. I joke and say that I must be amongst the top 10 users of these chatbots, so I like to think I've seen it at its best and worst. Have learnt a remarkable amount about design patterns, different technologies, etc. But without foundational knowledge, it can be quite dangerous. Also, knowing how to piece together an application, as opposed to just letting it spit out output and copy paste it will not get you very far, or worse, set you back. Cheers.
I have to agree, you need to know what is going on. It’s a teammate that will help you but not do the entire coding for you and I feel that’s how it should be. Will it build full apps for me? No, it’s not there yet and I’m ok with that. I’ve found it very useful to tell what more about errors or perhaps ask options and give me pros/cons before I go building a new view that is perhaps not needed. But you do gotta know what is going on because as with humans it does make mistakes.
i took a break of an year from development , now i came straight to your channel where i first learn how to make table views. But the changes in technology is giving me mini heart attacks ... it seems i have to again start from scratch now.
Do you use unit tests? Otherwise, how can you be sure all the cases are handled? In your example, it wasn't obvious to me that the code was correct. That's one concern I have.
I've tuned my LLMs to provide multiple alternative suggestions (with reasoning) along with the answer I seek. Great for learning while also being lazy 🤓.
I use AI in this way; I use it as a rubber ducky that actually talks back. I use it as a “person” I can keep asking questions about a certain topic as much as I like until I make sure I understand it.
It is making you better developer just like reading a lot of self-help books makes you are better person - it does not, unless you apply new knowledge. So if all you do is to say "oh, I know this" and then let LLM to generate another bunch of crap, no, it does not make you a better developer.
I said it made me a better developer because it's showing me another solution on how to implement something (like a teammate would), and then I can add that new method to my skillset.
@@wchristian2000 I don't know... I'm not a professional. I've written a CRM that was fairly successful back in the day that made me some side-hustle money and I have a friend that needs a crm that is web based for her business. I have zero experience in html and javascript and even have no idea what node.js but I have been using Cursor and I'm whipping together a pretty good crm for her--using those 3 technologies. No training except my life experiences having written a CRM in Visual Basic almost 30 years ago that I sold several thousand copies-of.
Don’t do pure tech for a career . Pursue a career that requires knowledge other than tech with tech sprinkled throughout it . Many pure tech roles will be outsourced .
Not sure if it's lazy, or just you don't have to re-do the same tedious thing you had to do for decades. For me, it's been amazing at both handling this tedious build of core objects, which honestly should just be part of Apple's library, like countries and codes etc, but also at helping me learn parts of swift, libs, and apple's methods in a far more reliable way than google or stack overflow. Just the fact it's not filled with crap from with last 15 years of ios development is a massive boon, because a lot of that isn't even useful anymore. I think senior engineers might feel it makes them lazy, but used correctly, it can make you massively productive too.
The fact that jobs may be lost is not good whatever way you try to paint a rosy picture. AI is going to massively impact the world and we are just not ready for it. It's concerning for kids of the future.
Not really. Think about it. Wix and Squarespace (the drag and drop website builders) were supposed to kill all modern web dev. It didn't. Just weeded out the cheap people from the agencies that wouldn't bother with them anyways. It's mostly hype and capitalists seeing a way to make a buck by trimming departments. It's already going terribly. People have a MASSIVELY negative view on AI-generated stuff, so it cheapens your brand and lowers your quality. You're always going to have industries evolve. Juniors will just probably start out as prompt engineers for AI first, and learn from the AI until they take it over. There is ZERO replacement for a competent engineer as an architect. LLMs just can't handle the nuance. Trust me. It's a shit show when they give AI the reigns. I don't see that changing any time soon.
If you know how to write it properly, it makes no sense to write 10 lines of nested garbage, copy it into a prompt, consider the result and copy it back. Doing it right the first time takes less time and doesn’t ruin the flow. If you don’t know and this is how you are learning then fine. Otherwise you are using it to your own detriment.
This depends. My work flow is to get the functionality working, then go back and figure out how to make the code readable and concise. In my work flow, ChatGPT is doing step 2 for me. If you disagree with my workflow, that's fine. But I bet there's a large amount of developers who have a similar workflow to mine.
@@seanallen I don't disagree with that workflow. What captured me here, and perhaps your example was contrived for demonstration, was where you started versus where you ended. You've been doing this professionally for a while and you teach many classes. I don't imagine that such a verbose start is your base level even when putting something together quickly. I really only commented because I think the idea of being "lazy" as you put it and using ChatGPT for all these sorts of things, is a bit of a slippery slope. You don't want to lose, or let atrophy, the hard fought for engineering muscle. Perhaps that means putting a bit more into the starting and moving to ChatGPT to polish rather than make new, the stone. For less seasoned devs it is even worse as you risk never developing the muscle or understanding to begin with. This is NOT anti-AI but rather, much like everything, finding balance. Being careful not to "lazy" yourself into mediocrity. I say this generally and everyone can decide for themselves where the right balance is.
I think you're recklessly overestimating AI while underestimating humans. AI is theft of millions of developers heart and minds. It doesn't learn or train, but rather produces output based on mined data from readily accessible online technical content. Most of written code has already been written before, which makes pattern recognition combined with probability not terribly difficult. The real advancement of AI is massive data acquisition and computational processing required to make it work. The optimization you demonstrated is merely recognizing an existing pattern and substituting it with another. The code it produces isn't impressive either. Optionals are safer and more readable solution than nullable variables. An experienced developer notices it, whereas a inexperienced one doesn't. Trusting AI code introduces a grave risk where it can introduce vulnerabilities and hard to find bugs in the code base. Let's assume AI eliminates the need for roughly half the developers required. Who will it steal its "training" data from as technology continues to progress? How will it continue to produce the marginal quality code it produces? To put it more bluntly, AI works by dumbing ourselves down to make it appear smarter.
I agree. I prefer beginner to write simpler code with if and switch but with understanding than with some clever code from chatGPT but not fully understood.
@ I've noticed the people who are easily impressed with AI's capabilities either lack the formal CS training and or the years of programming experience. Unfortunately, they don't know what they don't know and are easily fooled into thinking AI is as good as a knowledgeable developer. A lot of UA-cam AI content is made by such people and it really spreads a lot of misinformation.
All of this generative AI is really just clever pattern matching, data sourcing and replying within the context of the question.... BUT whatever you use it for, you have to actually have some solid foundational knowledge first because so often it will produce an answer that *looks* legitimate but is actually factually wrong or utter garbage - like an overconfident moron.
I don’t get it. You are explaining me that I need to code better because AI is gonna be mediocre and at the end you show a sponsor to make AI websites.
I'm an iOS developer. My audience are iOS developers. My channel is all about native iOS development in Swift. We want to build apps, not create websites. Squarespace makes sense for my audience.
AI-enabled IDEs will guide non-coders through steps to build fully functional apps. In ten years, with AI's help, everyone will be a top 10% coding senior developer.
in the sake of content, you prematurely perform reflections on using AI just to iterate stupid narratives. Nobody cares if you think doing something better makes you lazier. I have running water too bad im sooo lazy to go to a well. Like, the point of human innovations keeps being broken down for people that don't matter.
My super power is asking chat gpt to write some code, then have Claude review and refactor it
which’s better Claude or Cursor or Replit ?
Us bro us 😊
im dead 💀
I think to fully leverage AI, you have to be 1) knowledgeable in programming. 2) a great communicator. Cuz that way you can write the best prompts to get the most out of AI.
Truly! 💯
I agree.
Finally an opinion about AI I can almost agree completely, but I say it not only help experienced developers, but also new developers depending on how you use the ai tools, if you prompt for some algorithm and just copy and paste it it will hurt in the long term, but if you take your time to keep prompting about the parts you don't understand and show more examples of you need it, it will help you grow a better developer with no downsides
For unit testing it is very good. I just pass my already made files to show which pattern I use and tell it to create tests with the same pattern for my current class and that's it, it takes less than a minute, something that would take me around an hour and a half to do.
I haven't tried this yet, but will give it a shot 👍
Really insightful video on the topic of AI.
The best part is that most of the ideas in this video are applicable to any programming language. Thanks Sean.
Happy to help!
I couldn’t agree more with you. This is exactly my experience coding with GPT.
I have become so much more productive with AI. The only downside is that I expect very soon that managers will start expecting increased output because we have AI now. Yet, I have the suspicion we will neither get an increase in pay, or a shorter work week despite the increased output. So I just keep my AI use hidden from the boss.
This is what I believe: if you tell your boss xx hrs to write an app he’ll tell you 60% of xx because he’ll expect you to use AI. And if you say you want to write all the code and refuse to deliver the app faster, he might decide to replace you.
So learn how to use it or else.
Interesting thought process. Things are changing, that's for sure.
I feel ya. Instead of having a tool to ease the job, you get the tool to your own detriment.
I use it a lot for code documentation. I know what my code is doing but I struggle to articulate it in writing in a way everyone can understand.
I haven't tried this yet. Will give this a shot.
Thank you for your effort
There is really long way to AI create an complex app, for example tell him to do a photo & video editor app that uses c++ for the engine (let's say some core functionality already written by this language) and obj-c as a wrapper or bridge and swift & metal for some features and UI or prompt for a 3D game.
Until now it's super helper to refactor existing code or for remember some api usage etc as you mentioned in this video.
Great perspectives as always.
Another scenario: jobs aren’t lost, but wages are reduced. At least for consultants. Employers now say when you bid on a job “I’ll pay you 60% of what you bid because you should be using AI and get it done faster.”
I could see wages going down for some, but up for others. Times are changing, that's what we know for sure.
Prompt an AI to build an app is one thing. Fixing it when it breaks and understanding why it’s broken and how to fix it is entirely different.
To me AI is a really knowledgeable assistant that hasn’t got experience in the real world - I use it to accelerate not to replace what I can do myself
I think that not only the best developers with hard skills will survive, but also with great soft skills. AI still couldn't replace people in this...
Agreed.
Exactly. It takes *guidance* to get good code with ChatGPT - so it doesn't take away from a senior. It just makes the 'hill' to senior a little steeper.
Very sensible, balanced take on this. I joke and say that I must be amongst the top 10 users of these chatbots, so I like to think I've seen it at its best and worst. Have learnt a remarkable amount about design patterns, different technologies, etc. But without foundational knowledge, it can be quite dangerous. Also, knowing how to piece together an application, as opposed to just letting it spit out output and copy paste it will not get you very far, or worse, set you back.
Cheers.
I have to agree, you need to know what is going on. It’s a teammate that will help you but not do the entire coding for you and I feel that’s how it should be. Will it build full apps for me? No, it’s not there yet and I’m ok with that. I’ve found it very useful to tell what more about errors or perhaps ask options and give me pros/cons before I go building a new view that is perhaps not needed. But you do gotta know what is going on because as with humans it does make mistakes.
i took a break of an year from development , now i came straight to your channel where i first learn how to make table views. But the changes in technology is giving me mini heart attacks ... it seems i have to again start from scratch now.
Do you use unit tests? Otherwise, how can you be sure all the cases are handled? In your example, it wasn't obvious to me that the code was correct. That's one concern I have.
Can you do a tutorial to create a dynamic form UI with different size elements(both vertical and horizontal)?
I've tuned my LLMs to provide multiple alternative suggestions (with reasoning) along with the answer I seek. Great for learning while also being lazy 🤓.
I use AI in this way;
I use it as a rubber ducky that actually talks back.
I use it as a “person” I can keep asking questions about a certain topic as much as I like until I make sure I understand it.
It is making you better developer just like reading a lot of self-help books makes you are better person - it does not, unless you apply new knowledge. So if all you do is to say "oh, I know this" and then let LLM to generate another bunch of crap, no, it does not make you a better developer.
I said it made me a better developer because it's showing me another solution on how to implement something (like a teammate would), and then I can add that new method to my skillset.
I use local LLM a lot during my app development, and it makes me feel like I am the Iron man talking to Jarvis.
Not a professional but my gut feeling is the senior developers are the ones who need to be in fear because they make the big money.
I would have to argue the opposite. I think senior devs are going to have much higher job security now because of their experience. But I’m not sure.
@@wchristian2000 I don't know... I'm not a professional. I've written a CRM that was fairly successful back in the day that made me some side-hustle money and I have a friend that needs a crm that is web based for her business. I have zero experience in html and javascript and even have no idea what node.js but I have been using Cursor and I'm whipping together a pretty good crm for her--using those 3 technologies. No training except my life experiences having written a CRM in Visual Basic almost 30 years ago that I sold several thousand copies-of.
AI as pair programming makes more sense than it writing the code from scratch. Now the IDEs need to make that better.
Chatgpt hasnt made us lazier, its made us faster the same way google and stack overflow made devs faster when it first came out
one more reason to just understand concepts rather than syntax
AI may reduce the number of job openings, but I still think this is not a cause-and-effect relationship.
Learning IOS dev is starting to feel more like a pipe dream every year to me. I’m losing a lot of motivation because of this😢
because AI?
Don’t do pure tech for a career . Pursue a career that requires knowledge other than tech with tech sprinkled throughout it .
Many pure tech roles will be outsourced .
@@RatherBeCancelledThanHandled so what's an example of jobs?
Not sure if it's lazy, or just you don't have to re-do the same tedious thing you had to do for decades.
For me, it's been amazing at both handling this tedious build of core objects, which honestly should just be part of Apple's library, like countries and codes etc, but also at helping me learn parts of swift, libs, and apple's methods in a far more reliable way than google or stack overflow. Just the fact it's not filled with crap from with last 15 years of ios development is a massive boon, because a lot of that isn't even useful anymore.
I think senior engineers might feel it makes them lazy, but used correctly, it can make you massively productive too.
The fact that jobs may be lost is not good whatever way you try to paint a rosy picture. AI is going to massively impact the world and we are just not ready for it. It's concerning for kids of the future.
Not really. Think about it. Wix and Squarespace (the drag and drop website builders) were supposed to kill all modern web dev. It didn't. Just weeded out the cheap people from the agencies that wouldn't bother with them anyways. It's mostly hype and capitalists seeing a way to make a buck by trimming departments. It's already going terribly. People have a MASSIVELY negative view on AI-generated stuff, so it cheapens your brand and lowers your quality.
You're always going to have industries evolve. Juniors will just probably start out as prompt engineers for AI first, and learn from the AI until they take it over. There is ZERO replacement for a competent engineer as an architect. LLMs just can't handle the nuance. Trust me. It's a shit show when they give AI the reigns. I don't see that changing any time soon.
Basically teaching the AI
If you know how to write it properly, it makes no sense to write 10 lines of nested garbage, copy it into a prompt, consider the result and copy it back. Doing it right the first time takes less time and doesn’t ruin the flow. If you don’t know and this is how you are learning then fine. Otherwise you are using it to your own detriment.
This depends. My work flow is to get the functionality working, then go back and figure out how to make the code readable and concise. In my work flow, ChatGPT is doing step 2 for me. If you disagree with my workflow, that's fine. But I bet there's a large amount of developers who have a similar workflow to mine.
@@seanallen I don't disagree with that workflow. What captured me here, and perhaps your example was contrived for demonstration, was where you started versus where you ended. You've been doing this professionally for a while and you teach many classes. I don't imagine that such a verbose start is your base level even when putting something together quickly. I really only commented because I think the idea of being "lazy" as you put it and using ChatGPT for all these sorts of things, is a bit of a slippery slope. You don't want to lose, or let atrophy, the hard fought for engineering muscle. Perhaps that means putting a bit more into the starting and moving to ChatGPT to polish rather than make new, the stone. For less seasoned devs it is even worse as you risk never developing the muscle or understanding to begin with. This is NOT anti-AI but rather, much like everything, finding balance. Being careful not to "lazy" yourself into mediocrity. I say this generally and everyone can decide for themselves where the right balance is.
Kills a lot of entry level jobs
This is my belief as well. It's harsh, but true.
@ I am safe as I am only doing it for hobby. I might get my own app in the store to make some petty cash.
@ no entry level coders, no senior coders in the future.
I think you're recklessly overestimating AI while underestimating humans. AI is theft of millions of developers heart and minds. It doesn't learn or train, but rather produces output based on mined data from readily accessible online technical content. Most of written code has already been written before, which makes pattern recognition combined with probability not terribly difficult. The real advancement of AI is massive data acquisition and computational processing required to make it work.
The optimization you demonstrated is merely recognizing an existing pattern and substituting it with another. The code it produces isn't impressive either. Optionals are safer and more readable solution than nullable variables. An experienced developer notices it, whereas a inexperienced one doesn't. Trusting AI code introduces a grave risk where it can introduce vulnerabilities and hard to find bugs in the code base.
Let's assume AI eliminates the need for roughly half the developers required. Who will it steal its "training" data from as technology continues to progress? How will it continue to produce the marginal quality code it produces? To put it more bluntly, AI works by dumbing ourselves down to make it appear smarter.
I agree. I prefer beginner to write simpler code with if and switch but with understanding than with some clever code from chatGPT but not fully understood.
@ I've noticed the people who are easily impressed with AI's capabilities either lack the formal CS training and or the years of programming experience. Unfortunately, they don't know what they don't know and are easily fooled into thinking AI is as good as a knowledgeable developer. A lot of UA-cam AI content is made by such people and it really spreads a lot of misinformation.
All of this generative AI is really just clever pattern matching, data sourcing and replying within the context of the question.... BUT whatever you use it for, you have to actually have some solid foundational knowledge first because so often it will produce an answer that *looks* legitimate but is actually factually wrong or utter garbage - like an overconfident moron.
If AI has LEARNING ABILITIES, SORRY we all are dumb
I don’t get it. You are explaining me that I need to code better because AI is gonna be mediocre and at the end you show a sponsor to make AI websites.
I'm an iOS developer. My audience are iOS developers. My channel is all about native iOS development in Swift. We want to build apps, not create websites. Squarespace makes sense for my audience.
Ternary is bad code.
I notated that... All my good examples were too old and not in my recent conversations on ChatGPT
AI-enabled IDEs will guide non-coders through steps to build fully functional apps. In ten years, with AI's help, everyone will be a top 10% coding senior developer.
Time will tell...
I think it replaces developers with business owners doing their own apps. I think people will turn into software developers
computers are gay
😂
Blame Sam altman
in the sake of content, you prematurely perform reflections on using AI just to iterate stupid narratives.
Nobody cares if you think doing something better makes you lazier.
I have running water too bad im sooo lazy to go to a well. Like, the point of human innovations keeps being broken down for people that don't matter.
Coding has become a crap career anyway.
Disagree