Software and Architecture: The Perfect (de)Couple

Architects: just beyond your screen exists an oasis of automation, where doing your work is just as easy as building it, and day-to-day changes are automatically communicated across the entire team.  Need to revert back to an older version?  Done. Want to see your project built in real-time as you’re designing it?  Great.  Come join our oasis, the magical world of software development.

While it might seem like a big career move, the architect’s mind is a perfect match for software—trained to think modularly, at many scales at once, and with an obsession around process.  Elegance, reusability, and ease of construction are constantly top of mind for any developer.  What’s more, the software industry brings with it solutions to many of the notorious inefficiencies that have plagued the building industry for decades.

First, software developers have automated the construction and delivery of their products, with more and more tools coming out every day to make their lives easier. Continuous integration, the process of automating build and deployment pipelines, aims to streamline the otherwise task-heavy process of writing code and deploying it. The act of “pressing save” often fires off a dozen automations, accomplishing everything from compiling source code to informing others of progress.

Better yet, errors in the background are automatically detected and sent to those who can fix them, avoiding the anxiety of things going wrong and everything breaking. Unit testing, the act of consistently testing code in modules, catches errors immediately and ensures existing functionality is not jeopardized as the team develops a project. For any newcomer, this ecosystem quickly becomes mind-bending, with seasoned developers often writing tests before they write the code they’re testing.

Then there’s version control, the automated process of managing change. To fully understand the innovation of Git, software’s versioning technology, one must look no further than the comparison between GitHub and Revit’s synchronize with central.  Where Autodesk’s approach is a you-click-then-i-click solution, Git’s is poetic, allowing you to thread individual work together like a tapestry. The benefits of this approach are endless—behemoth file sizes are dread of the past and no problem is too big or too small.

Imagine if your Revit model suggested what to do next, and a simple key press did it for you?  This type of functionality is standard within software development, and doesn’t just automate rote tasks—it promotes consistency across the industry, lowers the barrier of entry, and makes the whole process, well, a lot more fun.

The system is built so that everyone directly benefits from each other’s work. A developer’s entire work history is written out, documented, and immediately reusable. API’s, the concept of writing interfaces for other programmers to connect to, gives even the most novice developers access to world-class algorithms and datasets.  

While talking to a seasoned architect is deeply interesting and entertaining, it’s difficult to quickly extract their knowledge, let alone use it in your own work. Architects often wish existing solutions were copy/pasteable, that they could more easily build on the successes of the past.  Software delivers on these wishes, and then some.

Every BIM expert in our company has learnt how to code because acquiring that knowledge and the frameworks behind it will catapult any professional to new heights, and is a must-have skill set for anyone in the building industry. It will challenge you to not only think about what you are doing, but how you are doing it, and where opportunities for automation exist.  Most importantly, bringing these concepts and tools back into your own industry will fuel progress and raise the bar. Who knows, you might just turn it into an oasis.