top of page
Search
letsaskformore

GitHub Copilot First Impressions. Is This The End for Software Developers?



A friend of mine is very upset because he's a very senior coder and he just tried the code copilot, which is something like ChatGPT but for coding, and it does pretty damn good job. My view is that the middle senior person is going to be affected the most because they are expensive and the junior programmer by using those tools, they can create some code that looks really good and it looks like it has been developed and reviewed by some senior coders. But on the other hand, when somebody is very senior, they can do those little things that are really corner cases and need the deep expertise that even the AI cannot do. Okay, so let's go and try it now to see what more or less he saw and see how terrible this is. Co-pilot for individuals. I love that. Start a free trial. Let's do it. Everyone can do this. Yeah, I don't think I want them to mine my projects not at all. Especialy since there are some conditional data there. So I have VS Code here and let's install the plugin. So we need the GitHub Copilot extension.


Your call is very important to us. Please hold.


Okay, so that was certainly an easy installation. Let's start writing here. Matplotlib plot heart. Okay, and we can see here it auto completes a function for me and let's try to run this. Okay, this is pretty much a heart. Certainly I didn't have to copy paste this. This is awesome. Let's try something different. Load from CSV to MySQL. Okay. This is not very clever for sure. Load from, from Pandas DataFrame. Okay. And certainly this kind of work. And not only that, I didn't even know this function existed, so that's amazing. Of course we can see it misses imports. Okay, so this could work. Let's create another one. Train neural net with fast ai. It takes a little bit of time. probably it sends my data somewhere. Oh, this is interesting. Certainly I didn't expect this. Okay, so obviously I can find an example here from Google, but let's see what happens if I put it on code copilot. Let's see. Okay, so we can see if it does something


I don't know, this looks like it leaks some data here. Yeah. It got this right. I hope I don't see my data one day there. Okay, so this looks decent. Okay, let's do something crazy. Okay. It cannot do that. Load files in parallel using MultiProcessing pool. Let's see if it has more luck now. Okay, this is clever for sure. Okay, actually this is pretty decent. I love this. Okay, so let's create two test files. Book one and book two. And if we run this let's say print df. Okay. And this output looks good. Let's see if I can write df to Excel a very easy function, of course. Okay, so here's some code that combines CSV files to an Excel file. And he's written mostly by copilot. To be honest, I wouldn't say so. So there was lots of know-how in order to create those queries.


Would it take me more or less time to code this manually? I guess if I was a complete newbie it would be way less time. Me having some experience. I think it's reasonable time. What I really appreciate though is learning new things. So I have a way of doing stuff and this is exactly the code I would write. So I learn new things more things to consider. Maybe people will lose some productivity by not using their favorite hacks for a while. And learning new interesting code. I think we both agree that this will bring the whole software engineering industry upside down and unfortunately eliminate lots of jobs. But you know, this software engineering industry is one of the most brutal industries I have ever seen. So I have never seen us really uniting, not exactly unionizing, but at least trying to agree and try to take care of each other in a sense.


We're always like, here's my better language, and this is your language and your language is crap, and your framework is crap. And look what I can do with my framework and always in constant fight, very, very, very individualistic. So really, I, I don't think that the software engineering industry was ever an industry that was making people feel, "Ah I will do this until I retire". I mean, the signal is pretty clear every five years. It's a new industry. You know, I have learned and taught Java 1.4 or even before that 1.2. At some point we thought everything is Applets, everything is on the browser. Then they went, "no, it's going to be in the server" and back in the browser, and then in the server, and then in the cloud. And you know, in every case, every year it's a new framework. We are not very good with each other in the software industry.


And the warning was there. Why should we complain really? Now of course this has trickle up effects which can be massive because reducing the number of software engineers you need to do a project means one thing, which is less managers, 100%. And this is exactly why I believe you will see that despite all the thing that's happening right now, a software engineer goes, "oh, this tool is good. It's going to eliminate Lindsay and Mark and Donna. All those people are no longer necessary. I'm screwed", right? So as a software engineer, you can see that. But if those guys go away, the managers will have to go away as well. And probably they will not be able to do something else. So there will be a second wave, I think starting pretty much now where there will be the messaging of, "oh, those tools are great, but they cannot really do great job"


Right? So up to now everyone there is incentivized to say, "Hey, look, I can use it for my job. It's better" but soon it'll be, "eh, no, you cannot take my engineers away because my guys cannot be replaced by this thing". It's just incentives. This is going to happen. And then the organic process will happen, which is people who use these tools and eliminate the engineers will be outperforming the other teams or the other companies. And this is how this transformation will happen with the regular pace. So AWS and cloud, it took a decade to convince people of the savings and help them transition. With the hype of AI everybody's like, let's pretend that we have a product that uses it right now. And so that's a pressure, but it doesn't mean that anybody is incentivized to really have the transformation of eliminating all those people that currently work and write code, of course.


So it's going to be a regular slow transition, I believe five years plus. But one thing to remember is that if you're a good software engineer, senior or junior, you're not the frameworks or the languages you're using you are not the very specific experience you have. Those things come and go. You are the process. You are the person who is able to focus on a specific problem for a very long period of time, is able to create this very vivid imaginations of complicated systems, semantics, things that people cannot even talk about. And you're able to get all those things in your brain and focus for an hour or two and, you know, create a solution that it's not a matter of opinion, it's like 100% done, done. The thing works and you deliver that. So you are a process.


So you have nothing to be afraid. You will find something else. Maybe it is developing AI models. Maybe it is training AI models like giving them new data. And yeah, probably you will get rid of the bug fixing part, which pretty much was always annoying. Or at very least you will be able to be way more productive. You will have effectively linting that is super intelligent, will suggest improvements. You know, in the security world, we always were looking for things that can scan a codebase and apply fixes automatically. Here it is, it becomes reality right now. But let's not have the illusion that writing code will get you to retirement. Thanks for watching.



7 views0 comments

Comments


bottom of page