Why does the GPT-Engineer idea have to be restricted to programming? Why can't there be a GPT-Engineer which generates architectural design blueprints, or automotive designs, or electronics design schematics? I read that Nvidia has been using AI to help it design chips (not sure how it does that). But why can't we have AI design all kinds of things beyond just software? What would be required in order to make that happen?
My prediction is that there will be a slump in junior dev hiring at some point as you said, but as the technology becomes even more ubiquitous, companies will eventually redefine the job specifications of junior dev to accommodate the fact that low level boilerplate code is no longer needed, i.e. coding interviews will involve more architectural and prompt engineering type of questions instead of low level algorithms and data structures.
ALL the databases are going back to Mircosoft. All this AI stuff is just terrible, the handful of good jobs that are here may be gone and nothing is going to take the place of those jobs.
"Companies will refine job specs for junior devs" These are the same companies that ask for 10yrs experience in a 3yo language. I'm exaggerating, but it will take a long time for companies to adjust their expectations.
No harm asking here, as someone getting their feet wet in coding for the first time with a bootcamp, what's the chances I've timed this badly? I'm looking for career change (admittedly I know the bootcamp isn't enough, need to get more studies after it)
One thing is developing a new application, another thing is dealing with legacy code, sometimes decades old. So when Chat-gpt or some other LLM becomes capable of ingesting a Fortran code base with millions on lines on code and rearchitecting it to something like React/Python/C++ with Cuda and zero defects then we will be in trouble.
I honestly think that's just a matter of time. But, if I'm wrong, it will eventually get to the point that either companies build from scratch, taking advantage of the fact that they can build at 10x (or maybe even 100x) speed or simply lose to newcomers that can start from scratch and don't have to deal with the challenges of legacy code.
@@jgonsalk one issue with legacy code is that there is close to zero documentation and no one has updated it to reflect all the changes over decades of work. So getting all the "internal" requirements to an AGI agent still requires ingesting all the code by some other AI tool to produce the corresponding prompts.
The developer will never go away. It will be the one that instructs the AI on how to do the job, and review the code to see if it actually does what you wanted to do. It's just at a higher level. It's an instrument. It's like robots making the cars. The engineers never go away, they program the robots and maintain them, make sure they do what they're supposed to be doing.
@@gerardorosiles8918 Yes, but the original idea of changing to another language is almost never possible with people either (in a practical time/budget sense). The idea of an AI helping to refactor a portion of existing code without changing the functionality seems more possible eventually. Like training it in the techniques of Michael Feathers' book, to slowly create seams that let you create automated tests for the current functionality, to let you refactor while keeping the tests passing. I'm sure it'll still be a while, but I'm not convinced we won't get at least that far in the next couple of years.
Looking at the recent onslaught of tools like this (another one I recently saw was pandas-ai), we techies seem to be like a bunch of surfers, all standing on a beach looking out to the ocean and discussing whether the rising horizon is just an excitingly big wave or the mother of all tsunamis that is heading our way. Some of us excited about riding it, others soothing themselves by looking for any sign that it isn't as menacing as it seems by pointing out "flaws" they have spotted, some of us nervously bracing ourselves for impact, some talking about running for the hills but not wanting to look foolish by jumping the gun too quickly. The ones who are responsible for this "rising horizon phenomenon", have all warned us that there is going to be a huge, unprecedented impact, but here we find ourselves (myself included) watching and contemplating.
@@_SimpleSam I dont think it's going to change much of anything at the expert level. It's going to make it a lot easier for beginners to seem more competent, and I think we've already seen a massive bottleneck at entry level jobs. But at the end of the day, LLMs are stupid.. it's like if you take the meme of a severely autistic person who answers everything literally, but multiply it by 10000000000000000x. Sure, there are a lot of uses, but the context and intuition will never be matched. It's going to cause massive changes, but at the senior+ level, and architecture level, I don't think it will be as big of an effect as in the entry level.
@@tonyvelasquez6776 I think you are entirely missing it, friend. You are thinking of it like a tool. Instead, let's try to think of it as an interpreter. Realize: Natural language is Turing complete. The entire stack will be implemented on natural language, with automatic natural language error handling and testing. We are going to see an iterative process where we are backed away and abstracted from the metal, step by step. Eventually, it won't even be about writing software. All software will be generated on the fly according to user request.
my biggest issue with ai isn't the hallucinating or getting stuff wrong. its the lack of understanding of it's basis of prediction. it lacks citation features. you could ask it something from a specific book and, even if the answer is correct, if you asked it where the information came from it cant tell you. Which means it cant tell you the reasoning for the wrong output either. This is hard for humans too but we do a good job of logical backtracking our thought process in order to debug.
in some domains, linear regression models or simple random forest models are prefered over "fancy" neural network models because of their simplicity and interpretability. It's a tradeoff
I think this will replace developers the same way that standard libraries replaced developers. Which is to say, it could reduce redundant code development. Statistical models like LLMs are only really interesting when they "fail" by predicting novel tokens, which in software means producing code that doesn't work. They can't produce new ideas and they aren't capable of analytical reasoning, so they're never going to be able to create anything new. Some people say "if you give it a detailed enough prompt". A well specified, highly detailed, exhaustive prompt is often called "source code". You can get MS Paint to produce the Mona Lisa if you give it a detailed enough "prompt".
“They can’t produce new ideas and they aren’t capable of reasoning” Keyword: Yet. Depending on the reasoning required for product X. Market feature progression most likely will follow product road maps created by predictive analytics. The challenge will be in ideas for new markets (visionaries), market shifts and reactionary stop gaps for unexpected failures. Any technical discipline that’s repetitive- standardized platforms, tools etc, MOST design engineering skills are taught in college and trade schools in cookie cutter fashion. Reasoning and critical thinking is no longer focused other than the top universities. Don’t fool yourself…will be a day where AI bots are chiefly specialized in ASIC design, architecture, etc in various fields of applied sciences. Don’t bet against…just a matter of time.
"Code" will disappear completely. Software is just a crutch. We will ask AI directly to do a task, instead of developing a piece of software specifically for that task. Software development will be a discipline of the past, like many other forgotten professions. Natural language will be the medium we will use to describe and implement functionality. It will be the new "code" with the AI being the "runtime".
I doubt that AI would replace developers any soon. According to my experience with ChatGPT, i'm spending more time to figure out what's wrong with certain piece of code that it produces, than if I was to write the whole stuff by myself. If we take for example your example with the keys, you had to specify technical stuff that normal people are not familiar what it means - e.g. possible length of WEP keys. Then even taking into account that you specified that you need API. Take into account and the sequential object ids, which is not optimal. All this stuff is usual for a developer to know and to expect. Other people would be like an neandertal in front of a typewritter...
@@JohnWalz97 I'm using the free 3.5, cause I'm not allowed to use it at work, and I'm not paying a dime for my personal projects. I know GPT4 is much more advanced, and I know from a friend that he uses it as a work horse, but still he is very experienced developer who can describe well all the technical stuff he needs. I think that AI won't replace developers any soon because it is though on a flawed code from internet and it's based on text predictions. So, even if someone describes well a certain task and the corresponding model manages to produce a working version, there are still things like security that need to be observed carefully, or they may cost someone a huge amount of cash, reputation and more.
@@Deadliousyou can't imagine what a jump GTP-4 was for coding. When I tried 3.5 I thought the same, but if 5 is a comparable jump as 3 to 4 (and when it truly becomes multi-modal, then I think a lot of complex topics will become easier to learn), I can imagine that it'll start replacing entry level engineers (or even mid level) and then for 5 to replace all devs wouldn't be a big jump.
@@DragonRaider5Its still just a predictive text model pulling data from the internet. If the data is wrong (which will become a greater problem over time), its utterly worthless. GPT5 or GPT3000 wont change that. And the idiots who depend on these systems to do tasks that they couldnt complete themselves are going to make massive errors and mistakes that they arent skilled enough to spot.
It seems to me that to use AI effectively, you have to be at least knowledgeable enough about a subject to point it in the right direction, or to ask questions that are poignant, deliberate, and specific. That's going to require a lot of both basic and theoretical knowledge on the subject as well as the ability to organize your thoughts and most of all, be LITERATE. Something that even many college grads seem to be lacking these days, which is sad. Gone will be the days of just poking at something until it works and hoping for the best. I think this is going to be a good thing. Humans should be engaging with their work at a higher level and machines should be doing the tedious stuff. If you know what you want, know what's needed, can articulate your thoughts clearly, concisely, and precisely, I really think AI is going to be a good lab partner. But yeah, there's going to be some restructuring and jobs are going to change, many are going to go away at all levels of industry. Change is never easy.
You have to verify everythig GPT throws at you manually, and yes you have to be literate enough to do the research or accomplish the task in the first place. I see many cases when it just hallucinates something that is completely wrong, which is a bit of a problem when it comes to hard science and highly formal fields of study, but it's also kind of smart, i can see an actual human coming to a similar wrong conviction.
I'm a senior UX designer. I have no idea what he's talking about. I wouldn't be able to check or verify anything here. You need lots more abstraction layers here and a real GUI. But, what I'm thinking is: why does anybody need to work on "boilerplate" things? That is just a waste of time. The world needs a fuck-ton more software. And we need to write it better... there is so much bad software out there (which anyone working for any business knows). Could AI finally unlock not doing "low hanging fruit" all the time?
Being literate is DEFINITELY not what you would need to be. These are LLM's they excel at word play so they will just write back the steps and the user will say go ahead.
@@Joakim-ie5um It's not like anyone spends a significant portion of their time writing boilerplate? Boilerplate-heavy frameworks are generally accompanied by automatic generators. Sometimes boilerplate heavy projects are results of limitations of toolset or personal limitations of the team or a result of technical decisions rained down from the management. Boilerplate results in very little creation effort since it's either pattern-generated or typed actually really quickly but it creates ongoing maintenance effort. In my experience (20+ years of C++) the big effort of developing medium to high complexity software is maintenance, debugging and troubleshooting. As the project grows, increasingly less time is spent writing code and more just deliberating how it has gone wrong or how it might go wrong with the next change, and i can't see ML systems having the scope of either for the time being. You have heard that programmer productivity is approximately 10 lines a day. A programmer can easily throw down 1000 lines of code a day (which is why the 10 line stat seems absurdly low; i assure you it's not), and it is code which is syntactically correct and at a glance semantically correct, just like resulting from AI, but it takes 100 times as long for all the long-term large-scale issues this code has created to be shaken out. Corollary: be somewhat wary of the developers who have nominally exceptionally high productivity on the team, and seem like a "star developer" or "100x developer". By all reason they're creating issues everyone else spends all their time debugging, bringing overall productivity of the team down. Since everyone else has to familiarise themselves with their code, spending extra time, and they don't make any effort to ensure their code is a good citizen in the project. I would say any high engineering cost automation product aimed to create code is of super little value compared to automation to increase code quality or reveal hidden issues. This is also why developers are so excited about Rust language which frontloads some of the effort but reduces maintenance cost.
If you’ve ever worked as a software engineer, especially at the senior level and beyond, you’ll know that the real engineering is mostly about design docs, system level coordination, getting alignment across multiple teams, etc. Frankly, writing actual code becomes the easy part. This is the part of the job I don’t see going away anytime soon. Low level coding might largely be replaced, but the human part will remain.
I had a conversation with my father recently, who was a comp sci major in the late 60s, about this very subject. He doesn't see it as any different from how IT has always developed. When he was younger, he learned to program at the bit level and was very limited in what he could accomplish. Now, no one even considers how a .net function is executed at the bit level. With each progression, some knowledge becomes obsolete and we learn to code at a higher level which allows us to focus on larger and more complex tasks. I agree with him and I think the only difference is the pace of development. Technology is now going to be changing at a pace that a 4 year college degree program cannot possibly hope to keep up to. I also think that's why you see such a huge surge of coding academies and such where you can realistically get to a basic functional programming level in a matter of months, not years. This should only be worrying, in my opinion, to people that are not interested in learning new tools and advancing anymore. Maybe time to retire for them.
Brother, logic dictates that AI will overpower us in no time. We may see our value - and we should. But there is not a corporate bottomline in the world that does.
@@flightevolution8132If you have tried latest tools and advances in AI you can see the massive gaps it still has honestly. The jobs it is able to easily replace are the most common ones, like web development, simple API and still it does a terrible job of maintaining code bases. I have tried to get state of the art AI to make functional projects and I can safely say it actually allows me to do the job of 3 or 4 persons previously. However it is not quality work. Code made by AI just sucks ass when asked to do complex algorithms or optimizing things. I encourage you to try and make a fully functional CFD code to see what Im talking about
Not sure what you’re talking about, but the 4 year program I went to we learnt everything starting at a semiconductor level up to bit, logic gates, and built everything from the ground up. Basically everything that a coding bootcamp doesn’t teach you. Coding bootcamp is to feed the industry cheap and fast labor, but also to make money off of the people that want to get a higher paying job that think is easy to do, even if they may not be cut out for it. To the bootcamp business they just want your money.
@@nikflix8331 I'm sure you learned the basic concepts for programing at the bit level. The point was you are not going to write a functional program with market value today by doing bit level programming (with certain exceptions). For the majority of the industry, we write programs at a language level that could be 2-3x removed from the bit level. I see AI programming interfaces as just another layer on top that makes coding more accessible. You seem jaded about coding academies but my company has a subscription for a reason. The majority of people coming right out of college with a Bachelors in Computer Science are not fully equiped to function in their day to day tasks. Coding academies are a quick and easy way of getting them to the point that we need. I couldn't care less if a junior programmer coming in to our lab knows how to program at the bit level. It's not useful anymore.
I think the only developers worried about being replaced by chatGPT are the ones that haven't started using it. It's nice for boilerplate, simple questions and learning APIs and language syntax, (when it's not hallucinating) but software development is much more than simple implementations. It's about solving problems, usually with code but not exclusively. I'm not even the least bit worried, for myself or the juniors of tomorrow.
It will only continue to get better and development will require less and less man hours over time. Its highly likely this will have an adverse effect on the rights, salaries and employment levels of software developers. There isnt an infinite amount of software that can be made.
@@stugeh This is a really good discussion. I wonder what the limitations here are, and how they will be overcome. If you end up needing thousands of words to define specifically enough the application or the requirements you want, it may end up being more cumbersome than just talking to a human and asking for "do the thing with the thingy on top of the other thingy". If we don't solve for that, I can see the situation in which metaprogramming/programming confugurations for prompts become a skill. What if you want to make a modification in your code? is it simpler to go in as a developer and tweak it? or re-deploy it as a complete new service by changing the prompt? For small enough changes it could be that separating the prompt into smaller chunks would be best, and that point you have created the software equivalent of terraform, but with prompts and different parts of your application. I believe there is still value in knowing how to code and not becoming exclusively an operator, at least for the time being. I do believe that knowing this technology and keeping up with the next ones (two paper down the line, like the guy from Two Minute Papers says) is super important. We joined this industry as software engineers, and engineers should never stop learning.
I would agree but if you are into making your own custom models, you'll realize it won't be this way for long, seriously not longer than a few years. AI will accelerate AI research itself soon.
@@P0lntL3sS I understand what you are saying, and I agree that the progression will be as exponential as we are seeing it. I wonder if there is an upper bound limit to this, given the constant creation of new tools, lack of standardize adoption, initial lack of trust (we all expect this to fade), and confusing competitive advantage among them. We'll see what tool or suite of tools hits the right spot and how that shapes the industry, all we can do is make the best out of the situation. Food for thought!
@@stugeh You'd be surprised =] The way I see it, it's just another level of abstraction that will help make developers more productive, maybe allowing for more complex software to evolve. They didn't need less developers when they stopped using punch cards or when the first compiler was invented, they needed more.
Reminds me of the hype around 3d printing. There were loads of videos explaining how 'soon we won't be buying homewares / appliance etc. we would just buy a printer and print them out'. Where's that got to. Yes a LLM can write SOME code but anything beyond very entry level coding is much more about business logic and problem solving that simply writing basic boilerplate code.
The ones who leverage all this technology will be the ones that are not left behind. This was really cool! I find value in using this to generate quick skeletons of a project to use as a starting point or reference, and go from there. Building the boilerplate for a FastAPI api, or the boilerplate for DB classes, MVC files etc. never changes between projects. It gets boilerplatey - this solves all that and takes friction off the plate of the engineer. Leaves the core work and thinking to the human. This technology is amazing - and this is just the beginning. We aren't going anywhere, folks! Do not worry - just like Arjan said. Cheers.
like the optimism but the nature of this technology will not let enough ppl to leverage it. The ones that already have the experience and resources will go even higher while the rest will struggle even more. It will be harder to train if you don't have connections and to access such tools if you don't have the resources ( i doubt it will stay this cheap forever). But yeah.. some will thrive given their luck and standing when this becomes the status quo.
GPT has some uses. But it leads you off into rabbit holes as much as it helps you. It shows potential, but if you think it might replace you as a programmer right now... its time to go back to school and get that GED you always dreamed of. However, it IS great at giving me the correct REGEX syntax. So, that's cool.
This is frightening for other reasons than just replacing jobs. There is a trust factor that comes into the code being given to you by the GPT systems. The more this code gets trusted, the more businesses will not check that code in depth, as it has been tested millions of times already. This becomes an interesting attack vector. There are also copyright and patent issues that are currently being explored with a law suit against GPT. This will replace developers though. All of us in time. Your point about the higher order thinking is spot on, but even that is a "filtering" process of what you are told is needed, and giving output, here in the form of a prompt, that then becomes or guides the way to code. Take Microsoft's approach of adding Chat-GPT to all of their office products. Now, using a spreadsheet, you can define a model on one sheet that can then be built using excel equations, built ins, vba, C#, etc. to wind up with an Excel based application. I used to write these. That cuts out a large range of developers, a people are no longer needed to translate the business requirements into technical plans. As well, Chat-GPT is continuously learning from the code that is created using Chat-GPT. As we give it more guided training as to how to respond to certain prompts, the patterns it will be able to respond with will become more in depth and technically advanced, while also being less buggy. This is what Chat-GPT is doing (as others are or will be). They are getting us to use them for the advantage they give us and then using our usage as a better more in depth training system. None of these system are thinking. They are taking patterns and returning patterns. The more patterns we train them on and the better we train the prompt patterns to the output patterns, the more they replace the majority of us, as that is what the entire field of software engineering is. They who control the patterns (flow of information) control the world that is dependent upon those patterns. Its a two edged sword, and a vulnerability that almost none of us will see coming until it is too late. Compromise is becoming so much easier now.
I just want to add one small point here (that actually occupied minds of almost every philosopher during the whole human history): but what is thinking? what is creativity? can you define it? when and where is that strip of events and complexity that makes just taking patterns and returning patters to a creative mind? we yet to see that and nobody knows when. and it might be pretty soon to hapen.
@@robin_birdie_and then it will become impossible to see anything you do as truly unique and valuable. How will I feel motivation to solve any problem on my own knowing I'm not achieving anything special. Just let AI do it and go lay on the beach. Your job is done here.
@@robin_birdie_we are constructing rationnal reasonning though, mixing theorems and axioms together. GPT is just predicting the most probable words, I somehow doubt its creativity potential.
Where do the future quality programmers come from if very few junior programmers will be needed? And how do the few remaining junior programmers hone their skills when they mostly let AI do the job in order to remain competitive?
The video talks about "high quality programming". Sorry but I dont't know any. Do you mean Windows, the bugged to death OS? Or Linux, the another bugged to death OS? Or? Because these are the biggest pieces of today's programming, crappy and full of security holes. Is AI going to make it better? No, I would say quicker && even worse.
This period will be short lived. "Code" will disappear completely. Software is just a crutch. We will ask AI directly to do a task, instead of developing a piece of software specifically for that task. Software development will be a discipline of the past, like many other forgotten professions. Natural language will be the medium we will use to describe and implement functionality. It will be the new "code" with the AI being the "runtime".
My opinion... Software will be a black box which humans won't even know exists. When my mother goes to the bank, she has no idea that the bank even has an I.T. department, let alone what it does. She doesn't need to know. Remember punched cards? "Punched cards", what are they? Exactly. Remember software? "Software", what's that? Get the picture?
yeah but this is the first step...next step tell the bot to look a a git folder and analyze that fork you are working on...LOL infact if I can get this working Im going to have it analyze its own code and suggest improvements....BWAHAHAHAHA Its alive!
This seems like a perfect opportunity to do rigorous TDD without cutting corners. Rather than having the GPT engineer write some code for you based on requirements and hope the code works, have it write its tests first based on those requirements. Then have it write code to pass its own tests.
Yep this is a brilliant point. I’ve been thinking similarly - LLMs can take over the work of converting a spec into BDD -> TDD -> test suite -> implementation
Executed a private project just like that recently. It was extremely efficient. I have 100% coverage as I start by defining the business criterias, have AI write the tests, then fill in the implementation, and occasionally I write custom logic myself, only to have AI refactor it and prettify it while still passing the tests.
@@jonatanlampa510 how do you confirm the tests the AI writes actually make sense and have full code coverage, without actually reviewing every line that it writes manually? I think that's the issue here, it certainly saves a tonne of time by writing things out for you that follows a specific pattern but at the end of day you need to verify everything manually anyway I see chatgpt as an incredible assistant but will not replace engineers in entirety because you need a human to confirm the AI isn't just hallucinating, but yes, it improves productivity massively if used correctly
@jackcollis7258 agree. I got it to write a bunch of manual tests (i.e. just words not code) against acceptance criteria and there were loads of errors and gaps, even after repeatedly reprompting it to correct its mistakes.
Developing is not always about creating new code, but also maintaining the existing one and adding new features. Interesting to see how chatgpt will handle a case when you have couple of services interacting with each other and you need to add new feature to one other in a way the whole system works normally. Doubt it's possible now or soon, but this is definitely a great breakthrough !
The question in my mind is, will AI be able to adequately understand business requirements. If it can get to that point then yes developers are in trouble, but otherwise we will still need humans to interpret and appropriately model the business
I was using aider to try to code an entire program using languages and commands I'm not familiar with and eventually had to spend a long time to finally draw the conclusion it was dead wrong and even worse it was constitutionally incapable of changing its mind. I had to implement the fix myself. Alternatively, it has been an invaluable asset in helping me write programs in formats I'm familiar with. Being able to quickly throw out a bad script with no syntax errors takes a lot of the tedious tasks out.
I love the development, but as a professional myself, reading code is harder than writing code. Why does this matter? Unless we start new codebases every month with chatgpt, how does a chatgpt codebase look in a year? I have this weird succesrate of 100% on first app iterations, but a relatively low succes rate with any technical problems in my real life codebase issue as tech lead. Also, 1 of the things that help me analyze codebases, is that you learn the "style(s)" of the dev(s) that worked on a project, making the codebase over time time easier to read. Chatgpt writes in a different coding style all the time unless you address it, but even then it has no personal opinion or sense of self. This mean a chatgpt codebase in a year could look like it was built by 100 different developers, with different syntax and conventions, making reading it hard for the unintiated. Today's legacy might be nothing compared to it. Rhetoric: Is it also even possible to add real life client features over a long time? And the moment chatgpt cannot add to a codebase, can a senior jump in and find the errors of 500k chatgpt lines? If not, is the project then stopped, and a new one started?
I would imagine that gpt will also help people decipher the 100s of code styles in a gpt generated code base. For example, I had a friend recently send me a function, I definitely could have spent 20 minutes reading it critically and understanding it, but instead I got gpt to outline the main steps in the function, which made the readability faster, and I was able to understand it in a fraction of the time.
I bet there are ways to address at least some of those issues. Like this video uses a wrapper application. So a wrapper could tell it to have a certain style, or at least keep the current style it sees in the project. Also, I think it'll be a while before you'd be having an AI just create a large codebase on its own. I work at a company with a bunch of senior devs, and we still code review each other as part of the process of adding new features. So it'd be good to have a person code-review the AI. And the AI should be prompted to change only the parts it needs to, separate out feature vs refactoring changes, have good commit messages, etc. Just because a future AI in theory could re-write an app from scratch for each new feature, I don't think there's a good reason to want it to do that, vs having it act more like a human would. Depending on how the AI works, it might even be better for it, having old commits and diffs to look at. This is all so new that we don't really have a good set of best practices yet, and the targets are also always moving. But even if we get to the point that an AI can handle a big codebase on its own, that'll have its own set of best practices that comes with it.
I did quite a bit of testing with ChatGPT and pretty much every problem you ask for, that is not the most common textbook example, is answered with something that looks like going into the right direction on first glance but is wrong. Worst is if it actually does something, and looks something like what might be expected, which could lead somebody not knowing what it does (roughly) to believe in its production. Currently I think it is much more dangerous to those who do use it, and even more so their clients, than to those who don't. This might change, but I doubt it for transformers. I think one pretty much needs AGI, and transformers with all their halucinations are definately not that. We don't know how human intelligence does argumentation, but we do, and most of us can with some effort be helped to understand if something is correct or not by argumentation, with (mathematical) training in a robust manner. ChatGPT simply does make up shit if it has not seen the solution (with some luck having seen parts of it repeatedly and associated well enough can be enough, it sometimes can "guess" correctly, it is not a search engine [but that can actually hurt, too]) in training. And even if one notices that it is nonsense, one cannot argue with it and lead it to a correct solution. It cannot learn out of training. And if one asks ChatGPT to explain itself it will be hallucinating explanations, that once more might convince users who are neither subject matter experts nor understand what generative AI does at the moment. I am terrified how much some people trust ChatGPT.
I agree. Gpt is great if you already know how to code or test. If you dont you will generate dodgy code and not test properly. For a few years there will be many jobs fixing gpt bugs.....a bit like the year 2000 problem but bigger. But in time things will change....how? nobody knows.
When humans first started to develop tools they used the materials that were close to hand, wood, stone then later on metals, then silicon etc. These tools developed and evolved over time to fit the environment they needed to exist within, AI is also just a tool trying to find its place amongst the humans that use it. We are still in the early days of this technology, it is improving rapidly though, GPT-4 currently has a bunch of plugins available to it, so it can search the web or access things like Wolfram Alpha etc. I think people need to understand that the level GPT-4 is at the moment is more akin to a tech demo and not a fully functioning tool, that being said it is still massively useful for many people if they know its limitations. Over time AI systems have a tendency to improve, they are only really as good as the datasets they are trained on and the fine tuning that is applied to them. AGI is a whole other world, you are talking about a non-human system having the knowledge and understanding to solve all problems, also a level of sentience that we can't currently comprehend. Transformers are part of this, GPT is a NLP model, it is good at seeing patterns in text based on certain contexts, something many humans are also good at, but like all humans they are also good at seeing false positives, pareidolia is a good example of this. I am also very concerned with how much trust people put into GPT 3.5/4 etc but they are people who don't understand what it actually is, that being just a tool in the early stages of development. I am pretty sure when the hammer was first invented, many people accidently hit themselves with it without fully understanding how to use it, to be fair some people still do lol
Yep, your experience mirrors mine. I tend not to trust anything I get from it. I tend to use it mostly for generating basic boilerplate or making alterations that would be cumbersome to do via a regular expression. It can help with documentation, but like its code generation, you need to keep an eye on what it's spitting out as it can easily produce believable sounding bullshit.
I think transformers might get there, they just need to be augmented with long term memory and recursive "thinking" processes. When I'm thinking about solving a problem I myself hallucinate answer and try to disprove it based on my knowledge or I start from first principles. Currently Transformers are used just to do the first part, but it's proven that they can also reason given their context and there are some early implementations of long term memory augmentations already. And this memory could hold examples of whole high level architectures or even knowledge about single transistors, shift registers, architecture specific accelerators, whatever that LLM without augmentation can't take into account. So in like 3 years we will have better models, new specialized models, better datasets, order or two of magnitude lowered costs of inference because of hardware accelerators, matured long term memory implementations for LLM, new architectures and frameworks of recursive "thinking" about a problem, probably even full blown multi-model reasoning systems with different models for coding, planing, reasoning etc. I seriously think even high level system designers might be forced to adopt of whatever workflow is coming... I could easily imagine a complex systems of augmented LLMs where there are continuously recursively updated discrete steps of high level planning, middle level planning, writing pseudo code based on previous steps, and then passing this pseudocode to programming language specific LLM for final translation to code. Some parts of this system could be also integrated with chatbots that could ask users for any additional info.
If you think about it, too much effort is wasted on GUI, and often the GUI ends up poorly designed - not intuitive/difficult to navigate, too much/too little information displayed at the wrong time, trendy unproductive GUI, etc. The perfect solution would be to interface AI with the code and have it display a dynamic GUI based on user directives. This however cannot be so dynamic as to be changing every time the program is run. More like based on use case, and in the form of a "style" PS I find the text interface of AI chatbots refreshing for getting information. Compared to being overloaded with graphical content and useless verbal diarrhea on websites.
As a graduate of computer science this year I have been able to secure an .NET junior role and I do use gpt for a lot of things. The problem is it cant understand the large context of the codebase/database. Im not afraid of replacing myself by using AI its quite exciting and I think these construction worker type programmer jobs will evolve into being an architect.
As far as I can see, it helps in translation the developer's way of thinking into the code, not really replacing the developer. This is the good news, not bad.
More people will be able to do the same job. Competition will skyrocket and salaries will plummet. At the same time this all will be automated and before the end of the decade the AI will walk normal people through building what ever stuff they want and even IT research positions will be scarce. AI is the Great Filter, solution to Fermi's Paradox, next stage of evolution and our inevitable extinction.
@@Ilamarea There's no single thing in AI that will make someone who can't go pass the initial boilerplate code to do a developer's job. Even when AI becomes more capable than making just a boilerplate, there won't be a single thing there that will make a non-developer a developer.
Maybe I'm too old to work as a developer (with around 15 years of experience), and in the past, we had similar mechanisms called scaffolding in Ruby On Rails, Seam, Grails, and even NetBeans IDE. We were able to create whole apps with a working frontend, and often with a login page, in just a few minutes based on an ER diagram. It worked even better than GPT, but it was limited to easy CRUD apps and eventually disappeared from the market. Today, we have better solutions than GTP or scaffolding. Low-code and No-code solutions have taken over, replacing many projects in companies. You don't need a technical background to create an application; you only need to know tools like QuickBase, Oracle Forms, or others. These solutions have made application development more accessible and efficient for simpler projects.
I see the problem more when checking the generated code. The more complex the code becomes, the more difficult it becomes to detect buggy or malicious code. In a person you can still look at the character traits. If, for example, an employee attracts attention, you can check all his code very carefully afterwards. With an AI, this path is blocked. So you will probably need another AI to review the code to identify potentially malicious code. But people are just lazy and greedy for money. So there will certainly be a lot of companies that will skip the verification step. Only errors that prevent the sale are then looked for.
The issue with AI, though, is no matter how good it is, how do you ensure that it is indeed correct in reviewing the code? With an AI, who do you hold responsible for any issues? What if the LLM being used is running internally, do you fire the lead of that department or team? With people reviewing it, it is much easier. And even if the failure rate is for some reason higher with people, at least there is someone who can be held accountable, and someone who can verifiably better at their job. That's not so simple with LLM.
Being able to formulate precise and concise questions as well as being familiar with software design patterns will the most desirable skills today and in the days to come.
As a SW architect working for a fortune 100 company I can say the work I do is at more risk to be off-shored to a low cost geo than to be replaced by AI.
Spot on, here in Australia more companies are now using off shore engineers than local engineers. We have a engineer who is our translator and lives locally who speaks to the off shore teams and the work is just as good but for 1/3rd the price.
Arjan , two thoughts: 1- LLM will finally move to free (or at least cheaper) sources, so the security issue would not be an issue at all in the future. 2- Seniors would always be needed as AI must catch up with advancements of different technologies and for that it needs data (documentation, tutorials, apps, etc.)
Wait - who will advance technology if everyone is just using canned solutions provided by LLMs that are based on years-old code bases? No more junior devs and no more CS students means once the grey beards retire, there'll be no one left capable of innovating or improving. It'll just be a bunch of tech priests performing rituals to appease the (quite literal) machine spirit, reciting sacred prompts to hopefully get a working solution. Patterns generated by the machine will be treated in a cargo-cult fashion and pieced together until they run or compile without anyone really knowing how and why. Hyperbole, of course, but maybe not too far fetched either...
What you've shown was the software creating a project from scratch. Almost never in a developer's career will they need to create a project from scratch themselves. Tickets mostly involve adding a feature or fixing a bug in an already existing and already complex project. I'm curious how the AI performs in such scenarios or if it even is capable of handling such requests.
Could be nice for writing tests, good point on that. But otherwise I don't see how it could help in my daily work. And I'm not doing anything particularly high-level. With that said, ChatGPT did help me find errors in my code (written by me) on a couple occasions.
I t's like having an apprentice/intern with essentially unlimited capacity. Like an intern, it still requires loads of guidance, and patience to produce results that provide value. It has an unfortunate habit of dropping details from one set of output to another, and it makes many mistakes ... kind of like an intern.
I think its interesting to note, that whenever there is a technology, that takes tasks away from people, the conversation is always about how many people will loose their jobs, while in reality it works more like this -> New technologie leads to a higher abstraction and more complex applications, which leads to a bigger industry and need for developers. Look at high level programming languages vs machine code. You don't need to many people anymore to write a simple calculator, but that doesn't mean, there are less jobs for developers now. It's the exact opposite, the need for developers is bigger than ever and everyone works on more complex applications without having to deal with the underlying complexity.
Why you think they bought NPM and GitHub, they don't need Stackoverflow because their data is more open than Wikipedia. Microsoft is still or again Evil. Like all the Evil Big Tech
This video comes very handy to me. Yesterday i spent hours looking for a possible solution or similar problem to a jquery problem and at some point i thought to give it a try to chatgpt, well in 2 min after 3 iteraciones i got the solution to my problem. It was as i i would have asked a senior team member. But chatgpt will not replace developers, it will make them more productive. But i will not trust chatgpt for developing entre applications by its own. Debug amd testing still is a thing , and not only that somebody need to interpret business requirements, and chatgpt hallucinate a lot, even if you try to iterativo several times. Chatgpt at somepoint star looping with its own generated promts. Thanks for the video.
Funny thing is, to use these tools effectively, you still need to understand what they are producing. Is like in the late 80s when Autocad version 1 was released. Many many architects thought their profession would be a thing of the past
I am graduating this month with four past internships and a decent junior portfolio and can say the job market for me is scary. I love what GPT and LLM's have done for legwork and speeding up the development process, but I am worried for my future after spending over $50,000 on a university education. I have applied to plenty jobs and either got quick denials or no response at all.
Fuck that is harsh. Well I can bet that the right opportunity will be yours. Are you in a location where there are a lot of tech companies or are you only applying for remote jobs? I graduated in 2008 and just this year I was able to get a job in my field of study. It might require a lot of patience against feelings of never being able to do your dreams. Don’t be afraid to take another job that is not what you want for the long term. You should be focused on paying off student loans by any means necessary. Trust me, you do not want to be in default of those. You won’t even be able to get a pay it in 4 account approval. Trust me. It happened to me. You will catch your groove. Focus on continuing to skill up by networking with people in your field you can learn from. Constantly be learning even still. When the right opportunity comes you will be that much better. Just a tip, look into quantum computers. This is going to be the next big thing. You think AI is really something? Wait till you see about quantum computers. If you cop the skills for working in that you will surely be mf golden especially in the quantum computer explosion that is coming. It’s worth the uphill learning curve my bro! That is what I recommend. One more quick story. When I was in college, you were really only expected to get a bachelor degree for a secure and decent paying entry level job, and when I graduated the recession it, and when the recession lifted you needed much more than a bachelors degree to be competitive, and to get that jobby job. I am 41 and according to MIT I do not make a living wage for where I live in California but I’m still making it and guess what I am continuing to skillup. Yo what you said is a little daunting to me because what I’m pursuing is in the related field of our subject in my head just runs with negative shit but I have to try because if I don’t try my chances of success are 0.0#. Find some people in your net work, or make them in your net work, who are in a similar situation as you and former company, and start finding an identifying opportunities with businesses, or somewhere in life and create and carve some projects for you to work on to add to your real life portfolio. You were going to need that absolutely. Even if you have to do it pro bono at first. You look like you have some time on your side based on the picture that I see in your photo here. This one’s gonna be about the journey, my bro. Good luck my bro!
I doubt the main reason for the harsh job market are LLMs. I guess it's rather due to the economy, some huge tech companies basically detaining a monopoly (bad for competition and innovation, everything else is basically being sucked up by the "advertising industry") and maybe some sort of saturation of the job market (coding isn't a niche thing any longer, plenty of young and talented people got CS degrees, took bootcamps etc. over the last decade). However, I feel like good engineers (those who actually understand what they are doing) are still highly requested and will probably remain requested in the forseeable future.
I think once this tool reaches a level of maturity that allows for refactoring and adapting to business changes, then it's lights out. Basically the CEO (or their secretary) will input requirements and by EOD the system is serving customers! Won't be that impressive for some weeks BUT the learning capabilities will enable self correction eventually. This can happen in three years' time
I'm curious, how good will upcoming AI's be at handling user provided constraints, such as making sure the runtime of a function does not exceed n seconds for instance? My prediction is that earlier models will perform poorly in such areas.
Good review. I have been wondering a lot about this topic since I am just starting to learn Data Analysis and someday Data Science. My thoughts are like this: Existing development jobs will be completed faster and by fewer people. On the other hand, more applications will emerge ( think IOT, blockchain, etc), more (non-AI-capable) technology will emerge, and more "connections" required between different technologies. Software people will be REQUIRED to have a broader view of all technologies at least to understand how they work together. ( I think you mentioned this last point) . I do not know what the final balance will be, but it seems the training or education level of software people must become more broad, and maybe fewer experts in one particular language? And more expert in understanding interdisciplinary functions?
I think most students, with AI, will be less dependent on actually applying for jobs but will be, if creative enough, be able to start their own businesses way faster. I think everyone who goes into this field will have to be first of really smart to begin with and have a vision for a company employing their fellow students to get things done. Because a hire that already houses several senior engeneers will likely be less and less necessary.
Do you think there will continue to be room for such startups to compete for existence against increasingly more massively endowed gigantic and mid size tech firms?
@@user-yv6xw7ns3o I really don't know. My gut though says that everyone able to hold their own during the first stages of their journey to become a developer in that hypothetical environment will be able to identify niches to fill the gaps between those giants. I'm quite optimistic that A.I. will be more of an excellerator than a true hindrence. Even if the job of a programmer in and of itself might die due to grand accessability to everyone, those everyones will have to distinguish themselfs through great architechtual prowess and immensly good ideas. The field will change. But the real programming is mostly the functioning construction of interconnected subsystems, wouln't you agree? And If one can't think of the details in such a system they are little of a programmer in the first place, whether they know syntax or not or have to know syntax due to A.I.. I admit that A.I. will also be capable of creating interconnections with one not understanding a thing about their functionality. But the more complex the A.I. the easier the entry into a niche, and the more niches are filled the more creative one has to become. I think it's an interesting feedback loop :>
I strongly disagree. Most students will definitely not be able to use AI (which is good at spitting out boilerplate of already solved problems), to build businesses. In fact, I don't believe that AI will help even senior engineers to build new businesses (except for, of course, saving some time spitting out boilerplate code).
@@nomadtrails Interesting take. Due to it's unimaginative nature or are there other reasons in mind? Don't you think that this issue will be solved in a view years? I can imagine a programming A.I. which has the current capabilities included in a model with clear testing and learning directives based on syntax alone. After which you could give it a task to solve a deeper problem.
@@nomadtrails I'm with moodmaker. The vast majority of software even in startups aren't actually some super innovative concept, in terms of the code. It is just applying the standard coding practices to new business problems, in such a way that the eventual complexity is managed (and so hopefully the whole thing doesn't collapse into a ball of tangled thread). OpenAI said they improved math in GPT-4 by training it not just on getting the right answer, but on producing the right steps to solve the problem. I don't see why an AI won't be able to be trained to turn generic concepts into code, to ask clarifying questions, to refactor existing code into simpler pieces, etc. It certainly isn't there yet, but who knows in a year or two.
If we're honest about it, programming languages were always just intermediaries to translate what we need for the computer to understand. With AI, everything is just going up one level so that we can now actually tell it in human language what we need and it does the rest. It's not that we inherently should be using programming languages. That's just what was always necessery up until this point. I'm happy we can move up to the next level and don't have to learn the details of the programming language being used. I wouldn't be surprised if there will be new coding languages created by AI in the future so that we don't even have to care or know which coding language is used to translate what we want into working software.
My experience is it’s definitely useful but someone who doesn’t have an in depth knowledge about developing will struggle to understand what is going on. Good for creating some boilerplate but rarely gets it right first time. Then you take it to webdev and realise it is kinda useless.
I think this is more like a tool for fast development. Yes it can generate code but at the moment it is crucial that you know what you're doing. You took a look at the code and said " yes this looks like it might work", if someone who doesnt know just plugs and plays it then we are looking towards a future where almost no one really knows how anything works and it opens up the doors to a lot of security issues.
I think the same concerns where present when high level programming languages started to emerge. What? You don't need to know assembler? No knowledge to CPU architecture required to write a code?
Software Testing will not be replaced by this. It will be augmented for sure, but not replaced. I've heard for over 30 years that tools of some type will replace software testing and testing staff. I'm still at it! And I'm an Automation Developer saying this. Maybe Unit Testing and some Integration Testing will be heavily augmented (even more than now) for developers, but the System level and Business Logic testing will not. Again, been at this a long time and have seen the "Silver Bullets" come and go.
In twenty years I will have to explain to junior developers why and how we had to write all this code by ourselves. Though by then, there will be programming languages and frameworks specialized for AI generation...
We use frameworks already and not write all code by ourself. The problem is that there is no standard of natural language or ai generation and ai companies tweaking algorithms for every version without a clue how it affect its reasoning at the other side. I love ai tools but they are also very unreliable.
@@minimal3734 for one thing because text and spoken language are a terrible user interface for many tasks. For another, we are still very far both from general artificial intelligence that really never needs specific guidance on how to do things (=programming), and from running LLMs cheap enough to warrant the extreme inefficiency in terms of time, energy usage etc
We might, finally, be getting to specification driven development - I'm assuming there are about a billion groups currently working on gpt promoting using first/second order formal languages?
@prependedprepended6606if you work for a large company like I do you spend most of your time trying to navigate all of the process and procedure and management reports and other obstacles they put in the way just to get your job done. I spend very little time programming anymore which I find very disappointing.
@@aaronbono4688 Aaron, seriously, try to get out of there if at all possible. I've been in that situation and it can suck the life out of you after a while. Especially if there are any devs you respected that left there to go somewhere else eventually. I was really scared to leave the security of that job, but was definitely the right decision in the end.
@@ShawnFumo I have worked in well over a dozen different companies over the last 25 years. Big corporations are not the most enjoyable places to work but you make the most money there. I found a company that's better than most and since I am focused on saving hard for retirement I'm just fine where I'm at. The smaller more exciting companies are also more volatile and I've had my fill of that and I'm done with the stress.
@@aaronbono4688 That's fair. I really lucked out where I am now, with a combo of good pay, not much bureaucracy, but pretty stable too. I'm at 22ish years being in the software industry now, and I agree I wouldn't want to go a "work you to the bone and it might explode" type startup either.
I feel like it's the industrial tech revolution. Using the home analogy, before you had to find a tree, cut it down, shape the wood, find the local blacksmith to make you some nails, etc. Then they sold the planks so you didnt have to cut the tree down and then factories started pumping out the nails, the paint, the drywall, etc, bricks.. so better houses were built much more quickly. The software chunks AI produces are like the mass produced materials to build homes. It's just that it's infinitely less cost prohibitive to make software than build a home by buying physical materials, so it's much more accessible. Also it still sucks at concurrency and parallel programming just saying.
I would love to have some AI tools to help support the legacy app that is my day job, but that's not likely for a while yet. I think you're right about the use of AI to make developers more productive, and that the really innovative work will still be done by humans (with AI help). All of this is driving us much faster to a discussion about guaranteed income-- much faster than I thought I'd see in my lifetime!
Great vid! Sorry for being picky, but just wanted to share, that -- There is a big difference between "out of the box" and "outside the box". I think you always meant the latter.
I think many people writing comments that X and Y will not get replaced by AI because the AI is good at A but not B and C are forgetting where we had been 6 months ago, let alone 1 year ago. That kind of fixed mindset is exactly what will be in most danger of getting replaced when these tools get better.
It will shrink our tasks ... and then our tasks will require deeper insight, which will translate into longer education, on more advanced topics, and also we will be given more work when we get to work ... and then storage requirements will become a bottleneck. There is a parallel in how first power tools and manufacturing machines gave rise to expansion of mechanical engineering discipline, breeding a new sort of occupation which dealt with physical objects, but in an highly abstract and analytical way. This thing will "mechanize" our (and I don't mean just software engineers') previous tasks and push us into more abstraction, but it will also pursuit us there, gradually pushing further. I am not sure if there is a limit to that process, is there a condition when it is completely done. I believe that there will never be "Singularity" event, because these tools will have to harvest our new inventions as we delve into uncharted territories and establish new best practices in them. There will be an exponential rise in human imaginative ability, but the thing with exponential curves is that they look always the same if you keep increasing the zoom. If there is an inherent predictable pattern in that process, the tool might overtake the initiative and leave us in dust. However, that would lead us to search for unpredictable trajectories. I also expect that this "time of innocence" and sharing AI with everyone will soon enough end and walls of competition will get erected, excluding have-nots.
I use ChatGPT for creating and formatting information from tables, and here and there it misses entries. So I get 95% but not 100%, and finding the missing 5% takes more time than just do it per algorithm. But that was just two examples. Otherwise, it provides good starting points.
Im a web applications developer and I cant wait until the point where I can just say to my computer "I need this in [insert programming language here]" and it just goes and does it. The only way I keep coding "interesting" for myself just now, is by having classes that build pages for me (or on my behalf - depends on how you look at it) on top of which I can add clients needs. It removes that whole drudgery of initialising a new system for every new client and lets me jump right into the fun bits. The only problem? Im the only person that knows how it actually works under the hood, so its useless (pretty much) for other developers. The way I see it, this new engineer will mean I dont have to explain the system in depth, because you'll hopefully be able to duplicate the entire system by just basically explaining what it does. This jump in technology will allow more developers to enter the space bringing better UI and UX and (hopefully) stability to the code. I love that GPT Engineer now enables that.
thats what i was thinking it makes writing trivial apps a lot faster, rather than spending a hour to do that it would take a few minutes but this program is very simple.
when he said "It takes minutes to write a complete application" I chuckled. That's barely a simple service. Yeah, it was really quick, but hardly a "complete application" Another thing that a lot of people miss is that in a professional environment, most of the time will be spent deciding what we want and how we want it (and then changing your mind when you're halfway there), not actually writing it.
@@MadsterV The thing people fail to realize is that coding is 10~20% of an engineers task. Most of the time is spent on knowing the business. IF you follow that code is the byproduct of learning. Engineers are in the business of learning the business, politics, dealing with diverse situations outside the screen. Due to these reasons AI will just be tools as businesses rely on human relationships to store knowledge. Who knows maybe there will be a AGI that can replace that but its honestly a few decades away
@@jokwon7343 but not all engineers need to know or understand requirements. As a senior dev, with current gpt tech, i can replace 3 developers and maintain the same productivity. a year from now - maybe 10? of course dev productivity expectations are dramatically rising as well. But either way, its not 'decades away'
@prependedprepended6606 I agree that AI isn't there to do complex things yet. You really don't need "complete and correct requirements", though. We found with most human projects that "waterfall" usually isn't the best approach. You get something basic out there, get feedback, make changes, etc. You try to keep things flexible enough that you aren't totally backed into a corner, but not so flexible that you're overwhelmed with complexity that you don't end up needing. There is a video where someone who never coded before used GPT-4 to code a side-scrolling browser game. He started simple and kept pasting in the current state of the code and asking for a new feature, but telling it just to give him the new code needed and where to paste it, vs regen the entire thing. He got a pretty decent-looking thing in the end, though was starting to hit the edge of the max context length. Obviously that game was nowhere near a large enterprise application, but it proves the point that AI can iterate on code too. And like a human, it is more likely to get it right by going in smaller steps vs trying to write the whole thing in one go from some giant specification. I'm sure there is going to be a ton of experimentation around getting coding to work better from an AI. Like humans don't have a huge context length (working memory) either. One of the main reasons for "readable code", single responsibility, etc is managing complexity so you don't need the whole problem in your head at once. There is no reason you can't try to do this with AI, having summaries of different functions and files and only loading the actual code when needed. There's also no reason an AI can't call into refactoring tools that humans usually use. There's no reason AI can't do TDD (there's already been experiments with tests first with AI). Even the fact that the AI in this video asked for clarifications is different from other implementations I've seen before now. The combination of using the above techniques and a somewhat smarter AI, may start to go a long way. We just don't know yet.
One needs to be able to read, understand code in order to organize and debug the output of the LLMs. Also they're trained on our work so if people were to stop, they'd also not be able to "learn" new solutions. Also I'm not sure what would happen if they're trained on their own output as will inevitably happen.
I don't know what your experience is, but my software engineering students tend to be technically very competent but really struggle to convert real-world requirements into workable solutions. When I give them some code to give them a head start on a project, some see the code as a curse rather than a blessing, preferring to start from scratch. Large language models will undoubtedly change the way we work. People who can use them effectively will have a competitive advantage. Large language models clearly can automate a considerable amount of work, potentially causing job losses. However, impressive as they are, large language models are statistical models that predict the next word. They are better and faster than humans at specific tasks, but they do not understand humans better than humans. They also need humans to help them out, which requires situations where they can produce enough work automatically that the manual work involved in prompting and correcting them is less than producing a solution from scratch. AI has a long history of exciting and subsequently disappointing people who had excessive expectations. A common comment is: "These systems will only get better". That's true, but expect diminishing returns from this technology. Welcoming our new machine overlords is a little bit premature. There are benefits to be had being able to leverage this technology effectively. Software engineering teachers will need to change how they train computer scientists, which is daunting and exciting.
I really appreciate reading level-headed thoughts like this. Thank you. I'm tired of seeing so many AI-enthusiasts feel the need to advertise their new tools as ground-breaking and scary. But it's what drives engagement, so 🤷♂
I upvoted, but I'm not sure if there is evidence to "expect diminishing returns" yet. In some sense yes, like the leap from MidJourney v1/2/3 to where it is now, going from something that was only usable in a very narrow set of applications, to now having really good results for many things with v5+. Now it is more about better details, more resolution, better understanding, etc. But even if it is technically less returns, one that can make hands vs one that can't make hands ends up being pretty important in practice. And also text to video now starting to go full force. I see so much progress lately with making models smaller, with less training data, training on processes vs final results, different ways of prompting, adding memory, increased context sizes, combining multiple models together as a group, etc. I'd be surprised if we are already most of the way there for programming abilities of AIs.
We've been automating (and outsourcing) factory jobs for decades. Software testers are often expected to automate all of their testing, which sometimes leads to the company employing fewer testers. Now I guess it's software developers' turn. Welcome to the club.
The way I see it, AI will take a lot of the job away but you still need to know enough to ask the AI to generate what you need appropriately. For example most people have no idea what most of your request to the AI means outside of existing programmers. In addition if editing is required or troubleshooting, you still need to be able to read the code to understand if it is actually doing what you require.
It will have have a similar effect of not having to build a library every time you want to use it, or with other open source material. You’re just able to get it without killing as much time. There will still be more layoffs in tech though but there will be other new jobs in tech that are related. It’s just change and many people across disciplines will need to adapt.
Alot of people seem interested in making predictions. Here's a worthwhile mental exercise. Imagine an analogous secnario during the introduction of high level programming languages. Like how much easier tasks become if there is no garbage collection. Yet overflows are still possible reminding us that garbage collection never really went away. So if most of the change can look like an iteration, let's consider the aspects that resist that interpretation. This may be thoroughly new stuff. Now the question is will this new stuff have more impact than continuing the trend towards greater abstraction. It took 40+ years to digest the last step towards abstraction. Since then we've been getting through paradigms language features and best practices. There've been huge industry wide gains in version control and virtualisation and as software engineers that's not the job anyway. Whats been built in that time is ultimately the achievement. Since innovation is never off the table is there really more here than the first significant step forward in abstraction in decades?
@prependedprepended6606 sure... but a.i. is a long way off from replacing artists. A LONG way. If I need a pixel animation for a game... it might be able to give me something but it won't interpolate correctly and it will lack specificity and won't take palette into consideration. Neural networks seem to be great at making fine art but they're not there yet for "working art" like illustration.
@prependedprepended6606while I think you are correct in your response to this particular post art is not just imagery, there is an art to designing an application. Coming up with the idea and the instructions to give these bots so that they create what you envision is a big part of the art process.
Dev will not be replaced, because you need to be a dev to prompt something complexe correctly. I'm a web dev, I use chat GPT like a tool, sometimes it's faster to prompt a sentence than search a method on google and then write the part of the function you want. But in another hand when context is complexe it's faster to write code than to prompt it because there's too much things to consider.
Good thing I'm relying on my mech engineering degree more than on my software eng degree. Starting to look more and more like software eng degrees are becoming as valuable as degrees on a thermometer. And we all know where we usually put thermometers.
First AI replaced the artists, but it didn't bother me, for I was art wasn't my field. Then AI took over for the software devs, but I didn't even flinch, since I had my mechanical engineering degree. When AI and robots took over mechanical engineering, there was no one left to worry for me...
I'm currently implementing an endpoint receiving encrypted wM-Bus telegrams, wrapped in CoAP protocol with transport encryption (2 layers of encryption). The day an AI can take the 2 implementation guides, and 6 standards I have to read, and then generate a usable output, I will be happy. Trying to explain an AI how to do this , would take more time than to actually program it yourself.
I just build my first Python app to control a command based only application, and I never saw Python before and I suck at coding. This helps builds my company like crazy because I basically have a whole development team in my pocket. I'm a one-man-band but with AI I have the power of a whole company.
Just like binary code programming evolved into programming in Assembler and then C++ and then Java, every time leaving more of the low-level tasks to be done automatically, so AI-assisted programming will just be the next step.
Super-duper autocomplete! But the comprehension of domain and translating it into a machine fit for requirements, that remains. Because that takes thought. And what we get paid to do isn't type, we get paid to think.
9:04 develop higher level thinking skills? People proof again and again they are not even capable of recognizing interests that lie beyond their short-term self-interest.
Another thing to keep in mind is that mot a lot of companies will be ok with adapting this technology for privacy concerns. So it might take some time before we see it used in anything other than personal projects
Good review. I have been wondering a lot about this topic since I am just starting to learn Data Analysis and someday Data Science. My thoughts are like this: Existing development jobs will be completed faster and by fewer people.
I think the best way is to automate all the jobs so that we can just chill and work on our own stuff, like Star Trek. Something tells me that future is beyond the greed of the current era, though. People are so concerned about ML replacing them because right now, we have to work to even stay alive or have a place to live. In another universe, I think the ML models would invigorate creatives to rise even higher, to make stuff the ML still can't. I dunno. I think trying to chase away the AI is focusing on the wrong problem.
@@Mr_Hassell it hard to happened cuz physical things expensive which make it high cost and hard to start as profitable business and some physical work is more suitable to human and much cheaper and reliable. That is my opinion why that is not happening right now
Same thing happens in housing: if you were to redefine zoning to increase more multi-unit housing, as is trend in housing in the USA at the moment (Google "missing middle"),then short term the price of housing stagnates or maybe even goes down, but long term, it will actually be more valuable as more people crowd into a city and 'network effects' are created. Same with coding: it's a U-shape, like a ski jump slope, some decrease and then the boom as new applications open up that were unheard of.
I work with it, even started using in production with direct API calls. For now it just makes me much quicker and does much of the boring stuff. It will get better, and the thing we should watch is not getting too dumb. It did replace some AI and other implementations as it's really good in entity extraction.
These tools are amazing, I've been using them a lot ... but then again, I heard all this same rhetoric before when low-code and no-code tools were created. And developers are still in high demand despite those existing for years now, so time will tell...
Agreed. Moreover, as long as we use LLM based tools, we really shouldn't worry, because this architecture of AI has a great understanding of language, but no real cognitive skills, like: abstraction, cause and effect, algorithmic understand, planning, and imagining. In addition, we must be responsible when using AI tools, because they might make mistakes. However, these AI tools, because of their benefits will probably reduce the open jobs for complete beginners. This will create a situation that slows down the tech industry, because it will deprive of itself joung and talented mindes, even if they are inexperienced. Also, it means that in the future, those who do get hired will have to be very skilled and have a lot of knowledge and experience before their first job, something that is very rare. In the end, it all of this will probably slow down the future growth of the industry, make it less open and more exclusive, which is not completely bad, maby it means we will break production less often...
It has already replaced 8 developers at my company. They have Supply Chain Management processes to be digitized and so instead of hiring 10 developers, they hired just 2 and we are quite efficient as we know how to use GPT to our advantage. So yes, it has replaced a lot of jobs but you won't notice it just yet. Not even in tech, it has replaced lawyers for writing and updating terms of service, privacy policy, cookie policy, etc. It has also replaced executive assistants and business analysts. Now you only need one person to handle those roles using GPT. AI can make presentations for you based on the transcripts that you have from the meetings and calls. I can go on and on.... So, think again.
@bluzter I don't what kind of company you work for or you own but if so can replace employees it's logical to think that starting companies in general become easier in other word the barrier to entry has been removed so the competition between companies will become more serious
@@bluzter if two people can manage it with AI, then it has never been a job for 10 people. And if it was planned for ten people, then it was poorly planned.
The issue is whether AI will become able to have self-agency ie, self-directing. Only if it's self-organising can AI replace a programmer otherwise, it can only aid a programmer by reducing research time and code writing time. On the otherhand, it may reduce programmer skill level over time as programmers rely upon AI to write code and as AI gets better and better at that. But knowing business, that is kind of inevitable. If all businesses start to increase productivity by human +AI collaboration, then programmers will need to focus on productivity in the day, only having time to learn at night. I think the continued study of neuromorphic computing and more nature mimicking Neural models will eventually lead to AI developing a self-organising/self-directed pseudo-consciousness which over time and further improvements in artificial Neural architecture should eventually approach human 'like' consciousness. This is a bigger thing regarding human coding; however, with luck, this issue can be navigated by implementing symbiosis between artificial consciousness and the human brain~~thus getting the benefits of both systems. Where artificial systems might have issues is in fully mimicking strange attractors and how states of mind arise where the cerebellum can create associations between new knowledge and existing networks that can suddenly laterally connect ideas leading to discoveries. A Cyborg future is probably humanities best chance to remain in cooperative alliance with AI once it develops independent agency.
I'm a software engineer, 30+ years. Followed GPT and other LLMs for a while. But, just look at your prompts and what you get back. From experience, to get a non expert in computer science to be able to build a prompt like you did for such a small and simple app (a guid generator of sort), requires computer scientist skills! No business analyst I ever met without a deep understanding of computer science would be able to write that. What will those people do in the future ? Ask GPT to write them the prompt ? What I mean is that building the prompt to get what you want IS the job., the code is just "the simple stuff"... Plumbing and the like. Let me see you write a prompt to build the code for a CRM of stuff of this caliber. I think LLMs are a wonderful tools, tools I use now everyday in my job, but I still understand what I need to create. And I don't think that will change anytime soon. That being said, the act of "code" will effectively change. You wont hire a "coder", cause any "developer" will have access to the "coder" via LLMs. But isn't that what we are saying for years ? Stop being a code monkey and start being a developer. LLM are engine that completes sentences, they are not prescient, sure feels like that, but they are not. Let's not forget this.
Mind-blowing but.. how u manage this: The title is in Portuguese but content is in English..all other videos are in English. How? It's scratching my head! The evolution of prompts is truly something else. Chat commands doing the heavy lifting, I mean, who would've thought? Keep up the great work and reveal how u did that ..
AI is going to start writing its own higher level languages to optimize for the specific domains. By which point we will all need to be assembly programmers because we won't understand it.
I think one aspect that’s super hard to predict is what will actually happen to framework/language design as a result of AI automating the boilerplate? Surely the boilerplate itself will adapt as it no longer needs to be human centric in the same way. Which will have a knock-on effect on higher level abstractions… etc etc
Junior devs will spend their first few years reading the output of these tools looking for where the ai has gotten it wrong. And yes the ai will 99% get it wrong somewhere. Its impossible to write these prompts perfectly.
I can see how this can replace programmers who mainly copy-paste existing stuff. I like to think of it as a template/boilerplate generator and autocompletion tool on stereoids. However, unsurprisingly, it isn't good at designing new, non-trivial algorithms. As soon as creativity or insight are required, either to write the program or to analyze its complexity, these tools hit their limit. This is even worse for parallel/distributed algorithms
In my opinion, those who think these technologies won't be replacing our junior and medior positions, fail to take into consideration the fact that this technology is still in its infancy. The jump in technical proficiency that Chat GPT has made between version 3.5 and 4.0 is immense. Now these models have shown their potential, more companies and talented individuals are going to be working on improving these models and in doing so engineer the next technical leap. Imagine what these models can accomplish in a few more iterations. Not only will the intelligence of these models increase, so will their integration with our existing infrastructure. They will become fully integrated within our IDEA's, code repositories, our project management systems and our operating systems. Through these integrations, these models can be given a detailed context of the domain we are operating in and the problems we are trying to solve. At some point these models will reach a level of proficiency and rate of improvement where it just is not economically viable anymore to spend resources on training our junior developers.
This is exactly what I think. I do not know how long it will take, but for sure it will replace a huge portion of developers, with a few left to manage it. It is kind of what the industrial revolution was back then, instead of needing X persons to maintain production, you now need ~X/10? or even less, and machines. We couldn't see this coming a few years ago. Today, it can not replace a senior developer, but it certainly will.
Hmm, but who said we have to train the new people in doing the junior level stuff only, what if universities/colleges/boot-camps/self-study folks directly start learning the higher level stuff? Like architecture? Won't that threaten the position of senior engineers as well? When the market will be flooded with folks who have the same skill-set that took the old senior engineers years to develop.
have been using a code generator for about 10 years to create boilerplate code. Over this time it has become pretty advanced. I save about 70% in development time. The generated code is of predictable design. I worry that code generated from machine learning is not.
A fundamental concept that wasn’t mentioned: many believe that these learning models are not innovative since they use the past to predict outcomes. The few understand the perspective of how the past can be used creatively in the future. (the evolution of (topic) is studied for future developments in the field in academia)
Software engineers and developers have been part of the automation driving force that has disrupted so many fields and left bitter taste in the mouths of so many blue collar workers in the past decades. And what made things worst is that us developers and SE have been too smug about it as an industry. Well, it looks like it is time we drink from the same cup we made everyone else drink from. 😂
👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis
Why does the GPT-Engineer idea have to be restricted to programming? Why can't there be a GPT-Engineer which generates architectural design blueprints, or automotive designs, or electronics design schematics? I read that Nvidia has been using AI to help it design chips (not sure how it does that). But why can't we have AI design all kinds of things beyond just software? What would be required in order to make that happen?
My prediction is that there will be a slump in junior dev hiring at some point as you said, but as the technology becomes even more ubiquitous, companies will eventually redefine the job specifications of junior dev to accommodate the fact that low level boilerplate code is no longer needed, i.e. coding interviews will involve more architectural and prompt engineering type of questions instead of low level algorithms and data structures.
ALL the databases are going back to Mircosoft. All this AI stuff is just terrible, the handful of good jobs that are here may be gone and nothing is going to take the place of those jobs.
@@jwoods9659 I agree, but it is inevitable
@@jwoods9659 Any work that can be automated should be. The ideal employment rate is 0.
"Companies will refine job specs for junior devs"
These are the same companies that ask for 10yrs experience in a 3yo language.
I'm exaggerating, but it will take a long time for companies to adjust their expectations.
No harm asking here, as someone getting their feet wet in coding for the first time with a bootcamp, what's the chances I've timed this badly? I'm looking for career change (admittedly I know the bootcamp isn't enough, need to get more studies after it)
It's not that "this will replace programming." It's that this "is what programming will become." Big difference.
You still need to understand terms, maths and logic
Saw this great tweet by some guy saying natural language will become the new programming language
I love how people invent fancy phrases to calm the concerns around their job security.
That’s the spirit. Keep kidding yourself.
But can you screen GPT people with leetcode? /s
One thing is developing a new application, another thing is dealing with legacy code, sometimes decades old. So when Chat-gpt or some other LLM becomes capable of ingesting a Fortran code base with millions on lines on code and rearchitecting it to something like React/Python/C++ with Cuda and zero defects then we will be in trouble.
I honestly think that's just a matter of time. But, if I'm wrong, it will eventually get to the point that either companies build from scratch, taking advantage of the fact that they can build at 10x (or maybe even 100x) speed or simply lose to newcomers that can start from scratch and don't have to deal with the challenges of legacy code.
AGI: "Challenge Accepted"
@@jgonsalk one issue with legacy code is that there is close to zero documentation and no one has updated it to reflect all the changes over decades of work. So getting all the "internal" requirements to an AGI agent still requires ingesting all the code by some other AI tool to produce the corresponding prompts.
The developer will never go away. It will be the one that instructs the AI on how to do the job, and review the code to see if it actually does what you wanted to do. It's just at a higher level. It's an instrument. It's like robots making the cars. The engineers never go away, they program the robots and maintain them, make sure they do what they're supposed to be doing.
@@gerardorosiles8918 Yes, but the original idea of changing to another language is almost never possible with people either (in a practical time/budget sense). The idea of an AI helping to refactor a portion of existing code without changing the functionality seems more possible eventually. Like training it in the techniques of Michael Feathers' book, to slowly create seams that let you create automated tests for the current functionality, to let you refactor while keeping the tests passing.
I'm sure it'll still be a while, but I'm not convinced we won't get at least that far in the next couple of years.
Looking at the recent onslaught of tools like this (another one I recently saw was pandas-ai), we techies seem to be like a bunch of surfers, all standing on a beach looking out to the ocean and discussing whether the rising horizon is just an excitingly big wave or the mother of all tsunamis that is heading our way. Some of us excited about riding it, others soothing themselves by looking for any sign that it isn't as menacing as it seems by pointing out "flaws" they have spotted, some of us nervously bracing ourselves for impact, some talking about running for the hills but not wanting to look foolish by jumping the gun too quickly. The ones who are responsible for this "rising horizon phenomenon", have all warned us that there is going to be a huge, unprecedented impact, but here we find ourselves (myself included) watching and contemplating.
Existential.
That's the word.
The way we cope with these changes will set the trajectory of humanity for countless generations.
It's existential.
skript kiddies gonna have a field day...
Well said, wait let me find my submarine :)
@@_SimpleSam I dont think it's going to change much of anything at the expert level. It's going to make it a lot easier for beginners to seem more competent, and I think we've already seen a massive bottleneck at entry level jobs. But at the end of the day, LLMs are stupid.. it's like if you take the meme of a severely autistic person who answers everything literally, but multiply it by 10000000000000000x. Sure, there are a lot of uses, but the context and intuition will never be matched. It's going to cause massive changes, but at the senior+ level, and architecture level, I don't think it will be as big of an effect as in the entry level.
@@tonyvelasquez6776 I think you are entirely missing it, friend.
You are thinking of it like a tool.
Instead, let's try to think of it as an interpreter.
Realize: Natural language is Turing complete.
The entire stack will be implemented on natural language, with automatic natural language error handling and testing.
We are going to see an iterative process where we are backed away and abstracted from the metal, step by step.
Eventually, it won't even be about writing software. All software will be generated on the fly according to user request.
my biggest issue with ai isn't the hallucinating or getting stuff wrong. its the lack of understanding of it's basis of prediction. it lacks citation features. you could ask it something from a specific book and, even if the answer is correct, if you asked it where the information came from it cant tell you. Which means it cant tell you the reasoning for the wrong output either. This is hard for humans too but we do a good job of logical backtracking our thought process in order to debug.
Plenty of models out there have been designed to return the sources documents.
@@jonbig04 could you provide some examples? I havnt come across them
in some domains, linear regression models or simple random forest models are prefered over "fancy" neural network models because of their simplicity and interpretability.
It's a tradeoff
@@jesserigonuse gpt copilot for microsoft edge. It will always choose traceable sources unless you ask for logical reasoning or something like that
I think this will replace developers the same way that standard libraries replaced developers. Which is to say, it could reduce redundant code development. Statistical models like LLMs are only really interesting when they "fail" by predicting novel tokens, which in software means producing code that doesn't work. They can't produce new ideas and they aren't capable of analytical reasoning, so they're never going to be able to create anything new.
Some people say "if you give it a detailed enough prompt". A well specified, highly detailed, exhaustive prompt is often called "source code". You can get MS Paint to produce the Mona Lisa if you give it a detailed enough "prompt".
Spot on!
Best comment
“They can’t produce new ideas and they aren’t capable of reasoning”
Keyword: Yet. Depending on the reasoning required for product X. Market feature progression most likely will follow product road maps created by predictive analytics. The challenge will be in ideas for new markets (visionaries), market shifts and reactionary stop gaps for unexpected failures.
Any technical discipline that’s repetitive- standardized platforms, tools etc, MOST design engineering skills are taught in college and trade schools in cookie cutter fashion. Reasoning and critical thinking is no longer focused other than the top universities. Don’t fool yourself…will be a day where AI bots are chiefly specialized in ASIC design, architecture, etc in various fields of applied sciences. Don’t bet against…just a matter of time.
did calculators replace accountants though?
"Code" will disappear completely. Software is just a crutch. We will ask AI directly to do a task, instead of developing a piece of software specifically for that task. Software development will be a discipline of the past, like many other forgotten professions. Natural language will be the medium we will use to describe and implement functionality. It will be the new "code" with the AI being the "runtime".
I doubt that AI would replace developers any soon. According to my experience with ChatGPT, i'm spending more time to figure out what's wrong with certain piece of code that it produces, than if I was to write the whole stuff by myself. If we take for example your example with the keys, you had to specify technical stuff that normal people are not familiar what it means - e.g. possible length of WEP keys. Then even taking into account that you specified that you need API. Take into account and the sequential object ids, which is not optimal.
All this stuff is usual for a developer to know and to expect. Other people would be like an neandertal in front of a typewritter...
Good points!
Are you using GPT4 or 3.5?
@@JohnWalz97 I'm using the free 3.5, cause I'm not allowed to use it at work, and I'm not paying a dime for my personal projects. I know GPT4 is much more advanced, and I know from a friend that he uses it as a work horse, but still he is very experienced developer who can describe well all the technical stuff he needs. I think that AI won't replace developers any soon because it is though on a flawed code from internet and it's based on text predictions. So, even if someone describes well a certain task and the corresponding model manages to produce a working version, there are still things like security that need to be observed carefully, or they may cost someone a huge amount of cash, reputation and more.
@@Deadliousyou can't imagine what a jump GTP-4 was for coding. When I tried 3.5 I thought the same, but if 5 is a comparable jump as 3 to 4 (and when it truly becomes multi-modal, then I think a lot of complex topics will become easier to learn), I can imagine that it'll start replacing entry level engineers (or even mid level) and then for 5 to replace all devs wouldn't be a big jump.
@@DragonRaider5Its still just a predictive text model pulling data from the internet. If the data is wrong (which will become a greater problem over time), its utterly worthless.
GPT5 or GPT3000 wont change that. And the idiots who depend on these systems to do tasks that they couldnt complete themselves are going to make massive errors and mistakes that they arent skilled enough to spot.
It seems to me that to use AI effectively, you have to be at least knowledgeable enough about a subject to point it in the right direction, or to ask questions that are poignant, deliberate, and specific. That's going to require a lot of both basic and theoretical knowledge on the subject as well as the ability to organize your thoughts and most of all, be LITERATE. Something that even many college grads seem to be lacking these days, which is sad. Gone will be the days of just poking at something until it works and hoping for the best.
I think this is going to be a good thing. Humans should be engaging with their work at a higher level and machines should be doing the tedious stuff. If you know what you want, know what's needed, can articulate your thoughts clearly, concisely, and precisely, I really think AI is going to be a good lab partner. But yeah, there's going to be some restructuring and jobs are going to change, many are going to go away at all levels of industry. Change is never easy.
You have to verify everythig GPT throws at you manually, and yes you have to be literate enough to do the research or accomplish the task in the first place. I see many cases when it just hallucinates something that is completely wrong, which is a bit of a problem when it comes to hard science and highly formal fields of study, but it's also kind of smart, i can see an actual human coming to a similar wrong conviction.
I'm a senior UX designer. I have no idea what he's talking about. I wouldn't be able to check or verify anything here. You need lots more abstraction layers here and a real GUI. But, what I'm thinking is: why does anybody need to work on "boilerplate" things? That is just a waste of time. The world needs a fuck-ton more software. And we need to write it better... there is so much bad software out there (which anyone working for any business knows). Could AI finally unlock not doing "low hanging fruit" all the time?
Being literate is DEFINITELY not what you would need to be.
These are LLM's they excel at word play so they will just write back the steps and the user will say go ahead.
@@Joakim-ie5um It's not like anyone spends a significant portion of their time writing boilerplate? Boilerplate-heavy frameworks are generally accompanied by automatic generators. Sometimes boilerplate heavy projects are results of limitations of toolset or personal limitations of the team or a result of technical decisions rained down from the management. Boilerplate results in very little creation effort since it's either pattern-generated or typed actually really quickly but it creates ongoing maintenance effort. In my experience (20+ years of C++) the big effort of developing medium to high complexity software is maintenance, debugging and troubleshooting. As the project grows, increasingly less time is spent writing code and more just deliberating how it has gone wrong or how it might go wrong with the next change, and i can't see ML systems having the scope of either for the time being.
You have heard that programmer productivity is approximately 10 lines a day. A programmer can easily throw down 1000 lines of code a day (which is why the 10 line stat seems absurdly low; i assure you it's not), and it is code which is syntactically correct and at a glance semantically correct, just like resulting from AI, but it takes 100 times as long for all the long-term large-scale issues this code has created to be shaken out.
Corollary: be somewhat wary of the developers who have nominally exceptionally high productivity on the team, and seem like a "star developer" or "100x developer". By all reason they're creating issues everyone else spends all their time debugging, bringing overall productivity of the team down. Since everyone else has to familiarise themselves with their code, spending extra time, and they don't make any effort to ensure their code is a good citizen in the project.
I would say any high engineering cost automation product aimed to create code is of super little value compared to automation to increase code quality or reveal hidden issues. This is also why developers are so excited about Rust language which frontloads some of the effort but reduces maintenance cost.
tell me the bests books to aquire that knowledge
If you’ve ever worked as a software engineer, especially at the senior level and beyond, you’ll know that the real engineering is mostly about design docs, system level coordination, getting alignment across multiple teams, etc. Frankly, writing actual code becomes the easy part. This is the part of the job I don’t see going away anytime soon. Low level coding might largely be replaced, but the human part will remain.
I had a conversation with my father recently, who was a comp sci major in the late 60s, about this very subject. He doesn't see it as any different from how IT has always developed. When he was younger, he learned to program at the bit level and was very limited in what he could accomplish. Now, no one even considers how a .net function is executed at the bit level. With each progression, some knowledge becomes obsolete and we learn to code at a higher level which allows us to focus on larger and more complex tasks. I agree with him and I think the only difference is the pace of development. Technology is now going to be changing at a pace that a 4 year college degree program cannot possibly hope to keep up to. I also think that's why you see such a huge surge of coding academies and such where you can realistically get to a basic functional programming level in a matter of months, not years. This should only be worrying, in my opinion, to people that are not interested in learning new tools and advancing anymore. Maybe time to retire for them.
Just wait until AI completely takes your job away at every level, we're only about 3 years away from programmers becoming 100% obsolete.
Brother, logic dictates that AI will overpower us in no time.
We may see our value - and we should. But there is not a corporate bottomline in the world that does.
@@flightevolution8132If you have tried latest tools and advances in AI you can see the massive gaps it still has honestly. The jobs it is able to easily replace are the most common ones, like web development, simple API and still it does a terrible job of maintaining code bases. I have tried to get state of the art AI to make functional projects and I can safely say it actually allows me to do the job of 3 or 4 persons previously. However it is not quality work. Code made by AI just sucks ass when asked to do complex algorithms or optimizing things. I encourage you to try and make a fully functional CFD code to see what Im talking about
Not sure what you’re talking about, but the 4 year program I went to we learnt everything starting at a semiconductor level up to bit, logic gates, and built everything from the ground up. Basically everything that a coding bootcamp doesn’t teach you. Coding bootcamp is to feed the industry cheap and fast labor, but also to make money off of the people that want to get a higher paying job that think is easy to do, even if they may not be cut out for it. To the bootcamp business they just want your money.
@@nikflix8331 I'm sure you learned the basic concepts for programing at the bit level. The point was you are not going to write a functional program with market value today by doing bit level programming (with certain exceptions). For the majority of the industry, we write programs at a language level that could be 2-3x removed from the bit level. I see AI programming interfaces as just another layer on top that makes coding more accessible.
You seem jaded about coding academies but my company has a subscription for a reason. The majority of people coming right out of college with a Bachelors in Computer Science are not fully equiped to function in their day to day tasks. Coding academies are a quick and easy way of getting them to the point that we need. I couldn't care less if a junior programmer coming in to our lab knows how to program at the bit level. It's not useful anymore.
I think the only developers worried about being replaced by chatGPT are the ones that haven't started using it.
It's nice for boilerplate, simple questions and learning APIs and language syntax, (when it's not hallucinating) but software development is much more than simple implementations. It's about solving problems, usually with code but not exclusively. I'm not even the least bit worried, for myself or the juniors of tomorrow.
It will only continue to get better and development will require less and less man hours over time. Its highly likely this will have an adverse effect on the rights, salaries and employment levels of software developers. There isnt an infinite amount of software that can be made.
@@stugeh This is a really good discussion.
I wonder what the limitations here are, and how they will be overcome. If you end up needing thousands of words to define specifically enough the application or the requirements you want, it may end up being more cumbersome than just talking to a human and asking for "do the thing with the thingy on top of the other thingy".
If we don't solve for that, I can see the situation in which metaprogramming/programming confugurations for prompts become a skill. What if you want to make a modification in your code? is it simpler to go in as a developer and tweak it? or re-deploy it as a complete new service by changing the prompt? For small enough changes it could be that separating the prompt into smaller chunks would be best, and that point you have created the software equivalent of terraform, but with prompts and different parts of your application.
I believe there is still value in knowing how to code and not becoming exclusively an operator, at least for the time being.
I do believe that knowing this technology and keeping up with the next ones (two paper down the line, like the guy from Two Minute Papers says) is super important.
We joined this industry as software engineers, and engineers should never stop learning.
I would agree but if you are into making your own custom models, you'll realize it won't be this way for long, seriously not longer than a few years. AI will accelerate AI research itself soon.
@@P0lntL3sS I understand what you are saying, and I agree that the progression will be as exponential as we are seeing it.
I wonder if there is an upper bound limit to this, given the constant creation of new tools, lack of standardize adoption, initial lack of trust (we all expect this to fade), and confusing competitive advantage among them.
We'll see what tool or suite of tools hits the right spot and how that shapes the industry, all we can do is make the best out of the situation.
Food for thought!
@@stugeh
You'd be surprised =]
The way I see it, it's just another level of abstraction that will help make developers more productive, maybe allowing for more complex software to evolve. They didn't need less developers when they stopped using punch cards or when the first compiler was invented, they needed more.
Reminds me of the hype around 3d printing. There were loads of videos explaining how 'soon we won't be buying homewares / appliance etc. we would just buy a printer and print them out'. Where's that got to. Yes a LLM can write SOME code but anything beyond very entry level coding is much more about business logic and problem solving that simply writing basic boilerplate code.
The ones who leverage all this technology will be the ones that are not left behind. This was really cool! I find value in using this to generate quick skeletons of a project to use as a starting point or reference, and go from there. Building the boilerplate for a FastAPI api, or the boilerplate for DB classes, MVC files etc. never changes between projects. It gets boilerplatey - this solves all that and takes friction off the plate of the engineer. Leaves the core work and thinking to the human. This technology is amazing - and this is just the beginning. We aren't going anywhere, folks! Do not worry - just like Arjan said. Cheers.
like the optimism but the nature of this technology will not let enough ppl to leverage it. The ones that already have the experience and resources will go even higher while the rest will struggle even more.
It will be harder to train if you don't have connections and to access such tools if you don't have the resources ( i doubt it will stay this cheap forever).
But yeah.. some will thrive given their luck and standing when this becomes the status quo.
GPT has some uses. But it leads you off into rabbit holes as much as it helps you. It shows potential, but if you think it might replace you as a programmer right now... its time to go back to school and get that GED you always dreamed of. However, it IS great at giving me the correct REGEX syntax. So, that's cool.
3.5 is garbage compared to 4 these test results are nothing
Of course it's garbages as a replacement... *right now*. That's the concern. What about GPT 10? Or 20? How long until it can do our jobs better?
This is frightening for other reasons than just replacing jobs. There is a trust factor that comes into the code being given to you by the GPT systems. The more this code gets trusted, the more businesses will not check that code in depth, as it has been tested millions of times already. This becomes an interesting attack vector. There are also copyright and patent issues that are currently being explored with a law suit against GPT.
This will replace developers though. All of us in time. Your point about the higher order thinking is spot on, but even that is a "filtering" process of what you are told is needed, and giving output, here in the form of a prompt, that then becomes or guides the way to code.
Take Microsoft's approach of adding Chat-GPT to all of their office products. Now, using a spreadsheet, you can define a model on one sheet that can then be built using excel equations, built ins, vba, C#, etc. to wind up with an Excel based application. I used to write these. That cuts out a large range of developers, a people are no longer needed to translate the business requirements into technical plans.
As well, Chat-GPT is continuously learning from the code that is created using Chat-GPT. As we give it more guided training as to how to respond to certain prompts, the patterns it will be able to respond with will become more in depth and technically advanced, while also being less buggy.
This is what Chat-GPT is doing (as others are or will be). They are getting us to use them for the advantage they give us and then using our usage as a better more in depth training system.
None of these system are thinking. They are taking patterns and returning patterns. The more patterns we train them on and the better we train the prompt patterns to the output patterns, the more they replace the majority of us, as that is what the entire field of software engineering is.
They who control the patterns (flow of information) control the world that is dependent upon those patterns. Its a two edged sword, and a vulnerability that almost none of us will see coming until it is too late. Compromise is becoming so much easier now.
I just want to add one small point here (that actually occupied minds of almost every philosopher during the whole human history): but what is thinking? what is creativity? can you define it? when and where is that strip of events and complexity that makes just taking patterns and returning patters to a creative mind? we yet to see that and nobody knows when. and it might be pretty soon to hapen.
@@robin_birdie_and then it will become impossible to see anything you do as truly unique and valuable. How will I feel motivation to solve any problem on my own knowing I'm not achieving anything special. Just let AI do it and go lay on the beach. Your job is done here.
@@robin_birdie_we are constructing rationnal reasonning though, mixing theorems and axioms together. GPT is just predicting the most probable words, I somehow doubt its creativity potential.
My opinion: High quality programming will only get better with AI and will produce more high quality content.
Where do the future quality programmers come from if very few junior programmers will be needed? And how do the few remaining junior programmers hone their skills when they mostly let AI do the job in order to remain competitive?
The video talks about "high quality programming". Sorry but I dont't know any. Do you mean Windows, the bugged to death OS? Or Linux, the another bugged to death OS? Or? Because these are the biggest pieces of today's programming, crappy and full of security holes. Is AI going to make it better? No, I would say quicker && even worse.
This period will be short lived. "Code" will disappear completely. Software is just a crutch. We will ask AI directly to do a task, instead of developing a piece of software specifically for that task. Software development will be a discipline of the past, like many other forgotten professions. Natural language will be the medium we will use to describe and implement functionality. It will be the new "code" with the AI being the "runtime".
yea isnt it like when the code libraries started getting very built out, it just make's the basic stuff easier
My opinion...
Software will be a black box which humans won't even know exists.
When my mother goes to the bank, she has no idea that the bank even has an I.T. department, let alone what it does.
She doesn't need to know.
Remember punched cards?
"Punched cards", what are they?
Exactly.
Remember software?
"Software", what's that?
Get the picture?
I think it's worth making a distinction between a tiny little api that it generated and a enterprise application with tons of complex business rules.
Shhhhh...you're going to dismantle the hype just like Web3, Crypto, and NFTs.
yeah but this is the first step...next step tell the bot to look a a git folder and analyze that fork you are working on...LOL infact if I can get this working Im going to have it analyze its own code and suggest improvements....BWAHAHAHAHA Its alive!
Big enterprise software, if well developed is just thousands of pieces of code like the example shown.
@@Cyhawkx yes very simple
True
This seems like a perfect opportunity to do rigorous TDD without cutting corners. Rather than having the GPT engineer write some code for you based on requirements and hope the code works, have it write its tests first based on those requirements. Then have it write code to pass its own tests.
Good point - codium is AI focused on tests, seems promising.
Yep this is a brilliant point. I’ve been thinking similarly - LLMs can take over the work of converting a spec into BDD -> TDD -> test suite -> implementation
Executed a private project just like that recently. It was extremely efficient. I have 100% coverage as I start by defining the business criterias, have AI write the tests, then fill in the implementation, and occasionally I write custom logic myself, only to have AI refactor it and prettify it while still passing the tests.
@@jonatanlampa510 how do you confirm the tests the AI writes actually make sense and have full code coverage, without actually reviewing every line that it writes manually? I think that's the issue here, it certainly saves a tonne of time by writing things out for you that follows a specific pattern but at the end of day you need to verify everything manually anyway
I see chatgpt as an incredible assistant but will not replace engineers in entirety because you need a human to confirm the AI isn't just hallucinating, but yes, it improves productivity massively if used correctly
@jackcollis7258 agree. I got it to write a bunch of manual tests (i.e. just words not code) against acceptance criteria and there were loads of errors and gaps, even after repeatedly reprompting it to correct its mistakes.
Developing is not always about creating new code, but also maintaining the existing one and adding new features. Interesting to see how chatgpt will handle a case when you have couple of services interacting with each other and you need to add new feature to one other in a way the whole system works normally. Doubt it's possible now or soon, but this is definitely a great breakthrough !
Make a real example and try it. I think we are already here.
This is the worst it's going to get.
Its takes an AI about a minute to reformat and optimize hundreds of thousands of lines of code in any language you like... today.
@@obsidianjane4413 Not in my experience. It's useful but it needs careful supervision. No doubt we will get there soon enough though.
The question in my mind is, will AI be able to adequately understand business requirements. If it can get to that point then yes developers are in trouble, but otherwise we will still need humans to interpret and appropriately model the business
I was using aider to try to code an entire program using languages and commands I'm not familiar with and eventually had to spend a long time to finally draw the conclusion it was dead wrong and even worse it was constitutionally incapable of changing its mind. I had to implement the fix myself.
Alternatively, it has been an invaluable asset in helping me write programs in formats I'm familiar with. Being able to quickly throw out a bad script with no syntax errors takes a lot of the tedious tasks out.
I love the development, but as a professional myself, reading code is harder than writing code. Why does this matter? Unless we start new codebases every month with chatgpt, how does a chatgpt codebase look in a year? I have this weird succesrate of 100% on first app iterations, but a relatively low succes rate with any technical problems in my real life codebase issue as tech lead. Also, 1 of the things that help me analyze codebases, is that you learn the "style(s)" of the dev(s) that worked on a project, making the codebase over time time easier to read. Chatgpt writes in a different coding style all the time unless you address it, but even then it has no personal opinion or sense of self. This mean a chatgpt codebase in a year could look like it was built by 100 different developers, with different syntax and conventions, making reading it hard for the unintiated. Today's legacy might be nothing compared to it.
Rhetoric: Is it also even possible to add real life client features over a long time? And the moment chatgpt cannot add to a codebase, can a senior jump in and find the errors of 500k chatgpt lines? If not, is the project then stopped, and a new one started?
I would imagine that gpt will also help people decipher the 100s of code styles in a gpt generated code base. For example, I had a friend recently send me a function, I definitely could have spent 20 minutes reading it critically and understanding it, but instead I got gpt to outline the main steps in the function, which made the readability faster, and I was able to understand it in a fraction of the time.
I bet there are ways to address at least some of those issues. Like this video uses a wrapper application. So a wrapper could tell it to have a certain style, or at least keep the current style it sees in the project. Also, I think it'll be a while before you'd be having an AI just create a large codebase on its own. I work at a company with a bunch of senior devs, and we still code review each other as part of the process of adding new features. So it'd be good to have a person code-review the AI. And the AI should be prompted to change only the parts it needs to, separate out feature vs refactoring changes, have good commit messages, etc. Just because a future AI in theory could re-write an app from scratch for each new feature, I don't think there's a good reason to want it to do that, vs having it act more like a human would. Depending on how the AI works, it might even be better for it, having old commits and diffs to look at.
This is all so new that we don't really have a good set of best practices yet, and the targets are also always moving. But even if we get to the point that an AI can handle a big codebase on its own, that'll have its own set of best practices that comes with it.
I did quite a bit of testing with ChatGPT and pretty much every problem you ask for, that is not the most common textbook example, is answered with something that looks like going into the right direction on first glance but is wrong. Worst is if it actually does something, and looks something like what might be expected, which could lead somebody not knowing what it does (roughly) to believe in its production. Currently I think it is much more dangerous to those who do use it, and even more so their clients, than to those who don't. This might change, but I doubt it for transformers. I think one pretty much needs AGI, and transformers with all their halucinations are definately not that. We don't know how human intelligence does argumentation, but we do, and most of us can with some effort be helped to understand if something is correct or not by argumentation, with (mathematical) training in a robust manner. ChatGPT simply does make up shit if it has not seen the solution (with some luck having seen parts of it repeatedly and associated well enough can be enough, it sometimes can "guess" correctly, it is not a search engine [but that can actually hurt, too]) in training. And even if one notices that it is nonsense, one cannot argue with it and lead it to a correct solution. It cannot learn out of training. And if one asks ChatGPT to explain itself it will be hallucinating explanations, that once more might convince users who are neither subject matter experts nor understand what generative AI does at the moment.
I am terrified how much some people trust ChatGPT.
I agree. Gpt is great if you already know how to code or test. If you dont you will generate dodgy code and not test properly. For a few years there will be many jobs fixing gpt bugs.....a bit like the year 2000 problem but bigger. But in time things will change....how? nobody knows.
When humans first started to develop tools they used the materials that were close to hand, wood, stone then later on metals, then silicon etc. These tools developed and evolved over time to fit the environment they needed to exist within, AI is also just a tool trying to find its place amongst the humans that use it. We are still in the early days of this technology, it is improving rapidly though, GPT-4 currently has a bunch of plugins available to it, so it can search the web or access things like Wolfram Alpha etc. I think people need to understand that the level GPT-4 is at the moment is more akin to a tech demo and not a fully functioning tool, that being said it is still massively useful for many people if they know its limitations. Over time AI systems have a tendency to improve, they are only really as good as the datasets they are trained on and the fine tuning that is applied to them. AGI is a whole other world, you are talking about a non-human system having the knowledge and understanding to solve all problems, also a level of sentience that we can't currently comprehend. Transformers are part of this, GPT is a NLP model, it is good at seeing patterns in text based on certain contexts, something many humans are also good at, but like all humans they are also good at seeing false positives, pareidolia is a good example of this. I am also very concerned with how much trust people put into GPT 3.5/4 etc but they are people who don't understand what it actually is, that being just a tool in the early stages of development. I am pretty sure when the hammer was first invented, many people accidently hit themselves with it without fully understanding how to use it, to be fair some people still do lol
Yep, your experience mirrors mine. I tend not to trust anything I get from it. I tend to use it mostly for generating basic boilerplate or making alterations that would be cumbersome to do via a regular expression. It can help with documentation, but like its code generation, you need to keep an eye on what it's spitting out as it can easily produce believable sounding bullshit.
I think transformers might get there, they just need to be augmented with long term memory and recursive "thinking" processes. When I'm thinking about solving a problem I myself hallucinate answer and try to disprove it based on my knowledge or I start from first principles. Currently Transformers are used just to do the first part, but it's proven that they can also reason given their context and there are some early implementations of long term memory augmentations already. And this memory could hold examples of whole high level architectures or even knowledge about single transistors, shift registers, architecture specific accelerators, whatever that LLM without augmentation can't take into account.
So in like 3 years we will have better models, new specialized models, better datasets, order or two of magnitude lowered costs of inference because of hardware accelerators, matured long term memory implementations for LLM, new architectures and frameworks of recursive "thinking" about a problem, probably even full blown multi-model reasoning systems with different models for coding, planing, reasoning etc. I seriously think even high level system designers might be forced to adopt of whatever workflow is coming... I could easily imagine a complex systems of augmented LLMs where there are continuously recursively updated discrete steps of high level planning, middle level planning, writing pseudo code based on previous steps, and then passing this pseudocode to programming language specific LLM for final translation to code. Some parts of this system could be also integrated with chatbots that could ask users for any additional info.
I'm still surprised people use the chat front end and not the API with proper prompts. Huge difference. I don't mind though. Less competition :)
So.. we did a full circle on UI. From text to GUI to text again!
If you think about it, too much effort is wasted on GUI, and often the GUI ends up poorly designed - not intuitive/difficult to navigate, too much/too little information displayed at the wrong time, trendy unproductive GUI, etc.
The perfect solution would be to interface AI with the code and have it display a dynamic GUI based on user directives. This however cannot be so dynamic as to be changing every time the program is run. More like based on use case, and in the form of a "style"
PS I find the text interface of AI chatbots refreshing for getting information. Compared to being overloaded with graphical content and useless verbal diarrhea on websites.
power for knowledge then how use knowledge then damn i ahve to not be lazy and use knowledge
eating well and exercise.. nvm i mean coding well
As a graduate of computer science this year I have been able to secure an .NET junior role and I do use gpt for a lot of things. The problem is it cant understand the large context of the codebase/database. Im not afraid of replacing myself by using AI its quite exciting and I think these construction worker type programmer jobs will evolve into being an architect.
As far as I can see, it helps in translation the developer's way of thinking into the code, not really replacing the developer. This is the good news, not bad.
+1
More people will be able to do the same job. Competition will skyrocket and salaries will plummet. At the same time this all will be automated and before the end of the decade the AI will walk normal people through building what ever stuff they want and even IT research positions will be scarce.
AI is the Great Filter, solution to Fermi's Paradox, next stage of evolution and our inevitable extinction.
@@Ilamarea There's no single thing in AI that will make someone who can't go pass the initial boilerplate code to do a developer's job. Even when AI becomes more capable than making just a boilerplate, there won't be a single thing there that will make a non-developer a developer.
Maybe I'm too old to work as a developer (with around 15 years of experience), and in the past, we had similar mechanisms called scaffolding in Ruby On Rails, Seam, Grails, and even NetBeans IDE. We were able to create whole apps with a working frontend, and often with a login page, in just a few minutes based on an ER diagram. It worked even better than GPT, but it was limited to easy CRUD apps and eventually disappeared from the market.
Today, we have better solutions than GTP or scaffolding. Low-code and No-code solutions have taken over, replacing many projects in companies. You don't need a technical background to create an application; you only need to know tools like QuickBase, Oracle Forms, or others. These solutions have made application development more accessible and efficient for simpler projects.
You know what GPT-Engineer could not do? teaching junior programmers about software design. Thanks a lot Arjan. we love your channel and your work
Thank you so much!
I cant even get It to work
I see the problem more when checking the generated code. The more complex the code becomes, the more difficult it becomes to detect buggy or malicious code. In a person you can still look at the character traits. If, for example, an employee attracts attention, you can check all his code very carefully afterwards. With an AI, this path is blocked. So you will probably need another AI to review the code to identify potentially malicious code. But people are just lazy and greedy for money. So there will certainly be a lot of companies that will skip the verification step. Only errors that prevent the sale are then looked for.
The issue with AI, though, is no matter how good it is, how do you ensure that it is indeed correct in reviewing the code? With an AI, who do you hold responsible for any issues? What if the LLM being used is running internally, do you fire the lead of that department or team?
With people reviewing it, it is much easier. And even if the failure rate is for some reason higher with people, at least there is someone who can be held accountable, and someone who can verifiably better at their job. That's not so simple with LLM.
So, the entry level job goes from sweeping the floor to looking after the robot that sweeps the floor.
Because the floor is large.
@@markm1514 so is your mom
Being able to formulate precise and concise questions as well as being familiar with software design patterns will the most desirable skills today and in the days to come.
Jaron Lanier: 'The danger isn't that AI destroys us. It's that it drives us insane'
As a SW architect working for a fortune 100 company I can say the work I do is at more risk to be off-shored to a low cost geo than to be replaced by AI.
I find the results to be of a comparable quality to offshored, but iteration is way quicker.
Spot on, here in Australia more companies are now using off shore engineers than local engineers. We have a engineer who is our translator and lives locally who speaks to the off shore teams and the work is just as good but for 1/3rd the price.
Arjan , two thoughts: 1- LLM will finally move to free (or at least cheaper) sources, so the security issue would not be an issue at all in the future. 2- Seniors would always be needed as AI must catch up with advancements of different technologies and for that it needs data (documentation, tutorials, apps, etc.)
Wait - who will advance technology if everyone is just using canned solutions provided by LLMs that are based on years-old code bases?
No more junior devs and no more CS students means once the grey beards retire, there'll be no one left capable of innovating or improving.
It'll just be a bunch of tech priests performing rituals to appease the (quite literal) machine spirit, reciting sacred prompts to hopefully get a working solution.
Patterns generated by the machine will be treated in a cargo-cult fashion and pieced together until they run or compile without anyone really knowing how and why.
Hyperbole, of course, but maybe not too far fetched either...
Well, finally we will have Warhammer 40k
We will be fine. Ever had a client or sales team ever clearly, accurately describe what they want an application to do? I didn't think so.
Until we create business analyst GPT
@vitaliiivanov9514 nope coding is very clear logical instructions that's why most no technical people cant do it
What you've shown was the software creating a project from scratch. Almost never in a developer's career will they need to create a project from scratch themselves. Tickets mostly involve adding a feature or fixing a bug in an already existing and already complex project. I'm curious how the AI performs in such scenarios or if it even is capable of handling such requests.
Could be nice for writing tests, good point on that. But otherwise I don't see how it could help in my daily work. And I'm not doing anything particularly high-level. With that said, ChatGPT did help me find errors in my code (written by me) on a couple occasions.
I t's like having an apprentice/intern with essentially unlimited capacity. Like an intern, it still requires loads of guidance, and patience to produce results that provide value. It has an unfortunate habit of dropping details from one set of output to another, and it makes many mistakes ... kind of like an intern.
I think its interesting to note, that whenever there is a technology, that takes tasks away from people, the conversation is always about how many people will loose their jobs, while in reality it works more like this
-> New technologie leads to a higher abstraction and more complex applications, which leads to a bigger industry and need for developers.
Look at high level programming languages vs machine code. You don't need to many people anymore to write a simple calculator, but that doesn't mean, there are less jobs for developers now. It's the exact opposite, the need for developers is bigger than ever and everyone works on more complex applications without having to deal with the underlying complexity.
What a neat way for Microsoft to monitor their competitors.
Why you think they bought NPM and GitHub, they don't need Stackoverflow because their data is more open than Wikipedia. Microsoft is still or again Evil. Like all the Evil Big Tech
This video comes very handy to me. Yesterday i spent hours looking for a possible solution or similar problem to a jquery problem and at some point i thought to give it a try to chatgpt, well in 2 min after 3 iteraciones i got the solution to my problem. It was as i i would have asked a senior team member. But chatgpt will not replace developers, it will make them more productive. But i will not trust chatgpt for developing entre applications by its own. Debug amd testing still is a thing , and not only that somebody need to interpret business requirements, and chatgpt hallucinate a lot, even if you try to iterativo several times. Chatgpt at somepoint star looping with its own generated promts. Thanks for the video.
Funny thing is, to use these tools effectively, you still need to understand what they are producing.
Is like in the late 80s when Autocad version 1 was released. Many many architects thought their profession would be a thing of the past
I am graduating this month with four past internships and a decent junior portfolio and can say the job market for me is scary. I love what GPT and LLM's have done for legwork and speeding up the development process, but I am worried for my future after spending over $50,000 on a university education. I have applied to plenty jobs and either got quick denials or no response at all.
Fuck that is harsh. Well I can bet that the right opportunity will be yours. Are you in a location where there are a lot of tech companies or are you only applying for remote jobs? I graduated in 2008 and just this year I was able to get a job in my field of study. It might require a lot of patience against feelings of never being able to do your dreams. Don’t be afraid to take another job that is not what you want for the long term. You should be focused on paying off student loans by any means necessary. Trust me, you do not want to be in default of those. You won’t even be able to get a pay it in 4 account approval. Trust me. It happened to me. You will catch your groove. Focus on continuing to skill up by networking with people in your field you can learn from. Constantly be learning even still. When the right opportunity comes you will be that much better. Just a tip, look into quantum computers. This is going to be the next big thing. You think AI is really something? Wait till you see about quantum computers. If you cop the skills for working in that you will surely be mf golden especially in the quantum computer explosion that is coming. It’s worth the uphill learning curve my bro! That is what I recommend. One more quick story. When I was in college, you were really only expected to get a bachelor degree for a secure and decent paying entry level job, and when I graduated the recession it, and when the recession lifted you needed much more than a bachelors degree to be competitive, and to get that jobby job. I am 41 and according to MIT I do not make a living wage for where I live in California but I’m still making it and guess what I am continuing to skillup. Yo what you said is a little daunting to me because what I’m pursuing is in the related field of our subject in my head just runs with negative shit but I have to try because if I don’t try my chances of success are 0.0#. Find some people in your net work, or make them in your net work, who are in a similar situation as you and former company, and start finding an identifying opportunities with businesses, or somewhere in life and create and carve some projects for you to work on to add to your real life portfolio. You were going to need that absolutely. Even if you have to do it pro bono at first. You look like you have some time on your side based on the picture that I see in your photo here. This one’s gonna be about the journey, my bro. Good luck my bro!
I doubt the main reason for the harsh job market are LLMs. I guess it's rather due to the economy, some huge tech companies basically detaining a monopoly (bad for competition and innovation, everything else is basically being sucked up by the "advertising industry") and maybe some sort of saturation of the job market (coding isn't a niche thing any longer, plenty of young and talented people got CS degrees, took bootcamps etc. over the last decade). However, I feel like good engineers (those who actually understand what they are doing) are still highly requested and will probably remain requested in the forseeable future.
It was like that for me as well as a junior dev, it has nothing to do with chat gpt
I think once this tool reaches a level of maturity that allows for refactoring and adapting to business changes, then it's lights out. Basically the CEO (or their secretary) will input requirements and by EOD the system is serving customers! Won't be that impressive for some weeks BUT the learning capabilities will enable self correction eventually. This can happen in three years' time
I'm curious, how good will upcoming AI's be at handling user provided constraints, such as making sure the runtime of a function does not exceed n seconds for instance? My prediction is that earlier models will perform poorly in such areas.
Yes but the problem is they progress in much higher rate than you do.
Good review. I have been wondering a lot about this topic since I am just starting to learn Data Analysis and someday Data Science. My thoughts are like this: Existing development jobs will be completed faster and by fewer people. On the other hand, more applications will emerge ( think IOT, blockchain, etc), more (non-AI-capable) technology will emerge, and more "connections" required between different technologies. Software people will be REQUIRED to have a broader view of all technologies at least to understand how they work together. ( I think you mentioned this last point) . I do not know what the final balance will be, but it seems the training or education level of software people must become more broad, and maybe fewer experts in one particular language? And more expert in understanding interdisciplinary functions?
I think most students, with AI, will be less dependent on actually applying for jobs but will be, if creative enough, be able to start their own businesses way faster.
I think everyone who goes into this field will have to be first of really smart to begin with and have a vision for a company employing their fellow students to get things done. Because a hire that already houses several senior engeneers will likely be less and less necessary.
Do you think there will continue to be room for such startups to compete for existence against increasingly more massively endowed gigantic and mid size tech firms?
@@user-yv6xw7ns3o I really don't know.
My gut though says that everyone able to hold their own during the first stages of their journey to become a developer in that hypothetical environment will be able to identify niches to fill the gaps between those giants.
I'm quite optimistic that A.I. will be more of an excellerator than a true hindrence.
Even if the job of a programmer in and of itself might die due to grand accessability to everyone, those everyones will have to distinguish themselfs through great architechtual prowess and immensly good ideas. The field will change. But the real programming is mostly the functioning construction of interconnected subsystems, wouln't you agree? And If one can't think of the details in such a system they are little of a programmer in the first place, whether they know syntax or not or have to know syntax due to A.I..
I admit that A.I. will also be capable of creating interconnections with one not understanding a thing about their functionality. But the more complex the A.I. the easier the entry into a niche, and the more niches are filled the more creative one has to become.
I think it's an interesting feedback loop :>
I strongly disagree. Most students will definitely not be able to use AI (which is good at spitting out boilerplate of already solved problems), to build businesses. In fact, I don't believe that AI will help even senior engineers to build new businesses (except for, of course, saving some time spitting out boilerplate code).
@@nomadtrails Interesting take. Due to it's unimaginative nature or are there other reasons in mind? Don't you think that this issue will be solved in a view years?
I can imagine a programming A.I. which has the current capabilities included in a model with clear testing and learning directives based on syntax alone. After which you could give it a task to solve a deeper problem.
@@nomadtrails I'm with moodmaker. The vast majority of software even in startups aren't actually some super innovative concept, in terms of the code. It is just applying the standard coding practices to new business problems, in such a way that the eventual complexity is managed (and so hopefully the whole thing doesn't collapse into a ball of tangled thread). OpenAI said they improved math in GPT-4 by training it not just on getting the right answer, but on producing the right steps to solve the problem.
I don't see why an AI won't be able to be trained to turn generic concepts into code, to ask clarifying questions, to refactor existing code into simpler pieces, etc. It certainly isn't there yet, but who knows in a year or two.
If we're honest about it, programming languages were always just intermediaries to translate what we need for the computer to understand. With AI, everything is just going up one level so that we can now actually tell it in human language what we need and it does the rest. It's not that we inherently should be using programming languages. That's just what was always necessery up until this point. I'm happy we can move up to the next level and don't have to learn the details of the programming language being used. I wouldn't be surprised if there will be new coding languages created by AI in the future so that we don't even have to care or know which coding language is used to translate what we want into working software.
My experience is it’s definitely useful but someone who doesn’t have an in depth knowledge about developing will struggle to understand what is going on. Good for creating some boilerplate but rarely gets it right first time. Then you take it to webdev and realise it is kinda useless.
I think this is more like a tool for fast development. Yes it can generate code but at the moment it is crucial that you know what you're doing. You took a look at the code and said " yes this looks like it might work", if someone who doesnt know just plugs and plays it then we are looking towards a future where almost no one really knows how anything works and it opens up the doors to a lot of security issues.
I think the same concerns where present when high level programming languages started to emerge. What? You don't need to know assembler? No knowledge to CPU architecture required to write a code?
thats a good point
Software Testing will not be replaced by this. It will be augmented for sure, but not replaced. I've heard for over 30 years that tools of some type will replace software testing and testing staff. I'm still at it! And I'm an Automation Developer saying this.
Maybe Unit Testing and some Integration Testing will be heavily augmented (even more than now) for developers, but the System level and Business Logic testing will not. Again, been at this a long time and have seen the "Silver Bullets" come and go.
In twenty years I will have to explain to junior developers why and how we had to write all this code by ourselves. Though by then, there will be programming languages and frameworks specialized for AI generation...
There will be no software development long term. Why create a piece of code to do a specific task if you can simply ask the AI to do the task?
We use frameworks already and not write all code by ourself. The problem is that there is no standard of natural language or ai generation and ai companies tweaking algorithms for every version without a clue how it affect its reasoning at the other side. I love ai tools but they are also very unreliable.
@@minimal3734 for one thing because text and spoken language are a terrible user interface for many tasks. For another, we are still very far both from general artificial intelligence that really never needs specific guidance on how to do things (=programming), and from running LLMs cheap enough to warrant the extreme inefficiency in terms of time, energy usage etc
We might, finally, be getting to specification driven development - I'm assuming there are about a billion groups currently working on gpt promoting using first/second order formal languages?
What a lot of these things forget is that "writing code" isn't a developer primary task ...
@prependedprepended6606if you work for a large company like I do you spend most of your time trying to navigate all of the process and procedure and management reports and other obstacles they put in the way just to get your job done. I spend very little time programming anymore which I find very disappointing.
@prependedprepended6606 Exactly this.
@@aaronbono4688 Aaron, seriously, try to get out of there if at all possible. I've been in that situation and it can suck the life out of you after a while. Especially if there are any devs you respected that left there to go somewhere else eventually. I was really scared to leave the security of that job, but was definitely the right decision in the end.
@@ShawnFumo I have worked in well over a dozen different companies over the last 25 years. Big corporations are not the most enjoyable places to work but you make the most money there. I found a company that's better than most and since I am focused on saving hard for retirement I'm just fine where I'm at. The smaller more exciting companies are also more volatile and I've had my fill of that and I'm done with the stress.
@@aaronbono4688 That's fair. I really lucked out where I am now, with a combo of good pay, not much bureaucracy, but pretty stable too. I'm at 22ish years being in the software industry now, and I agree I wouldn't want to go a "work you to the bone and it might explode" type startup either.
I feel like it's the industrial tech revolution. Using the home analogy, before you had to find a tree, cut it down, shape the wood, find the local blacksmith to make you some nails, etc. Then they sold the planks so you didnt have to cut the tree down and then factories started pumping out the nails, the paint, the drywall, etc, bricks.. so better houses were built much more quickly.
The software chunks AI produces are like the mass produced materials to build homes. It's just that it's infinitely less cost prohibitive to make software than build a home by buying physical materials, so it's much more accessible.
Also it still sucks at concurrency and parallel programming just saying.
I would love to have some AI tools to help support the legacy app that is my day job, but that's not likely for a while yet. I think you're right about the use of AI to make developers more productive, and that the really innovative work will still be done by humans (with AI help). All of this is driving us much faster to a discussion about guaranteed income-- much faster than I thought I'd see in my lifetime!
Guaranteed income is already here: $0
Great vid! Sorry for being picky, but just wanted to share, that -- There is a big difference between "out of the box" and "outside the box". I think you always meant the latter.
I absolutely won't miss the opportunity to enlist the services of a master GPT-engineer who underwent rigorous training with your captivating videos.
I think many people writing comments that X and Y will not get replaced by AI because the AI is good at A but not B and C are forgetting where we had been 6 months ago, let alone 1 year ago. That kind of fixed mindset is exactly what will be in most danger of getting replaced when these tools get better.
It will shrink our tasks ... and then our tasks will require deeper insight, which will translate into longer education, on more advanced topics, and also we will be given more work when we get to work ... and then storage requirements will become a bottleneck.
There is a parallel in how first power tools and manufacturing machines gave rise to expansion of mechanical engineering discipline, breeding a new sort of occupation which dealt with physical objects, but in an highly abstract and analytical way.
This thing will "mechanize" our (and I don't mean just software engineers') previous tasks and push us into more abstraction, but it will also pursuit us there, gradually pushing further. I am not sure if there is a limit to that process, is there a condition when it is completely done.
I believe that there will never be "Singularity" event, because these tools will have to harvest our new inventions as we delve into uncharted territories and establish new best practices in them. There will be an exponential rise in human imaginative ability, but the thing with exponential curves is that they look always the same if you keep increasing the zoom.
If there is an inherent predictable pattern in that process, the tool might overtake the initiative and leave us in dust. However, that would lead us to search for unpredictable trajectories.
I also expect that this "time of innocence" and sharing AI with everyone will soon enough end and walls of competition will get erected, excluding have-nots.
I use ChatGPT for creating and formatting information from tables, and here and there it misses entries. So I get 95% but not 100%, and finding the missing 5% takes more time than just do it per algorithm. But that was just two examples. Otherwise, it provides good starting points.
Im a web applications developer and I cant wait until the point where I can just say to my computer "I need this in [insert programming language here]" and it just goes and does it.
The only way I keep coding "interesting" for myself just now, is by having classes that build pages for me (or on my behalf - depends on how you look at it) on top of which I can add clients needs. It removes that whole drudgery of initialising a new system for every new client and lets me jump right into the fun bits. The only problem? Im the only person that knows how it actually works under the hood, so its useless (pretty much) for other developers. The way I see it, this new engineer will mean I dont have to explain the system in depth, because you'll hopefully be able to duplicate the entire system by just basically explaining what it does. This jump in technology will allow more developers to enter the space bringing better UI and UX and (hopefully) stability to the code. I love that GPT Engineer now enables that.
Real world software is much more complicated though. Complexity increases exponentially too
thats what i was thinking it makes writing trivial apps a lot faster, rather than spending a hour to do that it would take a few minutes but this program is very simple.
when he said "It takes minutes to write a complete application" I chuckled.
That's barely a simple service. Yeah, it was really quick, but hardly a "complete application"
Another thing that a lot of people miss is that in a professional environment, most of the time will be spent deciding what we want and how we want it (and then changing your mind when you're halfway there), not actually writing it.
@@MadsterV The thing people fail to realize is that coding is 10~20% of an engineers task. Most of the time is spent on knowing the business. IF you follow that code is the byproduct of learning. Engineers are in the business of learning the business, politics, dealing with diverse situations outside the screen. Due to these reasons AI will just be tools as businesses rely on human relationships to store knowledge. Who knows maybe there will be a AGI that can replace that but its honestly a few decades away
@@jokwon7343 but not all engineers need to know or understand requirements. As a senior dev, with current gpt tech, i can replace 3 developers and maintain the same productivity. a year from now - maybe 10? of course dev productivity expectations are dramatically rising as well. But either way, its not 'decades away'
@prependedprepended6606 I agree that AI isn't there to do complex things yet. You really don't need "complete and correct requirements", though. We found with most human projects that "waterfall" usually isn't the best approach. You get something basic out there, get feedback, make changes, etc. You try to keep things flexible enough that you aren't totally backed into a corner, but not so flexible that you're overwhelmed with complexity that you don't end up needing.
There is a video where someone who never coded before used GPT-4 to code a side-scrolling browser game. He started simple and kept pasting in the current state of the code and asking for a new feature, but telling it just to give him the new code needed and where to paste it, vs regen the entire thing. He got a pretty decent-looking thing in the end, though was starting to hit the edge of the max context length.
Obviously that game was nowhere near a large enterprise application, but it proves the point that AI can iterate on code too. And like a human, it is more likely to get it right by going in smaller steps vs trying to write the whole thing in one go from some giant specification.
I'm sure there is going to be a ton of experimentation around getting coding to work better from an AI. Like humans don't have a huge context length (working memory) either. One of the main reasons for "readable code", single responsibility, etc is managing complexity so you don't need the whole problem in your head at once. There is no reason you can't try to do this with AI, having summaries of different functions and files and only loading the actual code when needed. There's also no reason an AI can't call into refactoring tools that humans usually use. There's no reason AI can't do TDD (there's already been experiments with tests first with AI). Even the fact that the AI in this video asked for clarifications is different from other implementations I've seen before now.
The combination of using the above techniques and a somewhat smarter AI, may start to go a long way. We just don't know yet.
One needs to be able to read, understand code in order to organize and debug the output of the LLMs.
Also they're trained on our work so if people were to stop, they'd also not be able to "learn" new solutions. Also I'm not sure what would happen if they're trained on their own output as will inevitably happen.
I don't know what your experience is, but my software engineering students tend to be technically very competent but really struggle to convert real-world requirements into workable solutions. When I give them some code to give them a head start on a project, some see the code as a curse rather than a blessing, preferring to start from scratch. Large language models will undoubtedly change the way we work. People who can use them effectively will have a competitive advantage.
Large language models clearly can automate a considerable amount of work, potentially causing job losses. However, impressive as they are, large language models are statistical models that predict the next word. They are better and faster than humans at specific tasks, but they do not understand humans better than humans. They also need humans to help them out, which requires situations where they can produce enough work automatically that the manual work involved in prompting and correcting them is less than producing a solution from scratch.
AI has a long history of exciting and subsequently disappointing people who had excessive expectations. A common comment is: "These systems will only get better". That's true, but expect diminishing returns from this technology. Welcoming our new machine overlords is a little bit premature. There are benefits to be had being able to leverage this technology effectively. Software engineering teachers will need to change how they train computer scientists, which is daunting and exciting.
I really appreciate reading level-headed thoughts like this. Thank you. I'm tired of seeing so many AI-enthusiasts feel the need to advertise their new tools as ground-breaking and scary. But it's what drives engagement, so 🤷♂
I upvoted, but I'm not sure if there is evidence to "expect diminishing returns" yet. In some sense yes, like the leap from MidJourney v1/2/3 to where it is now, going from something that was only usable in a very narrow set of applications, to now having really good results for many things with v5+. Now it is more about better details, more resolution, better understanding, etc. But even if it is technically less returns, one that can make hands vs one that can't make hands ends up being pretty important in practice. And also text to video now starting to go full force.
I see so much progress lately with making models smaller, with less training data, training on processes vs final results, different ways of prompting, adding memory, increased context sizes, combining multiple models together as a group, etc. I'd be surprised if we are already most of the way there for programming abilities of AIs.
We've been automating (and outsourcing) factory jobs for decades. Software testers are often expected to automate all of their testing, which sometimes leads to the company employing fewer testers. Now I guess it's software developers' turn. Welcome to the club.
The way I see it, AI will take a lot of the job away but you still need to know enough to ask the AI to generate what you need appropriately. For example most people have no idea what most of your request to the AI means outside of existing programmers. In addition if editing is required or troubleshooting, you still need to be able to read the code to understand if it is actually doing what you require.
It will have have a similar effect of not having to build a library every time you want to use it, or with other open source material. You’re just able to get it without killing as much time. There will still be more layoffs in tech though but there will be other new jobs in tech that are related. It’s just change and many people across disciplines will need to adapt.
Alot of people seem interested in making predictions. Here's a worthwhile mental exercise. Imagine an analogous secnario during the introduction of high level programming languages. Like how much easier tasks become if there is no garbage collection. Yet overflows are still possible reminding us that garbage collection never really went away.
So if most of the change can look like an iteration, let's consider the aspects that resist that interpretation. This may be thoroughly new stuff. Now the question is will this new stuff have more impact than continuing the trend towards greater abstraction.
It took 40+ years to digest the last step towards abstraction. Since then we've been getting through paradigms language features and best practices. There've been huge industry wide gains in version control and virtualisation and as software engineers that's not the job anyway. Whats been built in that time is ultimately the achievement.
Since innovation is never off the table is there really more here than the first significant step forward in abstraction in decades?
Good news for game devs... a tool that makes the engineering aspect of making games simpler while allowing us to focus on art? Fantastic!
@prependedprepended6606 sure... but a.i. is a long way off from replacing artists. A LONG way. If I need a pixel animation for a game... it might be able to give me something but it won't interpolate correctly and it will lack specificity and won't take palette into consideration. Neural networks seem to be great at making fine art but they're not there yet for "working art" like illustration.
@prependedprepended6606while I think you are correct in your response to this particular post art is not just imagery, there is an art to designing an application. Coming up with the idea and the instructions to give these bots so that they create what you envision is a big part of the art process.
Consequently creating lots of competition, and what do you think people will do, create games and play your game.
Dev will not be replaced, because you need to be a dev to prompt something complexe correctly.
I'm a web dev, I use chat GPT like a tool, sometimes it's faster to prompt a sentence than search a method on google and then write the part of the function you want. But in another hand when context is complexe it's faster to write code than to prompt it because there's too much things to consider.
OpenAI has released public access to GPT4 API to paying customers.
Maybe you can do a follow up video with that api?
Good work on this one 🎉
A little off-topic question: Which keyboard do you use? Looks like a Keychron but the colors do not match what I see on the product page.
Good thing I'm relying on my mech engineering degree more than on my software eng degree. Starting to look more and more like software eng degrees are becoming as valuable as degrees on a thermometer. And we all know where we usually put thermometers.
First AI replaced the artists, but it didn't bother me, for I was art wasn't my field. Then AI took over for the software devs, but I didn't even flinch, since I had my mechanical engineering degree. When AI and robots took over mechanical engineering, there was no one left to worry for me...
I'm currently implementing an endpoint receiving encrypted wM-Bus telegrams, wrapped in CoAP protocol with transport encryption (2 layers of encryption). The day an AI can take the 2 implementation guides, and 6 standards I have to read, and then generate a usable output, I will be happy.
Trying to explain an AI how to do this , would take more time than to actually program it yourself.
I just build my first Python app to control a command based only application, and I never saw Python before and I suck at coding. This helps builds my company like crazy because I basically have a whole development team in my pocket. I'm a one-man-band but with AI I have the power of a whole company.
Just like binary code programming evolved into programming in Assembler and then C++ and then Java, every time leaving more of the low-level tasks to be done automatically, so AI-assisted programming will just be the next step.
Super-duper autocomplete!
But the comprehension of domain and translating it into a machine fit for requirements, that remains. Because that takes thought. And what we get paid to do isn't type, we get paid to think.
True! AI will produce horrible ‘solutions’.
9:04 develop higher level thinking skills? People proof again and again they are not even capable of recognizing interests that lie beyond their short-term self-interest.
i used chat gpt, to help me make a php script that used the api to make queries and return stuff for a website, it helped me speed up the process.
Another thing to keep in mind is that mot a lot of companies will be ok with adapting this technology for privacy concerns. So it might take some time before we see it used in anything other than personal projects
Good review. I have been wondering a lot about this topic since I am just starting to learn Data Analysis and someday Data Science. My thoughts are like this: Existing development jobs will be completed faster and by fewer people.
Has anyone asked AI how long it thinks it will take to replace each level of developers given all the non coding requirements?
I would look into the aider project as it provide more support on "Ongoing" project with multiple files. As much as "brand-new projects".
The best way is to leave programming aside and go to physical work so that we can relax about artificial intelligence.😘😘
Let’s start a construction business!
@@ArjanCodes OK, I will definitely call to establish the company
Robots do the physical work
I think the best way is to automate all the jobs so that we can just chill and work on our own stuff, like Star Trek. Something tells me that future is beyond the greed of the current era, though. People are so concerned about ML replacing them because right now, we have to work to even stay alive or have a place to live. In another universe, I think the ML models would invigorate creatives to rise even higher, to make stuff the ML still can't. I dunno. I think trying to chase away the AI is focusing on the wrong problem.
@@Mr_Hassell it hard to happened cuz physical things expensive which make it high cost and hard to start as profitable business and some physical work is more suitable to human and much cheaper and reliable. That is my opinion why that is not happening right now
Same thing happens in housing: if you were to redefine zoning to increase more multi-unit housing, as is trend in housing in the USA at the moment (Google "missing middle"),then short term the price of housing stagnates or maybe even goes down, but long term, it will actually be more valuable as more people crowd into a city and 'network effects' are created. Same with coding: it's a U-shape, like a ski jump slope, some decrease and then the boom as new applications open up that were unheard of.
I work with it, even started using in production with direct API calls. For now it just makes me much quicker and does much of the boring stuff. It will get better, and the thing we should watch is not getting too dumb. It did replace some AI and other implementations as it's really good in entity extraction.
These tools are amazing, I've been using them a lot ... but then again, I heard all this same rhetoric before when low-code and no-code tools were created. And developers are still in high demand despite those existing for years now, so time will tell...
I am utilizing GPT and Bard to make agents, for myself and others. Change your perception.. change the world. Use it as a tool.
This is a tool to make your work faster. Not replace you. Think of what this will do for open source projects!
No it really will replace you. I don't need a tech lead and 5 developers. I just need a tech lead and an AI. Yes, I'd like fries with that
Agreed. Moreover, as long as we use LLM based tools, we really shouldn't worry, because this architecture of AI has a great understanding of language, but no real cognitive skills, like: abstraction, cause and effect, algorithmic understand, planning, and imagining. In addition, we must be responsible when using AI tools, because they might make mistakes. However, these AI tools, because of their benefits will probably reduce the open jobs for complete beginners. This will create a situation that slows down the tech industry, because it will deprive of itself joung and talented mindes, even if they are inexperienced. Also, it means that in the future, those who do get hired will have to be very skilled and have a lot of knowledge and experience before their first job, something that is very rare. In the end, it all of this will probably slow down the future growth of the industry, make it less open and more exclusive, which is not completely bad, maby it means we will break production less often...
It has already replaced 8 developers at my company. They have Supply Chain Management processes to be digitized and so instead of hiring 10 developers, they hired just 2 and we are quite efficient as we know how to use GPT to our advantage. So yes, it has replaced a lot of jobs but you won't notice it just yet.
Not even in tech, it has replaced lawyers for writing and updating terms of service, privacy policy, cookie policy, etc.
It has also replaced executive assistants and business analysts. Now you only need one person to handle those roles using GPT. AI can make presentations for you based on the transcripts that you have from the meetings and calls.
I can go on and on....
So, think again.
@bluzter I don't what kind of company you work for or you own but if so can replace employees it's logical to think that starting companies in general become easier in other word the barrier to entry has been removed so the competition between companies will become more serious
@@bluzter if two people can manage it with AI, then it has never been a job for 10 people. And if it was planned for ten people, then it was poorly planned.
The issue is whether AI will become able to have self-agency ie, self-directing. Only if it's self-organising can AI replace a programmer otherwise, it can only aid a programmer by reducing research time and code writing time. On the otherhand, it may reduce programmer skill level over time as programmers rely upon AI to write code and as AI gets better and better at that.
But knowing business, that is kind of inevitable. If all businesses start to increase productivity by human +AI collaboration, then programmers will need to focus on productivity in the day, only having time to learn at night.
I think the continued study of neuromorphic computing and more nature mimicking Neural models will eventually lead to AI developing a self-organising/self-directed pseudo-consciousness which over time and further improvements in artificial Neural architecture should eventually approach human 'like' consciousness.
This is a bigger thing regarding human coding; however, with luck, this issue can be navigated by implementing symbiosis between artificial consciousness and the human brain~~thus getting the benefits of both systems.
Where artificial systems might have issues is in fully mimicking strange attractors and how states of mind arise where the cerebellum can create associations between new knowledge and existing networks that can suddenly laterally connect ideas leading to discoveries.
A Cyborg future is probably humanities best chance to remain in cooperative alliance with AI once it develops independent agency.
I'm a software engineer, 30+ years. Followed GPT and other LLMs for a while. But, just look at your prompts and what you get back. From experience, to get a non expert in computer science to be able to build a prompt like you did for such a small and simple app (a guid generator of sort), requires computer scientist skills! No business analyst I ever met without a deep understanding of computer science would be able to write that. What will those people do in the future ? Ask GPT to write them the prompt ?
What I mean is that building the prompt to get what you want IS the job., the code is just "the simple stuff"... Plumbing and the like. Let me see you write a prompt to build the code for a CRM of stuff of this caliber.
I think LLMs are a wonderful tools, tools I use now everyday in my job, but I still understand what I need to create. And I don't think that will change anytime soon. That being said, the act of "code" will effectively change. You wont hire a "coder", cause any "developer" will have access to the "coder" via LLMs. But isn't that what we are saying for years ? Stop being a code monkey and start being a developer.
LLM are engine that completes sentences, they are not prescient, sure feels like that, but they are not. Let's not forget this.
exactly ... no layman can use these tools for anything yet.
Mind-blowing but.. how u manage this:
The title is in Portuguese but content is in English..all other videos are in English. How? It's scratching my head! The evolution of prompts is truly something else. Chat commands doing the heavy lifting, I mean, who would've thought? Keep up the great work and reveal how u did that ..
It's AI 😉
AI is going to start writing its own higher level languages to optimize for the specific domains. By which point we will all need to be assembly programmers because we won't understand it.
I think one aspect that’s super hard to predict is what will actually happen to framework/language design as a result of AI automating the boilerplate? Surely the boilerplate itself will adapt as it no longer needs to be human centric in the same way. Which will have a knock-on effect on higher level abstractions… etc etc
Maybe we will finally go back to lower level Lang's like FASM
Junior devs will spend their first few years reading the output of these tools looking for where the ai has gotten it wrong. And yes the ai will 99% get it wrong somewhere. Its impossible to write these prompts perfectly.
Maybe no in next year
I can see how this can replace programmers who mainly copy-paste existing stuff. I like to think of it as a template/boilerplate generator and autocompletion tool on stereoids. However, unsurprisingly, it isn't good at designing new, non-trivial algorithms. As soon as creativity or insight are required, either to write the program or to analyze its complexity, these tools hit their limit. This is even worse for parallel/distributed algorithms
In my opinion, those who think these technologies won't be replacing our junior and medior positions, fail to take into consideration the fact that this technology is still in its infancy. The jump in technical proficiency that Chat GPT has made between version 3.5 and 4.0 is immense. Now these models have shown their potential, more companies and talented individuals are going to be working on improving these models and in doing so engineer the next technical leap.
Imagine what these models can accomplish in a few more iterations. Not only will the intelligence of these models increase, so will their integration with our existing infrastructure. They will become fully integrated within our IDEA's, code repositories, our project management systems and our operating systems. Through these integrations, these models can be given a detailed context of the domain we are operating in and the problems we are trying to solve. At some point these models will reach a level of proficiency and rate of improvement where it just is not economically viable anymore to spend resources on training our junior developers.
This is exactly what I think. I do not know how long it will take, but for sure it will replace a huge portion of developers, with a few left to manage it. It is kind of what the industrial revolution was back then, instead of needing X persons to maintain production, you now need ~X/10? or even less, and machines. We couldn't see this coming a few years ago. Today, it can not replace a senior developer, but it certainly will.
Hmm, but who said we have to train the new people in doing the junior level stuff only, what if universities/colleges/boot-camps/self-study folks directly start learning the higher level stuff?
Like architecture?
Won't that threaten the position of senior engineers as well? When the market will be flooded with folks who have the same skill-set that took the old senior engineers years to develop.
Until few large IT companies end up with near to identical chunks of code in their product and then start to suing each other for stealing.
have been using a code generator for about 10 years to create boilerplate code. Over this time it has become pretty advanced. I save about 70% in development time.
The generated code is of predictable design. I worry that code generated from machine learning is not.
A fundamental concept that wasn’t mentioned: many believe that these learning models are not innovative since they use the past to predict outcomes. The few understand the perspective of how the past can be used creatively in the future. (the evolution of (topic) is studied for future developments in the field in academia)
It literally outputs the very first Google searches
Software engineers and developers have been part of the automation driving force that has disrupted so many fields and left bitter taste in the mouths of so many blue collar workers in the past decades. And what made things worst is that us developers and SE have been too smug about it as an industry. Well, it looks like it is time we drink from the same cup we made everyone else drink from. 😂