A few days ago, I came across a LinkedIn post where someone said that systems were the easy part. That struck me as a strange statement, especially based on my own experience over the past year and a half of working with AI in software development.
A brief background
Software development is still a relatively new journey for me, but I have taken the time to learn the basics. Because of that, I would not describe myself as a vibe coder in the strictest sense of the word. I am not simply prompting my way into an app without understanding what is happening underneath.
Learning the fundamentals has helped me understand the different parts that go into an application, the architecture behind it, and how code needs to be structured so that the result is reliable and does not immediately fall apart. But although I’ve learnt the basics of software development, I don’t dare to call myself a prolific coder. Probably ‘AI-augmented’ software development and systems design would be a better way to describe what I do now.
The key idea
That is why I disagree with the idea that systems are the easy part. AI has made it much easier to turn an idea into an app or an automation. In many cases, you can prompt your way into something that works surprisingly quickly.
Consider these highly specific, slightly absurd but totally buildable apps:
๐ง๐ต๐ฒ ๐ฃ๐ผ๐๐ฒ๐ฟ๐ฃ๐ผ๐ถ๐ป๐ ๐๐ผ๐ป๐๐ฟ๐ฎ๐ฑ๐ถ๐ฐ๐๐ถ๐ผ๐ป ๐๐๐ป๐๐ฒ๐ฟ
Compares decks from Finance, Marketing and Operations, then flags where departments are working from incompatible numbers or assumptions.
๐ง๐ต๐ฒ ๐๐ผ๐ฟ๐ฝ๐ผ๐ฟ๐ฎ๐๐ฒ ๐ฅ๐ถ๐๐๐ฎ๐น ๐๐ฟ๐ฐ๐ต๐ฎ๐ฒ๐ผ๐น๐ผ๐ด๐ถ๐๐
Searches calendars, agendas and meeting notes to identify recurring meetings whose original purpose nobody remembers.
๐ง๐ต๐ฒ โ๐ช๐ต๐ผ ๐๐ฐ๐๐๐ฎ๐น๐น๐ ๐ข๐๐ป๐ ๐ง๐ต๐ถ๐?โ ๐ ๐ฎ๐ฝ๐ฝ๐ฒ๐ฟ
Analyses emails, chats and approvals to distinguish the official project owner from the person everyone actually depends on.
๐ง๐ต๐ฒ ๐๐ผ๐ฟ๐ด๐ผ๐๐๐ฒ๐ป ๐ฃ๐ฟ๐ผ๐บ๐ถ๐๐ฒ ๐ง๐ฟ๐ฎ๐ฐ๐ธ๐ฒ๐ฟ
Extracts commitments such as โIโll send it tomorrowโ from conversations and quietly tracks whether they were fulfilled.
๐ง๐ต๐ฒ ๐ข๐ณ๐ณ๐ถ๐ฐ๐ฒ ๐๐ฟ๐ถ๐ฑ๐ด๐ฒ ๐ก๐ฒ๐ด๐ผ๐๐ถ๐ฎ๐๐ผ๐ฟ
Identifies abandoned food, estimates when it became unsafe and drafts increasingly firmโbut diplomatically wordedโremoval notices.
I digress. ๐ Anyway, back to the main point: the part that needs to be thought through is everything underneath that holds the software or workflow up.
The harder questions:
How to structure what you create so that it does not become a mess?
How should the database be designed?
How should data be stored and retrieved?
How do you authenticate users properly, prevent leaks, keep the application secure, avoid unnecessary bloat, and make sure every connection point is not creating an opening for hackers or malicious actors?
In other words, the boring parts. The non-sexy parts. Yet very crucial.
All of those things are part of building systems, and they require thought. When something breaks, AI can certainly help fix it, but I still believe the human should understand what is being built and remain in control of the process.
What I Learned
I think systems is where many people underestimate the work involved. AI should be a partner, almost like an employee helping us do the work, but we still need to apply systems thinking to direct it well and judge whether what it produces actually makes sense.
This is a lesson I want to keep with me as I continue learning AI and software development: generating something is not the same as engineering it well.
