Even if learning to code does not personally interest you, the growing demand for having these capabilities in an architectural business cannot be overlooked, writes computational design expert Nathan Miller.
A Python scripting lesson at the TexFab Dynamo workshop. Photo: Proving Ground
My first experience in computer programming was a freshman year introductory course in high school. It was one of the first courses I signed up for. I liked computers so the idea of making programs for computers was very appealing.
I failed. Like… really failed.
I always considered myself a good student and was decent at math and logic problems. However, the level of abstraction introduced in class made the notion of creating a program seem daunting. I ended up exiting the course with my tail between my legs with my dreams of developing the next killer app quickly evaporated.
‘My new-found romance with programming came through a love of the design process. Not only could a little coding make complex tasks easy: it also allowed me to do things with design that would not have been possible otherwise.’
I eventually discovered architecture and took every sketching, art, and CAD course available to me in my high school. I loved the artistry of design and the tangible nature of building concepts. These were things that, in my limited experience at the time, neither a math or computer science course could provide. I eventually went to architecture school with my first painful experience in learning to code a distant memory.
Throughout my design education, 3D modeling and technology was a huge interest of mine. However, I never returned to the world of coding until I began working as a professional designer. In the midst of burning the midnight oil on design competitions something about the value of coding and automation started to click… not to mention that many of my architectural design ‘heros’ were designing buildings that looked as though they required the use of code.
My new-found romance with programming came through a love of the design process. Not only could a little coding make complex tasks easy: it also allowed me to do things with design that would not have been possible otherwise.
I was hooked. I finally had an application for a skill set I struggled with so many years before and it made learning to code much easier. I was excited by the value of coding in the context of my goals as a building professional. Fast forward to today where I provide, among other things, professional services in software customization and automation… and I also *gasp* code for fun.
Coding is an activity that is quickly gaining interest in architecture. Faster schedules, tighter fees, and the importance of data are among the reasons that architects are looking more closely this seductive black art. I have seen many recent articles heralding coding as one of the emerging preeminent skill sets of architectural practice today. When I do lectures, one of the most common questions I get is some variation of, “As an architect, should I learn how to code?”
My answer is always “maybe.” (Warning: I am rarely an absolutist thinker.)
Graphical interfaces have made it easier to learn coding concepts.
It is easy to get caught up in the hype. The fact is that learning to code isn’t for everyone… just like project management or business development isn’t for everyone. Learning to code takes a certain mindset, a lot of practice, and you have to really like it. If you love the idea of learning a programming language and think you can grow your value with this ability, go for it.
There are many points of entry to start learning coding concepts and engage with the community. The wider-spread adoption of graphical programming tools, such as Dynamo or Grasshopper, are also providing a great point of entry into the world of coding for the visually minded.
Even if learning to code does not personally interest you, the growing demand for having these capabilities in an architectural business cannot be overlooked. At the very least, building professionals should educate themselves about how this skill set can deliver value to their businesses and projects. Having that perspective is very important for understanding how to position the capability in your business… and it will no doubt change the makeup of our future building teams.