Why You should learn AI & CyberSec
@ Aditya Roshadi | Sunday, May 26, 2024 | 7 minutes read | Update at Sunday, May 26, 2024

I’ve been a daily user of Github Copilot for the last two months IIRC. I can say it’s so useful and increased my productivity like a lot, generally speaking it saved my 1 hours of digging in the internet for documentation or similar issue in online forums into 1 minutes of code suggestion for one task. We can then scale it when on average I have 7 tasks at hand.

Ofcourse it’s by no means a perfect replacement of programmer itself, like every mainstream media make it for a hype. For me, to put it simply, it’s just faster way of doing search, like several magnitute faster! So instead of opening page by page on google search or digging into online forums for solution, I can start by chatting to my copilot, in which it gave me precise answer most of the time. Depends on our prompt quality, the more specific you ask, the more solid context you input, the more accurate the suggestion. That’s why it still requires interaction with experienced developer. I don’t believe it’ll replace human programmer completely, at least in the next 7-10 years in my opinion. We may have heard and seen AI tools that build static site from scratch, just by processing screenshot image or design. But experienced developers know that developing sites / systems are more about maintaining than building it first time. Copilot for me is like smart and also dumb coding peer at the same time. When asking about specific stuff after we ask in specific words it can gives you precise and accurate answer you’re looking for. But it has zero idea of what your project is about, in a big picture terms. So, as long as it’s limited to only one million tokens context window or even less, it will still act as complement than replacement of human coder. However, honestly I believe it’s not going to stay that way for too long, here is why:

AI Advancement Rate, and Smarter as it’s being used

GPT-3.5 rolled out in November 2022, then in March 2023 we have GPT-4. We can already tell the difference between the two, even though it hasn’t even been a year yet. Now we have GPT-4o with multimodal analysis that can understand text, image, video and sound at the same time. It can even understand and respond with emotional tone as well. To me, the implication from this is a rather confusing future, we’re talking about what jobs that will stay, and what are the ones that potentially extinct. When speaking about programming, AI is already take over to some degrees. Ofcourse depends on how we see it, it can be a threat or opportunity. For me it’s definitely a productivity booster tool by itself. But I believe there will be some degree to programmer task/job that AI will take over, primarily the tedious repetitive tasks. In the front end we can see how AI can code the design into usable web app. In backend, basic CRUD functionality is obviously one taken by it first. AI may take over the programmer job completely including not just system creation, but also its maintenance. But that’s too far still in the future, for now I believe AI won’t replace programmer, but Programmer with AI will replace Programmer that don’t use AI. AI is still just a very useful extension at this point.

That being said, when that happens, when more and more jobs are being taken by AI, then the more lucrative and on demand jobs are maintaining that AI itself. That’s why I suggest fellow programmers to begin to learn about it, especially Large Language Model. For me, I happened to learn AI myself when I was in graduate school, but it’s just conventional ML and early supervised Deep Learning like CNN & Capsule Network. Now the landscape is different, since the popularity of ChatGPT, Unsupervised Deep Learning Model like LLM is the one in the spotlight and it’s not going to change anytime soon. That’s why I began to learn about it, actually since last year. I have created a prototype in my workplace using open source LLM Model mid last year to enable user to chat with AI about their PDF files, but at that time, one inference took 3-5 minutes even with GPU power enabled. So its development has been discontinued. But recently my interest to LLM is up again due to the fact that now open source quantized model can do inference in a fraction of seconds even only with CPU power!, that’s awesome. One of good performant open source model is the one provided by LLMWare, I will talk about it some time in the next post. I think the future is about democratized AI, especially LLM, when everyone can develop to meet their specific needs offline, without compromising privacy and security. That’s why I believe it’ll be paid off to start learning about it.

Cyber Security skills becoming more important than ever

Apart from AI, other things that I believe becoming more important to learn is Cyber Security. How I look at it, AI will eat parts of software jobs in the middle, not too high level like AI itself, or too low level like system programming, exploit development, malware, ransomware and the likes. So, AI will start to be reliable on things like translating design to working frontend JS, CSS, (with JS Frameworks like React and others) also creating boilerplate backend API with basic CRUD, auth, etc. So we better start to hone our skills on both end of the spectrum, it’s either high level like AI or low level like system programming and Cyber Security. I personally have more interest on system optimization than Front End works like centering the button, choosing right color, stuff like that. When it comes to more subjective things like that, I couldn’t care less. If you think submit button in a form is better to be full width or content-wrapped width with right aligned, you’re both right in my eyes. Ofcourse some design decision can be obviously bad like having inconsistent form fields alignment so it increased user’s cognitive loads, but that’s not subjective thing anymore. All in all, in general, Front End tends to have more subjective stuffs than Backend IMO. Talk about Cyber Security, I used to be so reluctant to learn about it. I thought to myself, why do people have so much free time to do things in a way that’s not supposed to do? why not just build more useful things (systems, website, apps) that benefit society. Now I don’t have that thought anymore since Cyber Security is a needs comes from reality. It’s even more relevant today since more and more things are connected to the internet. Even our photos taken by phone minutes ago are probably on the cloud already for the sake of “backup”. There is no such thing more pragmatic than Cyber Security. It doesn’t matter what OS you or your target are interact with, doesn’t matter what programming language you use, what matter is whether you accomplish your goal or not. It forces you to become humble and see things as they are. No more silly debate about what’s the best design pattern, what’s the best tools, the best OS, etc. That part is what I love the most, as I identified myself more and more into pragmatic programmer. As someone who interact with computer more than most people we know, as a programmer I think it’s important to know what could possibly go wrong when we’re too ignorant to know what data we have in the internet and what other people can do with it. Also, would it be fun if we can access more things by knowing more about how computer and internet work? what if we’re so good at reverse engineering to the point that every software is open source to us. What if we can see malware doing bad thing in the background of our machine, or spyware is sending malicious telemetry data and consuming bandwidth as we use our computer. The more control I want to have when doing things on my own computer, the more I want to learn things about Cyber Security and Data Privacy. Also remember the more you know about security, the better you are as programmer, especially Backend or System Programmer.

I think those are valid enough reasons for us to start considering to learn more about AI & Cyber Security. As an only suggestion, you’re free to take it or leave it :)

Until next time.

© 2024 Aditya Roshadi

Powered by Hugo with theme Dream.