Half a Year in Denmark: My Days at BIG

When I was at BIG, my title was Computational Design Assistant. If I remember correctly, our team was called Architecture Technology, and including our manager there were only five people in total. Our role was somewhat like tech support—when architects ran into complex geometry problems or wanted to automate certain tasks, they would come to us for help. Most project deliverables were Grasshopper scripts that allowed architects to tweak parameters or apply them to different scenarios. Sometimes, we would also directly help build 3D models.

My usual workflow looked something like this: I would have one large, long-term project without a strict deadline that I worked on whenever things were quiet. Once an “urgent request” came up, I would temporarily put aside my ongoing work to provide support. These urgent tasks were usually about building 3D models for specific projects. Architects would tell us their requirements; we would evaluate feasibility and timeline, discuss possible solutions, create small demos for confirmation, and then revise based on feedback. Typically, it would take several iterations before the project was finalized.

The projects were quite diverse. Some supported design iterations (small tools), some were for rendering (building cool 3D models), and some were for analysis (spatial, landscape, massing, etc.). There were also projects that required producing precise construction-ready models, though unfortunately I didn’t get to work on those. Partly that was because I didn’t have an engineering or architecture background, and partly because those projects tended to have very long timelines with ongoing iterations. One colleague spent over a year working on a rotating skybridge and still couldn’t see the end in sight.

The skill set required for the job was quite broad. At the core were Python and C# with the Grasshopper API. Being familiar with the built-in features of Grasshopper and Rhino also made a big difference (compared to my colleagues, I honestly wasn’t that proficient). Basic geometry-related math—linear algebra and trigonometry—was used almost daily. Sometimes we had to manually calculate angles or distances, though most of the time calling the Rhino API was sufficient. Foundational computer graphics knowledge also came in handy occasionally (such as differences between 3D model formats, perspective, transformation matrices, etc.). Somewhat surprisingly, data structures and algorithms were also useful—for example, I used BFS to fix bugs and optimize performance in legacy code written by others.

Most of the time, the workload was fairly relaxed. Only when urgent projects came in did I need to work overtime. Compared to the architects in the office who often worked past 7 p.m. every day, my hours were relatively “Danish”.

The nature of the work, however, was a bit more complicated. One major issue was that interesting projects often had very short timelines. There wasn’t much time to truly enjoy the process or deeply research and find the optimal solution—we just had to quickly deliver something that more or less worked. Similarly, some projects would suddenly get canceled midway, meaning all the work done up to that point went to waste. Working on projects that were used once and discarded—or worse, never used at all—was quite frustrating.

Another aspect I didn’t enjoy was that a significant portion of my time was spent automating document processing for an internal project—pulling data from Excel to generate polished PDFs (and oddly enough, doing this with Rhino + Grasshopper). It wasn’t particularly challenging and was quite tedious, with lots of strange bugs to deal with every day.

Overall, though, I learned a lot and achieved some things I’m quite proud of. For one (ultimately canceled) small tool, I dove deeply into a geometric algorithm and ended up writing an offset tool that was more robust and more customizable than Rhino’s built-in offset function. The same algorithm later proved useful in my master’s thesis at GCM and during my time as an RA at CRCL. I also quietly left a small footprint on ArchDaily—some of the rendered images in this post used 3D models generated by tools I developed.

Before I left, my manager asked whether I would consider staying another six months. After weighing everything, I decided it would be more practical to work as a regular software engineer and make money. On top of that, I really couldn’t stand the Danish weather—so I politely declined.