Why Architects Should Learn to Code in 2025
Stop crying, start writing.
LLMs (ChatGPT, Claude, Gemini, Llama, Grok, etc) are better than me at coding. They are faster at looking up documentation, doing research, formulating alternatives, and writing code itself. With some setup, it can complete development loops all on its own - writing, trying, and iterating.
So, why should you learn to code if LLMs are already great at it and will get even better?
It's almost impossible to be productive in modern society without touching software. Software is a force multiplier. Going from hand drafting to CAD is a seismic shift in the productivity of individual architects. The shift from CAD to Revit is another seismic leap.
Architect productivity is rising in step with growing building complexity. CAD’s gains are quickly eroded by the higher demand for design output. Whatever gains we felt from adopting Revit is quickly eroded by the level of information complexity and coordination in modern projects.
When the demands of production outstrip an individual's ability to produce, there are two paths. One is to increase the input of labor, more people doing production means more production. The other is to increase individual productivity so the same input of labor generates more production.
When Brute Force Falls Short
Increasing labor increases production, but it also increases overhead. Overhead is a tax on speed. More people require more coordination, more standard operating procedures, more people dedicated to the management of people rather than the delivery of outcomes. Increasing people while holding individual productivity steady can at best scale production linearly.
Yet, this is the de-facto approach. A looming deadline is met with an increase in hands and hours.
"It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail." - Maslow
Sleepless charrette nights in architecture school teach us that brute force can overcome surges in production demand. The bad is that an over-reliance on brute force in the face of better options is an own goal for our whole profession.
I began my learn-to-code journey in earnest through design automation. A twist of fate created the perfect storm of conditions. I was under great production pressure (15-20 projects in parallel, 10-12 layouts per day, scaling quickly), Revit was already optimized (Templated everything, pre-built families), and there was no way to increase headcount (Advice: work for a manager that cares). Production needed to scale without growing headcount.
There's only so much one person can accomplish through brute force. The only viable path left was to increase my productivity.
Software Your Way
Software companies build software for all its users. Your specific obscure use-case is not something worthwhile for Autodesk to improve. While producing office layouts at a breakneck pace was the most important problem for me, it's a small blip in the millions of ways Revit is used.
Autodesk is not dumb. They know that they cannot support all the diversity of use cases for their software. As anyone who's used Revit extensively knows, there are these things called plug-ins made by other companies that expand the functionality of Revit. These plug-ins are built using Revit's API, or Application Programming Interface. APIs let you interact with software via code. Rather than being confined to the UI, you can leverage its underlying building blocks to create workflows tailored to your needs.
This is how we can take the second path of increasing individual productivity. By encapsulating design and business logic in code, 50 clicks can become 1 click, quality checks that took meticulous investigation can become 1 click, exporting layout results and metrics can become 1 click. Instead of having more people to click, we can increase the effectiveness of each click. The same input can produce vastly more output.
Coding changes our relationship with software. Without it, we are constrained to the capabilities the developers think we need. With it, we can shape the software's capabilities to fit our needs. Who knows our needs better than us?
Software Rules Everything Around Me
As we mentioned at the start, LLMs are very good at coding. Probably better than I'll ever hope to be. So why am I recommending architects to acquire a capability that's already automated?
The capability to code changes our relationship with the software we use to produce architecture. When we have little control over our tools, they exert an outsized influence on our work and output. We can either relegate ourselves to the role of simple users, or take more control of our tools.
Coding is a broadly applicable skill. Design automation in Revit is just one application. Once we learn to code, we begin to see opportunities everywhere. Learning how buildings are design and assembled helps us understand why things are and gives us the ability to imagine and build a better outcome. Learning how to code helps us understand why software is the way it is, and gives us the ability to imagine and build a better outcome.
Why can't content libraries organize themselves? Why can't we automate the first draft of RFPs? Why can't models produce automatic clash reports whenever a new version is published? Why can't Revit compare two model versions and produce a change report? Why can't Revit automatically publish design metrics to your proforma?
With a little code, these are easily solved problems. They remain problems not because they're impossible, but because we don't invest in the skills that make these problems trivial.
Why Architects Should Learn to Code
Instead of watching a 5hr dressed in black version of The View on "why should architects have more agency?", spend your time actually building agency.
Specific to software, we don't have agency because we willingly give it away. I was lucky in school to get one year of training on hand drawing. There's a lot of agency when the distance between you and your product is skin thin. We now produce drawings at an arms length. We redline drawings produced by others in software we don't know how to use, mediated by consultants who do the work we don't want to, our breadth of expression limited by what we cannot ourselves produce.
Yet we wonder why architects don't have agency.
The current moment is the easiest it's ever been to learn how to code. LLMs are not only great coders, but also great tutors. Code gives us agency over software, the ubiquitous foundation of modern work. Instead of working around software, we can make software work for us.
Who knows, maybe if you learn to code, it'll open you up to a community that moves fast, learns fast, and evolves fast. Maybe, if more architects think of code as a foundational skill than a nerdy hobby, we'd spend less time complaining about software, and more time pushing the boundaries of our modern toolset.
It's never been easier to take the leap. At least with software, the only person you can blame for architects losing agency is yourself.
with love,
Libo
Most Podern was recently on the Practice Disrupted podcast. If you’re a new subscriber who listened to this episode, I would love to hear from you. Please leave a comment, DM, or email me!


