My ChatGPT 4 Workflow & Tips as a Software Engineer
HTML-код
- Опубликовано: 2 июн 2024
- I tested ChatGPT 4 on a real world project and got some very good results.
Follow me on instagram: @withmarko
=== Links ===
☕️ My Notion Template:
links.withmarko.com/notion-te...
☕️ Source code on my Github:
links.withmarko.com/github
☕️ The typing game:
links.withmarko.com/typing-game
☕️ My new LED cube clock:
links.withmarko.com/led-matri...
divoom.com/marko (code MARKO)
☕️ My Free Window Manager:
links.withmarko.com/one-menu
☕️ My Productivity Mouse:
links.withmarko.com/productiv...
☕️ My Productivity Keyboard:
links.withmarko.com/productiv...
☕️ My Headphones:
links.withmarko.com/headphones
☕️ My Backpack
links.withmarko.com/backpack
=== Business Inquiries ===
Email: business@withmarko.com
Instagram: @withmarko
=== Affiliate Disclaimer ===
I might earn a small commission at no cost to you, if you click on the product links above. - Наука
AI won’t replace jobs. People who know how to take advantage of AI will
Well said 🙌
Imho It might actually replace junior dev jobs pretty easily and not that far in future. Also I think we might actually get to a point where we don't really read the code it generates if it gets pretty accurate almost all the time, like everyone saying what to make and it does that on the fly. And if AI really becomes AGI ( which I doubt it will ) then all the jobs will be probably replaced and the concept of work will be different I guess.
Interesting take, I feel like instead of replacing engineers, the bar will just become higher what it means to be "junior". Soon a "junior" will be considered someone who can do what "seniors" do now, and "seniors" will be held to an even higher standard. But this will all happen without them having to put in too much more work than they are putting in now.
Speaking about replacing development jobs, we will be fooled if we believe that a significant disruption to the employability market is not going to happen. Because that happened so many times in the history in many industries/jobs.
At somepoint of time, the need to learn (how to code) will be replaced by (how to get the code generated by AI). In future, if we combine this AI techniques with low-code platforms, then a business owner can easily replace a large number of developers to one or two.
AI might not totally replace developers jobs (at least in forseable future), but for sure it will reduce the need of large developers teams. And guess what? AI might be the solution of developers shortage in the market!
At the very beginning.. and later general AI will replace them too
I currently use it as a tool for explaining more so than producing code. It's really good at concisely explaining software patterns with simple working examples etc.
It explained docker to me and helped me dockerize my application in minutes. I think it would take longer to find the information myself
this is largely my experience - its like a dynamic intelligent help assistant on steroids, but that's all. Very useful on a day to day basis
wrr
Absolutely! I have also found that GPT4 can be really helpful at spotting bugs or explaining why some compiler error might be happening too, which can save time. Just yesterday I had it explain to me why my move constructor was getting deleted (I had a reference variable in a large class that I skimmed over). I was scratching my head at the problem but GPT was able to help me resolve it in a few minutes.
@@DubstepCoder It saves so much time googling and going down the wrong path.
@@danehague1 Yeah! Googling feels like its becoming outdated with this :P unless you need to find information that is more recent than the training dataset.
I find gpt is a better tutor and assistant than a full replacement. It's really sped up my work flow.
100%. Just used it not to write my code but help me understand how to use some Rust frameworks and libraries for a project I've been wanting to try developing as well as some concepts of the language I hadn't yet picked up on fully. Fantastic tool for this purpose, I like to think of it more as a significantly more sophisticated Google replacement for research.
I love work semantic of workflow now implies "finishing coding given a time period".
workflow used to imply automation of a task.
This means "finishing coding" is now considered a automatable task.
I find this amusing.
Storytelling is on point. Killing it Marko 😎
Hey thank you 😊
@@withmarko ChatGPT is not helping in Coding and XML (Typescript and XML script)
wrr
Great video. You do an excellent job of breaking down the project while also making it entertaining to watch.
Great video as always! I have been using GPT4 to help me with google sheets commands and small amounts of gscript recently, which it is very good at. I agree about the context barrier however - I have hit this a couple times when working on some larger projects and asking for advice
Very interesting and brief video you threw right here. Love your videos, Marko!
Heia Marko! Heia Norge! ChatGPT have saved me hours of work allready and I have done very little to optimize my prompts. Using a prerequisite standard seems like an awesome way to streamline the transformer towards a ideal response!! Thank you!
I frequently ask ChatGPT how to speed up my code, and I already had some major improvements out of that. Also, it's a charm to write docs based on the function and create unit tests (obviously needs to be double-checked).
I hope you don't work for a big company where the code is closed source. By giving ChatGPT access, this means you give away your companies code and thus secrets as ChatGPT will reuse that.
@@DoenerFoundation I do not believe it is trained on the data that is input
@@matbeedotcom It's a fact that your are sending internal data to an external service. Would you mail me your code so that I can analyze it for you? No? Why do you do it then to a service which value is to collect and train on as much data as possible?
Don't get me wrong. I am as hyped as you are and really look forward boosting up my personal development using AI. I also guess just getting code examples of how to approach things makes sense. But just blindly giving OpenAI access to your code is like making your repo public and asking everyone around for advice. I hope there are no secrets in your code. Read the news - there are already examples of people causing trouble for their company, e.g. at Samsung where internal data was fed to ChatGPT. I hope you guys don't get sued soon.
@@DoenerFoundation who cares man, the company wont know who gave up the code since the exact code wont be presented to someone, just a mix of it
@@matbeedotcom It does, it's written on the home page of chatgpt if I remember well
I've started using with the same intent, to see if it will replace me. So far, I've found it really good for documenting code. I just explain to it the documentation I want and then I give it my function and the results are shockingly good.
In my case, instead of losing weeks of development time trying to create something decent to see if I can accomplish what I'm thinking of, or simply realizing that I cannot continue due to lack of knowledge, I have managed to create a mockup of the application in just two nights with almost all the functionalities I had in mind. It's amazing.
This has been exactly my experience. It's incredible how far ahead of my current capabilities GPT will get me to an actually working piece of software, that would have taken ages of googling and bug fixing previously.
🎉
@@lakesidewiseman same thing happened with me, lack of knowledge won't be a hinderance anymore and it canhelp speed up learning process
I also work and live in Norway and work for an IT consulting company. I use it quite often, but I see it more as an assistant / Jarvis type of helper rather than something that will replace us in the future. People and companies just will integrate its possibilities as a part of “your job”. And you still need to know what you ask, and what you are building. That said - future looks extremely interesting.
First time I've actually got to see a software engineer work, looked like so much fun!
As a beginner I think is ok to use it but with moderation. Sure is faster than google, but you still need to go over documentation and examples by yourself if you want to learn. It is also useful for code review and even if it proms the solution is always good idea to ask it to explain in depth on how things work and also show at least another example.
It is helping me a lot with daily tasks and logics, works for me like a invisible friend hoo knows much more than me and it's there every time I need it! Amazing for sure!
I finally caved in and started using Chatgpt and it was pretty incredible. It's like going to stack overflow except you find the answer to your question almost immediately
Yep. It's crazy.
I think with a significantly higher token limit and harder training parameters to avoid code hallucinations it will pretty easily replace some basic contracting positions for people that have a pretty basic use case, specifically if it gains the ability to create the directory structure and files automatically and simply export the root directory locally or to the cloud.
What a great walkthrough Marko!
I don't remember how I survived without ChatGPT last year - it helps me so much with syntax / diagnosing any errors in my code.
Hi, in which language of code?
@@imwalidsalhi I am a data scientist and I mainly work in SQL and Python!
@@candidlyvivian Thats extremely,cool ♥ it also helps me too in diagnosing code, currently trying to refresh my memory of HTML, CSS, Java, Jquery, Python and SQL.
Hey Vivian, thank you 😊 I haven't used it for debugging yet, maybe this is something I should try soon. Have you tried asking it to make something from scratch? 😃
@@withmarko definitely try it out! I've even gotten it to rewrite R code as Python // different SQL syntax translations - saves so much time :)
and no I haven't tried to make something from scratch - that could be a future side project!
Chat GPT won't but it's a great tool, so great that I'm learning faster now than I have been when I was just watching tut vids at udemy. It's like having a tutor beside you answering your questions.
Using the ChatGPT plugin, I hooked it up to my terminal and let it make the changes and test the code by itself. Works pretty well!
I was so stuck trying to update a viewmodel with values from a form collection. There were so many things to consider mapping, the HTML that was generated, naming conventions, etc and I wasn't really familiar with the code. This thing helped me track down the issue. Told me steps to troubleshoot to check the payload in the browser dev tools among other things. Eventually narrowed it down to the HTML (names of the input controls didn't match the handler code). Once I told it what the exact problem was. it rewrote the offending lines of code for me and completely redesigned the way the model was being passed to the controller. I had been struggling with this for a couple days. Using this tool, I solved it in two hours. I'm hooked. This will legitimately revolutionize the way software is being designed. It's the biggest thing since Windows 95!!
The ways I use GPT as a dev are mostly for quickly doing tasks that would take me a while to do, help me go through a problem that's maybe more complex and requires hours and hours of testing different ideas, and finally I use it to learn and better myself, asking it things like "What are some good practices to X, Y, Z"
Thanks for sharing, Marko!
Thank you for creating and sharing this content.
I use chatgpt a lot and i can say it is a very good assistant and makes learning new things easier and helps me materialise ideas faster, it won't replace software engineers but it would be a good assistant and help save crucial time that can be used on other things
I have been following you for a long time, besides, I am also an ios developer intern, I wish I had an old computer to program and fulfill my dream, I love it and always support your video marko 🥰😃
Great video, thank you for the insights!
chatGPT has taken my coding to several new levels. It's so good being able to drill down on shit like 'yeah but what IS polymorphism, provide examples'.
I enjoy to watch all your videos! What headphones are you using?
I don't think it will replace developers and instead will be a tool to fast-track things, such as the example you gave at the end when you said it was saving time. The only issue is learning how to fully use it. I do think in the future as it's developed more that it may start down sizing teams.
Marko the best. I really like your content 🤩
Thank you my friend 😊
Awesome mate !!...whats the matrix clock you have pretty sick
yes , i also find it's really improve your work by 20% instead of replacing the whole task
Agreed 👍
You sound like guga from the food channel! Love it.
At first I was basically using it as a google 2.0 (would ask it questions and then let it look up the answers for me). But recently I've been getting it to do monotonous coding for me, like creating style sheets based on the themes I describe etc.
Hitting the jackpot!
IMO GPT won't replace programmers (any time soon), it will elevate them and increase productivity. Everyone from junior to senior engineers can benefit.
Think of how many assembly language programmers lost their jobs when modern programming languages were developed. That's a joke of course. The automation freed human resources and time, and as things unfolded and the industry grew many many more jobs were created thanks to automation and programmers not having to do redundant tasks.
@@jichaelmorgan3796 Exactly, people usually those who would love the devs to lose their jobs, are thinking about it the same way as anything else. In context of the present. Wordpress = end of developers, Wix = end of developers etc. Every damn time humans figure out how to automate or make something more efficient, they immediately use the free resources to do even more stuff. I think with AI tools, we will see mythical Atlantis... the devs being able to deliver on deadline completely functioning project... :D
So what can be done after it starts to loose context? Is it possible to get relevant responses to the project if the project is bigger than the one shown in the video? If so how?
One tip about the token limit of ChatGPT: When ChatGPT forgets or hallucinates a function, you can give it some of the existing code as context in your prompt. This method has worked very well for me.
GPT-4 has double the context window of 3.5 (8192 tokens vs 4096 tokens). and there's a beta gpt-4 with 32768 tokens of context. That's around 50 A4 sheets of memory.
Honestly I can’t wait for it 😃
I think the context size is the only measure that stops it to replace jun-mid and senior developers
If you constantly remind it of the relevant context (I often paste the entire class/classes I want to modify or expand), it does quite well. The context window is the biggest drawback today, though. When it has enough context, it usually does an equivalent job of a junior dev.
@@withmarko I thought you used GPT4 in this video?
Congrats you created the R in CRUD, like you always do.
Great prooject and idea, one point I would like to add which is that in order to make sure the country mapping is accurate, you need to validate the country mapping because chatGPT data is valid until September 2021, as maybe Amazon support new countries after that period, right?
I suppose if you got it to design a larger project in terms of components and then built those components in their own context, this might work better. I wonder what the impact is in terms of scalability for them to increase the context? I mean, could you double it and pay them for that?
Marko which vs code extensions and theme do you prefer? thanks for the content, all the best!
So cool again! What is your camera?
Awesome. Thanks for this. I didn't even think about the context limitations! That will definitely keep our future AI overlords at bay for the time being.
After using ChatGPT for a lot of my school work, I dont think it will replace programmers. I noticed in the beginning, I asked very simple question, but as i learned more and more, i asked more complicated question. So if I did not know what I was doing, I would not get a good enough answer out of it. It's never smarter than the question it is asked :P
wrg
agreed
Perhaps it will replace programmers, but it is impossible for it to replace software engineers
I use chatGPT mostly to help me understand some code (e.g some code that seems ambiguious) and also with debugging. I would say it is definitely a usefool tool to have for software developers.
What do you use as a camera and microphone ? Great content :) 👍
Wow cool! How many messages do you figure it can keep in context?
Hello Marko! Absolutely love your videos. Just a question what accessoires you use when filming with your iPhone 14. what video editor do you use ? Thank you!
Hey thanks! 😊 I use the DJI OM6, I film with the filmic pro app, and I edit using DaVinci Resolve 😃
Hello Marko, Thank you for your videos. I have one question what model is your MacBook Pro ? :)
Hi Marko, loving your videos from the UK. I'm wanting to get into IOS development and I would like your opinion on what Macbook to get. I'm currently looking at getting a Macbook pro 14inch M2 pro base model. what Macbook are you using?
Hey you uploaded when I was sleeping otherwise I would be the first to comment btw love your vids Marko 🙂 you are my inspiration ❤
Hey you get a like nonetheless 😃
Good monday morning :)
I think AI will not replace programmers in the near future, but they will become (or have already become) another useful tool when working
Exactly! I think a lot of people are going to figure out that they can do so much more in the same time. 😃
@@withmarko But that means a company can get what they need from a much smaller team of developers, hence it will replace programmers, no? I feel like market forces will ensure this.
Hvala za video! Samo tako nastavi! Iskreno sad je skola mnogo laksa sa ChatGPT, ali vise se vara na testovima.
Haha, mozda ce testovi postati tezi za sledecu generaciju 😄 hvala!
@@withmarko Nadam se da nece haha!
Hey! I'm at the beginning of my learning process. Doing freecodecamp, thinking about giving the odin project a shot and also about to finish supersimpledev's html/css course. How does the newfound importance of AI change the learning process for a beginner?
It can fast track your learning by helping you streamline your learning resources and tasks. It can also provide you with a very well articulated learning strategy. You can get the particular information you're looking for without stumbling around in the maze of Google search. There are certainly many others but these, I believe, are the very basic ones.
For sure learning chat gpt is a must learn in today's programming and prompt learning will improve our use of AI by hundreds of %
Agreed, this is something I was thinking about a lot recently 😃
wrr
It would be nice if you could add link to the prompts you were using and add commentary why you build prompts in specific way. Just as you're pointing out couple things in this video, but the prompts you have used are going to fast on the screen to and are not shown in full.
I have found ChatGPT great for learning like I said last time. I am also afraid I will become too dependent on it.
Yes, learning! Love exploring different topics by asking it all kinds of dumb questions about this and that. 😅
Being dependent to it is not a bad thing at all, if the tool serves you well then you should embrace it, I dont see any issue
Not if you use it properly. Instead of getting it to do everything get it to be your pair programmer.
I should use it. Before chatgpt was born, most of time you have already found a way to solving your problems. You already own the skills. Because your are professional in your own workfield, you only have to check or spend more time to inproving your skills.
I would say, expans your knowledge and focus on thing which really important for you rather than ignoring the tool and throwing your time.
who cares, drain the company as much cash as you can before devs are replaced
thank you very much your videos are very monivayut!
I lot of people in the comments are saying programmers will not be replaced anytime soon.. I would highly disagree.
I am currently developing an app using upwork with some coders in India. I provided them with a design doc and then give them instructions through chat. How is that different than ChatGPT? Suppose Microsoft buys a company like Figma which has a visual app designer. You just drag and drop the UI, provide the app with instructions and the IDE will just code the app for you and do all the plumbing.
It works much better if you remind it about your own code after a while and then asks the question. It only remember a certain amount of content. Just paste your own code before the question
You can feed it fresh context and use multiple chats to create a larger application. It's really good at assuming what your other code looks like if you just give it some hints. Doesn't have to be the whole body. Overall I have leap frogged ahead as a junior developer because of ChatGPT. So many concepts that would have taken ages of googling and stack overflow bug fixing were learned much quicker.
Hey that's an interesting take. Can you please tell me how you "feed it fresh context", what do you mean by that?
@@withmarko since it forgot the first function and had ran out of context at the end of your experiment, you can refresh it's memory of the important parts.
When I prompt so far ahead that I know the previous context will be lost, I will include relevant pieces of the code that has fallen out of context and reintroduce it with my new prompt.
For example if I had it write a class to do x, when I ask it to write a function to use x to do y, but I am so far away from x being in context, after I've been chatting, what I can do is I can introduce the pertinent parts of x, while giving the prompt asking for y.
Another example is I was writing a application in react with a python backend. I was using one chat to write the back end and another to write the front. When I needed I would let the chat used for the front end know what it needed to know about the back and vice versa. It also worked when I needed to create utility classes for the same project.
Yes, i do the same thing and it works wonders, when it "imagines" code and stuff i correct it and it usually brings far better results and produces better code
@@johnidis Facts.. it is fckkn amazing.. any languages .seconds.. plus documents.. omg smfh
I currently don't think that ChatGPT will replace the role of a software engineer. I've been using the GPT-4 for solving some arithmetic questions in code; it was having a hard time compiling
Very interesting topic right there, good job!
As of my opinion regarding this discussion i think that AI is the biggest boom of the IT world sine Internet itself. It will never substitute Soft Engineers as it is not built for that purpose. I do not want to call it a tool as it is much more than that its a mastery we soon will adapt to take the thing much further.
Respect 🫡.
Can u share the link to the table clock, looks really cool tbh...
4:07 yup it would start providing different codes, done it to me various times.
Time to start using the Swedish amazon ! You are welcome Norway :)
pretty entertainment content!
Sometimes you need to just remind the ai of things it has forgotten like your middleware function. It apologizes and fixes the problem. Hopefully this will improve in the future.
I use ChatGPT as a help tool like stack overflow. It can give you examples of how something would be solved which actually helps. Having it write code is a different game when you have a project with years of code, you would have to give so much context. But it's a much quicker stack overflow. So if anything ChatGPT helps us keep our jobs and not steal them. We are far away from that point
I had the same issue with a sample app where I was trying to fetch from Mercado Libre and by the end it was like forgetting what we spoke at the very beginning and started doing whatever it liked.
It can augment developers right now quite well. In the future as it gets even better it's not out of the question that it could replace devs but for now it still needs human correction.
Interesting...as long as you know how to break down the requirement into doable tasks. Everyone can create products.
can you set a different context window? what version did you use the 8kb or the 32kb?
I dont even know whats really going on but this was still very entertaining
Dang you took a tv with you to a cafe 😂 that 15 inch thing is so damn big 😅
I asked ChatGPT to give me a recipe for chocolate waffles.
It gave me a recipe for chocolate waffles which required a lot of sugar.
I mentioned this to ChatGPT and asked it to give me a healthier alternative.
It gave me the exact same recipe but removed the sugar...
hey! What´s the genre of music playing in the background? And what is the name of this song specifically?
Thanks!
Where should I post a question about the one menu app Marko?
Where did you get that matrix light on your desk (0:40)
will there be a pt2? I would love to see one
Yes, I still need to make some changes, and I will be doing a followup. I'm already reading some great tips on how to optimize my prompts to get more out of it 😃
Since you are a software developer, can’t you use the GPT4 API to rebuild chatGPT and find a way to “compress” or “vectorize” all of the information within a chat, so you won’t reach the capacity of the language model? (or at least extend it)
I know, sounds a bit challenging, but that would level up the game. 😅
I think it would be possible to ask for a summary, so it does not loose context. A bit hard on long code snippets, but as GPT4 can process a lot of tokens it could work.
@@Tri-Technology think of the human brain. Memory system usually doesn’t remember everything but it will filter what’s relevant to the question and then dive in deeper.. So yeah;
Summarizing > Ignoring
or
Summarizing > Understanding relevance > scanning the relevant memory > Giving actual response
Just in theory.. :)
These are great points! Maybe a simple trick would be to just say: "don't print out the entire file, just give me a brief summary of changes needed from now on" . 😃
Bit off topic but what's that cool binary light on your table? 😅
what languages do u work with...and in which ur prominent with...like full stack, app dev etc
Great video! Thank you Marko! I am about to start my CS master's courses this September. But I am worrying about whether I could find an SWE job after 2-3 years later. Can I please ask whether or not to enter my master stage? Thank you! By the way, I am now a PhD student of literature. My original plan was temporary to stop my PhD study and study Computer Science.
Forgot to mention the reason that makes me scared is that AI technology is advancing too fast. I am afraid there will be no new SWE position for NG.
Hey, thanks for the comment! This is an interesting debate, but in my view the jobs will not go away. Many people get scared of this because they assume the output of the industry is going to stay the same. If that were true, then yes we would need fewer people. But throughout history with every new technology, the output of every industry increased so that the total capacity of the available human workforce is fully utilized again. Maybe with slightly different tasks, but overall there aint gonna be no sleep 😂 Also think of it like this: who is the best positioned to use ChatGPT to write software? A software engineer or someone else? How are the other people going to replace engineers when they are so busy trying to figure out how to move forward in their own careers using AI? 😄
@@withmarko Thank you again Marko! Really appreciate it! Hope you have an adorable week!
@@withmarko something many people seems to forget is this is the worst this technology will ever be. Who knows what will happen in the future, all we can do is work hard on ourselves...
Some people think that these kind of AIs will takeover some jobs.
But I don't think that applies for software developer jobs.
I think these kind of AIs will make software delivery much more faster, yes. But at the end of the day, you would still need someone to put everything together, and make sure everything is working as expected. You can not put 100% trust in some AI, you still would need people that can understand how it's done normally, so that they can make sure everything is in order.
Btw, it's a great video as always 👍
Exactly this. Don't know why people seem to be so scared
It wont takeover the software developer jobs instead it will make things easier. You know what happens when job becomes easier, pay becomes lower
@@JegErN0rsk that's not the case anymore, have u ever heard of layoffs
Just adding my 2 cents here on a sort of optimistic note 😃 Most companies will not fire people to save cents on the dollar, they will figure out they can do more without putting more stress on the people they already have, because better tools will be available. Think of it like this: an indie game studio could never dream to make a game as big as GTA in the past, but now those dreams could become reality in the years to come. And the large companies like Rockstar, will be making even bigger and cooler stuff, thus creating even more work opportunity. The total output of the industry is going to increase, but jobs will not go away.
if the work is done faster it means fewer people will be recruited
Marko, I guess it would be cool, if you showed how to make different programs or algorithms, I mean simple things, it would be increase the number of describes
great insights...
bro where do i get that cube? can i put custom stuff in it?
Should give autogpt a try
I use it for regurgitating string and regex manipulation functions.
I want your desk clock. Where can I get one in US? The link in your description goes to karaoke machines
If a tool is available to compliment your skills and improve productivity, then why not use it!
What do you use to separate your windows on you mac so perfectly?
I think he uses “Magnet”
One recent issued business magazine in Taiwan subtitled that "AI won't replace your work, the one who knows how to utilize AI will." Very intriguing idea.😎
perfect bro
How do you actually use your link generation tool?
I've been heavily using it as well. Issue I get is it forgets a lot 🤣