Architects have to learn how to code? No…

I hear this all the time and I have to be honest…if you asked me couple of years ago what I think about this subject, I would tell you that architects do have to learn how to code and that in the future they will do it more and more. I would say this is the case with most professions, because our world is becoming completely automated.

Well, I would have been wrong….and here is why, shortly and simply:

Real programming is too complicated. Amateur programming in architecture and design (visual programming like Grasshopper, basic macro and script knowledge, etc…) will only get you so far.

Here is a brief elaboration…

Don`t get me wrong. There are people that have two or more degrees…mathematics and medicine, law and biology, etc…and you can also be an architect and a programmer. But now we are not talking about exceptions, we are talking about the majority of architects and their day-to-day job.


If you use parametric tools that I mentioned before (Grasshopper, simple scripts, etc…) for your design, you will notice soon enough that you are very limited. Yes, you can do much more than what was possible only 10 years ago, but that is not how efficiency is measured. It is measured by what is possible today, and a programmer will be able to do much more than you can. Not to mention that their methods will be faster and more efficient. Does this mean you shouldn`t learn how to code? Of course not, but architects will not have to learn how to code – because it will be left to professionals.

And I am not just blabbering…expressing my opinion that may or may not be valid. I am talking from experience. As a programmer I can help you develop and optimize your structure or your facade. I can automate the whole process, generate complete FE models, files for CNC production, blueprints, etc… And this is possible by building serious and complex software that can (most importantly) grow easily when it is structured properly. The problem is that people cannot be easily persuaded. They have employees that know Grasshopper! (When they you tell you that, they usually pause for couple of seconds for your silent (or loud) admiration.) So I say, ”OK, good luck and let me know if I can help you”.

And I wait…and I wait…and I wait…usually for 2 or 3 months for them to do something I could have programmed in two weeks…and then I get some parametric geometry, usually full of errors and holes. And then they ask me if I can optimize it, or prepare it for static analysis, or generate 3D elements automatically… And I say, “Yes”. But…now I need senseless programming that takes their geometry as an input and works from there…extremely inefficient and a huge waste of time…and if they came to me in the first place, a software, that would give them everything at once, could have been developed in couple of weeks. No errors, no holes, 0.00001 mm precise models, blueprints and an automatically generated FE model for static analysis.

An experienced programmer is much more efficient then someone who does it as a hobby…but there is a catch…you have to include them in the project from the start…and no one does that…yet! Everybody thinks they can do it on their own, and after months of struggle they come to you 2 weeks before the deadline to do everything from scratch.

And that is why architects don`t have to learn how to code. Programming (in) architecture is a profession on its own. It requires a lot of experience to know all the tricks of the trade (any programmer will tell you this). Every architect should know the basics of construction and static analysis, but you don`t expect them to do complete structural calculations. Basic knowledge can help them estimate the sizes of columns and beams, but the sooner they include a structural engineer in the process, the faster, more efficient and more precise everything will be. It is the same with programming.

The only difference is that you need static analysis for every building, and today you don`t need programming that often. But that is about to change…coding is not limited to crazy, free form, Hadid/Gehry structures. I can give you a list of things you can program for a building that has a shape of a simple cube…in one of the next posts…

Milos Dimcic



3 thoughts on “Architects have to learn how to code? No…

  1. i agree with you absolutely. the more focused you are on the subject – the best solutions you are able to provide. as a structural engineer working as a “concept maker” i usually feel how i lose the overall view on a building if i start to dig too much into coding details. and visa versa. in our team in Belarus we are trying to work together but separately at the same time: the one who is working on the concept, the other one – for all the coding part of the job. i wish more people would understand this difference in the nearest future or anyway they will have to.
    because there are still things you just can’t code and they will be here forever, as the nature of things. and we still need those, who are focused on”non-automated’ topics. let’s better be focused on that, rather then the “weak code”. leave coding for professionals.

  2. I fully agree with you as well, but the title is slightly deceptive. You are arguing that we should not create amateur programmers (not even programmers, but visual linkers of boxes). With my architecture students I took the hard path. I teach them ‘Real’ programming, not ‘Amateur’ programming. Why should we shy away from teaching them how to code? I teach them vector maths, geometry, trigonometry (things they should’ve learned in high school!) and then logic and algorithmic thinking and recursion and NURBS and U and V and all the rest of it. We script in a logical manner with object-orientation, proper variable naming, separation of interface from logic (Model-View-Controller). We use a proper 3D engine that can do the math we ask of it. We do not link boxes together to create a hardly recognisable mess. So, I would re-state your position as: Either teach them to code properly, or leave it to the professionals.

    • Hi Wassim,

      I agree that the title might be deceptive…I would describe it more as “provoking” though. I am not necessarily arguing that we should not create amateur programmers. Everyone should be an amateur programmer soon enough, because everything is becoming a software. I basically agree with your last statement. I am just pointing out the fact that the programming part is becoming so complex that it is a profession on its own…and since I have heard many times that architects “must” learn how to code, I would argue that it is not a must. We will have architects who will be “pure designers” and the ones that learn the code properly, like the ones you are trying to educate. But, and this is the main point, there is no time and space in the curriculum of the architectural faculty to prepare them for the “serious” and complicated coding that exists today already (you don`t have time to get out of the realm of “amateur” when it comes to programming, although “amateur” is a subjective description and can become the point of debate). That part will be taken over by those who dedicated years only to that. And since they, experts in this new profession, took over the responsibility, architectural students can be freed from it if they want to. If they learn how to code, great for everyone. If they decide to go along this path of becoming a programmer in architecture, even better. But If they try to cover everything, or if we try to teach them design, city planning, history of architecture and serious programming in couple of years, than they will end up with poor knowledge in everything. Should they learn how to code? Yes…and if, then properly like you are doing. Do they have to? No…in the same way they should know the basics of static analysis but you cannot expect to teach them how to do a detailed structural analysis of a 10 story building.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s