← Back to blogYouTube Video

Published January 19, 2026

My thoughts about AI

Can't play the video or having issues? Here's the direct link.

Summary

AI coding tools are just the next abstraction over code, and I argue that's a good thing. Ever since Opus 4.5 I let AI write 80–90% of the code in my projects and I only review it for clean structure, reuse and security. I trace the same pattern from binary to C to Python and TypeScript: each layer sacrificed a little performance and gained millions more developers, and 95% of the money I've made came from Python and TypeScript. AI won't kill software development — sloppy apps sink on their own while useful ones ship far faster. But you still have to keep your lower-level skills, because there are moments, like dropping from a Django ORM to raw SQL, when the abstraction isn't enough and you have to step in and write the code yourself.

Key takeaways

  • Treat AI as an abstraction over syntax and spend your attention on architecture, security and product requirements instead.
  • Never abstract away security: review the generated code, write tests, and try to hack your own app before you ship it.
  • Every abstraction trades raw performance for reach — binary to C to Python and TypeScript to AI — and the trade has always been a net win.
  • Sloppy AI-built apps die on their own because nobody uses them; focus on building genuinely useful software fast.
  • Keep your lower-level skills sharp: when the abstraction fails, you need to drop into manual code or raw SQL and fix it yourself.
  • If you're a vibe coder, learn to actually read and write code and know your way around an editor, because the AI tools will fail eventually.

Description

I HAVE NO MOUTH AND I MUST SCREAM! I've been crazy obsessed with AI ever since I got my hands on Opus 4.5. This video is just a jumbled mess of my thoughts about AI agents, agentic coding, and the software development industry as a whole. Come listen to the chaos in my mind.

Transcript

I'm gonna be honest with you guys, ever since I tried out Claude's Opus 4.5 model, I have just been blown away by all of the things that I can accomplish with this model. And it's not just me. Every single developer that I see on Twitter, on Reddit, everywhere I go, everyone is hyping up Opus 4.5. And for good reason, this model is absolutely amazing. It can just do anything I throw at it. It's amazing. It's gotten to the point where I'm letting AI write like 80 or 90% of the code for me. I just give it the best prompt that I can, give it all the context that it needs to solve a problem, and then I just let it do its thing. AI writes 80 to 90% of the code in all of my projects now, and all I do is just review it and make sure that it's doing it exactly the way I want it to. All I do is review it and make sure that the code is written nicely, it's clean code, it's organized properly, it's reusing other functionality from my code base, and so on and so forth. And of course that's secure, right? But I'm no longer the one who's writing the code. And I say this as someone who never really used AI much for coding. The best, like, just a couple of months ago, all I did was copy code from ChatGPT or Claude from their website, basically. Like, I would literally go to the ChatGPT or the Gemini website, give them a prompt, write a prompt over there, and then copy paste the code that they gave me back into my editor or just rewrite it in my own way to adapt it to my project. That's what I would do. That that would be my workflow when it comes to AI coding. I didn't go too deep into these MCP servers and agents and AI coding tools and whatever because frankly I just didn't think they were good enough for replacing or even augmenting software developers that much. I just didn't think they were good enough at the time. That all changed when I started using Opus 4.5. And yeah, this was the AI model that really did it for me. It took me over the tipping point where I just went all in on these AI coding tools, because I mean, this is the future. And keeping all of that in mind, I have a couple of thoughts about how to treat AI as an abstraction. And I don't really know how to organize them. So this video is going to be me doing that. This is going to be very different from the other videos that I post because in most of my videos I try to give some sort of value and teach you guys something, right? But this video is just going to be my immediate thoughts about AI and stuff like that because, like, I have some things I want to share on this topic and I just need to get them out of my head and into someone else's, so this video is just going to be that. So let's talk about this. Let's talk about how AI is changing the coding landscape. I'm sure you would all agree that AI in its current state, at least, is just one big abstraction over the coding, right? And this is because it abstracts away the syntax so you can focus on more important things, right? And it's helpful to think of AI as just nothing more than an abstraction because that's exactly what it is. Now, an abstraction over what exactly, right? There's two major things that I think about over here, and that's the security of an application, which we'll talk about, and also the performance of an application. And I'm gonna have a very controversial take when it comes to the performance, but we'll get there. Let's talk about security first because security is absolutely crucial when you're building anything, whether that's with AI or not with AI. And the thing with security is if you're using AI as an abstraction over the code, you're using AI to write all of the code, and then if you don't make sure that your app is secure, then everything else just falls apart, right? Like, I can I can tolerate having to wait like five extra seconds for some page to load. I cannot tolerate having to lose all of my private sensitive data just because you couldn't be bothered to secure your application. And the thing with abstractions is they automate other low-level skills so you can focus on the high-level skills. AI, for instance, is going to automate the syntax and the actual coding part so that you can focus on more important things like actually the software architecture of the app that you're building, the security, the performance, the product requirements, and so on and so forth, right? What we need to make sure is that whatever happens, we don't abstract away the security of the application because that will just be terrible, right? And this is something that vibe coders especially struggle with a lot. An experienced programmer who has already built production applications, he not going to have too much trouble trying to secure his application because he already knows exactly what he needs to do and he just guides the AI to do that for him. And this is what I encourage all of you to do as well. Even if AI is writing most of the code for you, you need to review it and you need to make sure that there are no security holes. You need to write tests to make sure that the program is performing exactly how you want it to. You need to literally try to break into your program or hack into it and then make sure that everything is secure. There are no back doors, none of that shit. And this is extremely important in the AI age because let's face it, we're writing or we're using AI to write so much more code nowadays that there's just no way that one human can review all of it. And so we need to make sure that everything is secure. Now let's talk about performance because this is a topic where I can really give a couple controversial takes. So I define abstractions in performance as something that would allow me to write apps faster at the cost of having some bad performance here and there, right? So a little bit of bad performance over here, but the good side is that I can write my applications a lot faster, right? Now, if you want to write the most performant app of all time, you would probably just do it in binary. Let's be honest, nobody's actually going to do this, obviously, but we're talking about a hypothetical scenario. If someone wants to write the most performant app ever, they're going to do it in binary. Ones and zeros, guys. That's what it takes. But we all know nobody's actually going to do that, right? And so what did we do as programmers? We developed a high-level language called C. And I know most people don't consider C a high-level language nowadays, but at the time when C was an abstraction over binary coding, this was considered a high-level language. And so what did we do over here? We went from coding in binary logic gates and transistors and punch cards and all of the other weird bullshit they had back in the 90s or whatever. We went from that to an abstraction, which is the C programming language. We were able to code in C in natural words, not exactly natural words, but basically in a syntax that humans could more easily understand. What did we sacrifice from that? Some tiny imperceptible performance gains. What did we gain from that? We were able to build much more applications, much better applications, and the entire software industry just went on a huge climb, right? Because more people could learn to code because C was much easier than binary. And since more people could learn to code, we could build more applications, right? That's what happened. And that's just C. We develop even better abstractions later on, like Python and JavaScript and TypeScript. And this is what most people use nowadays. Just think of all of the programmers in this world who only know Python and TypeScript. Think about all of the software they've built. What we've done over here, and we all know that Python and TypeScript are much, much slower than C when it comes to raw performance. But what did we gain over here? We obviously lost a lot of performance, but we gained a lot more developers who can code. And by doing so, they can build a ton of other applications. And by doing that, we've basically, like, 100x the global economy and everything. So this was a net positive, right? And I think you're kind of starting to get my point over here. AI is just one more abstraction over all of this, right? Because look, when I started to learn how to code, I started with Python, and then I learned TypeScript. And even though I've learned Go and Rust and C and a bunch of other languages and their frameworks, and I've built a ton of other things in these languages, I'll be honest, 95% of all the money I've made has come from these two languages, Python and TypeScript. That's where 95% of the money that I've made in my life has come from Python and TypeScript, even though they are much, much slower than C, even though they are a huge abstraction over C. So that brings me to my next point. Is AI coding really that bad? Because these two languages right here, despite the performance that I lose by building apps in Python and TypeScript, they've opened up a world of possibilities for me and for millions of software developers all over the world, right? Like, I wouldn't really need to learn C or Rust because I can make reasonably performant apps in Python and TypeScript. They work fast enough for my needs and for my employer's needs, and they get the job done, right? And that's the thing with AI. If we add AI over here, if we add AI coding tools over here, they're going to be an even greater abstraction than Python and TypeScript on all of these high-level scripting languages that most people use nowadays, right? AI is going to be a much bigger abstraction over the coding aspect of software developing. And the question is, is it a bad thing? Because I don't think so. Even though a lot of people say that it writes sloppy code, here's the thing with sloppy code. If your application is shit, nobody's even going to use it. Some people are going to have the misfortune of using it, if you can even get some users. They're going to have such a terrible experience that they're not going to use it anymore. And that'll be the end of your sloppy application. But for the people who are building actually useful applications with AI, this just unlocks a whole new world of possibilities because you can code so much faster. This thing literally takes, takes one senior developer and just 100x is their output, or maybe not 100x, but 10x, or at least makes them a lot faster when it comes to writing code, shipping code, and building features. And that is insane, of course. What are we sacrificing when we're using AI coding tools? Because every single abstraction that we've added over here, from binary to C to Python and TypeScript to other languages to AI coding tools. And by the way, after Python and TypeScript, there should probably be some sort of a no-code platform or something over here. That should be the next abstraction, but we're not going to talk about that. What are we abstracting away when we're using AI coding tools? We already talked about security up here, but the next main thing we're sacrificing is performance. Because AI is not going to write the best code ever, the most fastest performing code ever, unless you're guiding it really, really strictly, and at that point you're just coding, right? But even though we're sacrificing a little bit when it comes to performance and code clarity, we'll be able to build much more applications, and we'll be able to build them much, much faster. Every single developer out there who, who's, I would say, a mid to senior level engineer, is going to be able to use these AI coding tools to write applications much, much faster. And the code that they generate doesn't necessarily have to be bad or slow or any of those things, because a good software engineer can guide the AI to write some really great code. I have built applications with AI code myself, and I'm really good at guiding the AI to write the code however I want it to write it. And that ensures that the AI is writing good, clean code that performs fast and is secure. But the thing is, it is still just an abstraction over the code. And by creating such a large abstraction that we're able to build applications in plain English instead of using these programming languages, we're unlocking a whole new world of software development, and we're making software development accessible to millions of new people. There's, like, guys, there's tons of people out there who don't even know C or Rust. They just know Python and TypeScript. There's tons of developers out there who only know Python, and they're able to make a living out of it. They're able to build useful applications out of it for themselves, for their company, for other people. And that's a wonderful thing, right? AI coding tools are going to be the same thing. Yes, there's going to be sloppy applications, but as we talked about it before, nobody's going to use them. So they don't matter. They're just going to sink into the depths of the internet, and nobody's even going to find them. But the really useful applications, they're going to storm the world. Now, there does come a time when the abstraction isn't really enough, and you need to go a bit lower, right? An example would be when you have something like when you're building an application in Python or TypeScript, you're building, let's say, some backend API in Python. A lot of companies do this, but Python isn't exactly a fast language, right? So what do you do? You write the API in Python, but you also write the performance-critical parts in something like C, right? So that you can have better performance over there, right? What are we doing over here? We're still using Python to write the backend API because it's a greater abstraction. A greater abstraction means we can write the code much faster. We can ship more and faster, right? But for the performance-critical parts, we're still switching over to C, which is a lower abstraction, and we're doing this because we need, we need a fast-performing application. The same thing can be said about AI coding tools, yes. Right now, I'm using AI coding tools to write 90% of the code for. But there are always certain scenarios where I need to go and write the code myself, either because the agent doesn't know how to write it or because I'm not giving it enough good prompt or context to perform that task. Either way, there are times when I need to stop using the AI tools and go and write the code myself. I need to shift into a lower abstraction level, and this is what we need to make sure that we don't lose, right? These are the, like, these lower-level skills we need to make sure we always keep them around because, and the thing is, AI is going to make these other skills not obsolete, but just very rare in occurrence, right? For instance, I, I once worked on a project many years ago where I was the backend developer, and I was using Django for the entire backend of this application, all right? And for those of you who've used it before, you know that Django has their own ORM, right? So we didn't need to use SQL queries and stuff like that. And in this project, I literally just used the Django ORM to perform all of my database queries, all right? I never needed to touch the SQL. And at the time, I didn't even learn it, right? So this ORM was kind of like AI coding tools because it was a greater abstraction over the SQL code, right? And I was able to use this to accomplish my work so much faster, right? But there were always scenarios, a couple scenarios here and there, where I actually had to dive into the SQL. I had to open up the database server, write some SQL queries, raw queries to fix some bug in the migrations or update some table that I couldn't do from the ORM and so on and so forth. So I did like, I did 90% of my code in this higher-level abstraction, and then I had to shift into the lower abstraction on some very rare cases where I needed that raw control over the databases. And that's a good way to think about AI coding tools and all of these other abstractions as well. You're going to be using AI tools in the future to write most of your code. That's fine. That's completely normal. I'm doing the same, but there will be cases where you need to shift, where you need to go one level deeper into a lower abstraction like these high-level languages or something like C, and you need to have the skills to be able to code in these languages just for those rare occurrences, right? I don't expect you to be a complete expert, but I do expect you to know your way around most languages. Just so when the time comes when AI is not enough and you need to step into the code base and manually change some things, you are able to do that. You need to be comfortable with code. You need to know your way around code. And for most developers, this wouldn't be too big of a problem. But for the vibe coders especially, this is a huge problem. They have not touched a line of code. And if, if you're a vibe coder watching this, then this advice is for you, my friend. You need to understand these languages. You need to know your way around them. You need to know how to use a code editor. You need to know what code looks like and how to use it and how to write more of it, because sooner or later, these AI coding tools are going to fail, and in that scenario, you need to make sure that you can go in and fix the issue. So that's just me rambling for, I don't know, 30 minutes. Yeah, that's just me rambling for like 40 minutes on and on. We're gonna stop the video over there, guys. If that was helpful to you, then leave a like. I mainly just wanted to talk about AI as abstraction over the code and the how this relates to the future of software development, and I hope that I gave you some useful insights over here because honestly, I didn't really plan this video out. I just had a bunch of thoughts in my mind, and I just wanted to share them somewhere. I hope that this has been helpful to you guys. If it was, then please make sure to leave a like, comment, and subscribe, and share the video around if you think it's going to be useful to people. Otherwise, just let the algorithm sink it into oblivion. That's all from me for today. And as always, a quick shameless plug for my freelance company over here. I'm a software developer, and I build websites, web apps, and mobile apps for people. And if that is something you're interested in or you know somebody who's interested in that, guys, refer them to me, all right? Like, this is the work that I do when I'm not recording videos, right? I build websites, I build mobile apps for people, and if you know somebody who's interested in that or wants to hire an agency to do that, then I'm available. Click the top link in the description. That's going to take you to my Calendly account, and you can book a call with me, and then we can talk about it and all of those wonderful things, right? If that's something you're interested in or you know somebody who's interested in that, let them know. And as always, thank you for watching, and I will see you in the next video, guys.

Share this article

Hassan Aziz pointing up

Dude, you’re at the bottom of my landing page.

Just book a call already if you’re that interested.

You scrolled all the way here.