System Design & AI agents
So far... about system design and AI agents
in-progressSystem Design
As i find myself using AI more and more for writing my coding, i thought it would be good to at least compensate that with learning more about system design. How do you go from a simple client/server application to a distributed systems, where you have many components in play. System design always comes up when you think about interviewing, but i think this is a very important skill to have now. If writing code becomes a trivial task, or at least a non time consuming task (because there is a craft/skill in writing good code), designing a good system will be primal.
How i have been ‘vibe coding’ so far?
After defining a clear scope of what it is that I am trying to do, I always go back and forth with the AI by asking things I am not sure about like ‘what can be a good DB for this kind of system’, and ‘WHY not X?’, ‘What happens if at some point i need to change to Y?’, ‘Can X be easily deployed on…’. These are things that I am not familiar with, and by asking and reading the answers, and references provided with the answers, i get to learn in the process.
So where I am getting at, is that knowing how systems work, and what components are needed to build a good system will help me in the future (the future, where agentic coding is mainstream), to at least have good foundations/architecture in place. There are a lot of resources about System Design online, a lot of youtube videos on System Design interviews, but since I like long form / workshop-style courses, I am taking the Backend System Design course on Frontend Masters taught by Jem Young. So far, in the chapters i went through, I have learned what kind of questions you should ask before designing a system, identifying requirements, functional and non functional. Although, these are topics I learned about at school, but it wasn’t in a context of everyday work. I am looking forward, to the next chapters about High level design and Scaling.
Building AI agents
I’ve been hearing a lot about AI agents for the past 2 years. And to be honest, only a few weeks ago i got curious enough to actually take a course on how to build one. And to my surprise, it wasn’t what i expected? I expected some very complex architecture, deep understanding on machine learning, and maths (which terrifies me 😀 as a ‘software engineer’) only to find out its just literally calling LLM APIs. Or at least, at the high level. However, taking AI Agents Fundaments v2 by Scott Moss on Frontend Masters, taught me a few terminologies about AI that i didn’t understand: like tools, evals, etc… At least now I know what an AI agent is, and I hope by the end of this course I should try and build a few personal agents that do something or nothing. I will share a more in depth article once i finish this course, and hopefully have a working demo to share what I have learned. stay tuned ;)