Nate Miller from Proving Ground has recently written a thoughtful post on Computational Designer. I found it spot on in some regards, but also felt that, some things were left unsaid. I wouldn’t be me – the outspoken, Polish dude – if I didn’t feel the urge to respond to Nate’s thoughts, and complement them with few of my own. Let’s start by responding to the 4 thoughts that Nate had on Computational Design:
Computational Design != Technical Role
I think his thoughts on this subject are spot on. Most hiring managers will assume that since you are a Computational Designer, you are some sort of software whisperer that should go and enlighten his brethren in magic of Grasshopper. Problem that I see here is usually two-fold. Firstly, the role of Computational Designer has never been clearly defined. I myself have walked into an interview for a “Computational Designer” position that listed requirements in everything from Software Development to BIM Management. Often this comes about due to fact that most Computational “insert your title here” position openings are being put together by Human Resources. HR staff simply doesn’t understand the position requirements and responsibilities. They are looking to fill a spot. They should be asking Design Technology for what exactly it is that they are looking for. Here’s the second part of the issue. DT are usually small, and can hire one or two people so instead of focusing on getting a person with Computational Design skillset, they usually want someone that has all of the skills. The reality of Computational Designer position is that it should be very similar to that of an Architectural Designer, but with a twist that such person like Nate says: “…should be able to reflect on the value of their methodology and explain how their method produced more desirable results for the project and the team.“. Computational Designer should be just a designer with a different approach to design process. Now, what do you do with such person when there isn’t a project on the horizon that could benefit from such an approach? I think it should be agreed upon, and stated from the beginning whether in those cases it’s OK for the management to task these “special” designers with non-special design tasks, or should they be afforded the benefit of spending some of their time honing their skills by contributing to the R&D efforts. Too often do I see frustrated Computational Designers that thought that they role was to only work on “cool” projects where they can showcase their skills, but all other projects were not worthy of their time. This brings me to the second point, designers applying for the Computational Designer position should make it clear that they are still designers, and are very much willing to be part of project teams through good and bad, from design to construction. Too often have I seen Computational Designers that would only be happy when they were allowed to exercise their skills on a project for a week at a time and then happily move on to the next, or worse grumpily stick around to perform tasks that they deem not worthy of their special talents. To summarize the point here, I propose to draw a clear line between Computational Designer and Computational Design Specialist:
- Computational Designer: a designer, member of design teams, participates in projects from start to finish, works on all aspects of the project, when able uses his special design methodology to provide additional value to the team and design process.
- Computational Design Specialist: a full time member of some overarching technology department, only lends his helping hand to teams in dire need of computational design help, will participate in projects short term to address specific needs and problems, will teach workshops, will spend his “off time” doing R&D and software development
I think that a role of a Computational Design Specialist is what most people have in mind when speaking of Computational Designers. There should be a clear distinction between the two.
Computational Design != BIM
I could not have agreed more with Nate’s statement here. BIM Manager’s position has nothing to do with Computational Design. These two are like fire and water. However, Nate seems to imply in his post that recent fashion of acquiring titles of “Computational BIM”, has something to do with Computational Design. I could not disagree more. The mere coincidence of using the word “computational” in one’s title does not warrant that one’s implying that they have anything to do with design. Computational approach to architectural processes is not an exclusive domain of designers and design process. I have no beef with people bearing a title of Computational BIM Manager. Why? Because just like with designers I see a clear distinction between what a Computational BIM Manager does, and what a BIM Manager’s job is. Again let’s put these two in layman’s terms:
- BIM Manager: guy that knows how to deliver a BIM project, does work on BIM Standards, does help create Revit families, does support teams with training, takes projects from start to finish, he’s usually that guy that wrote your BIM Guidelines and all naming conventions etc.
- Computational BIM Manager: a full time member of some overarching technology department, only lends his helping hand to teams in dire needs of computational approach to some terribly repetitive and boring BIM related requirement, will most likely specialize in interoperability which makes him a unique animal that can cross between multiple platforms (his ability to use Grasshopper/Rhino doesn’t make him a Computational Designer, it’s simply a skill he acquired to further improve his interoperability chops), will do training and workshops, will spend his “off time” doing R&D and software development.
I think that just like the Computational Designer will jump onto a project to sort out that funky facade optimization process, or develop some random paneling strategy, the Computational BIM Manager might jump in to develop computational approach to a BIM requirement for room numbering, or how to interface with the designers to translate their designs from non-BIM platforms into full BIM platform like Revit. The interoperability facet of computation is where Computational Designers and Computational BIM Manager’s skills usually overlap at least partially. It’s quite important for one and the other to understand what the processes and goals of each others workflows are, and to hash out a clear strategy of delivering both.
Computational Design != Everyone
I agree 100% with Nate’s statement, that it’s impossible to train everyone to be a Computational Designer or Computational BIM Manager. It’s important though to at least allow these two distinct breeds (the Computational and non-Computational staff) to co-exist, be aware of each other’s abilities, and empower the non-Computational staff to make inquires and requests of the Computational staff. It’s not required for everyone to know how to make their own Grasshopper scripts, but it should be required of them to know how to open one, execute it or even do some simple debugging. Same should go for the BIM related tasks, I am not asking everyone to write Revit-plug-ins, but at least show willingness to learn how to use ones that your Computational BIM Specialists have written. Show them that you are capable of recognizing what task could use a helping hand from a Computational specialist, and come forth to ask for help. This can only be accomplished if everyone understands what is possible, and one way to do that is to at least train them in basic understanding of computational logic and approach to design/BIM.
Computational Design = Solutions
I also agree with Nate here. Hiring is not easy when it comes to Computational folks. It’s not easy for a variety of different reasons. Nate mentions attitude and education of the hiree. I agree that some of the responsibility to become a successful team member lies in the applicant himself, but it’s worth remembering that “it takes two to tango”. Is your company ready to take on a Computational Designer or Computational BIM Manager? Here are a few things to consider:
- Most computational specialists come from background in AEC. Like Nate have mentioned, there are very few formal ways of obtaining education in computational design. So how do these people come about? Well, they are like your unicorn employees, but better. Most likely they have trained themselves, on their nights and weekends. While others were getting drinks, your unicorns were hunched over a computer screen sorting out how to connect Illustrator to Grasshopper (shoutout to Andrew) because, well…they were tired of doing that same diagram over and over again. They are self-taught, and self-driven, but does it mean that your company should expect them to keep on learning on their own merit forever? No, have a strategy ready for how to offer relevant training to your most unique employees. It’s not easy, but simply sending them to some technology conference might not cut it for too long. Be ready to offer them breaks from work, during which they can join technology bootcamps, participate in hackathons, or simply take a course in Computer Science. So much of what your specialists will do has to do with fields outside of AEC, that it’s important to acknowledge that your company is not fit to provide training for them on its own. Let them venture outside of your company. Yes, this might sound counterintuitive, but if you can’t keep your computational specialist engaged and challenged, why not allow them to go do some freelance work that might introduce them to new skills. Not only will your company keep the employee happy, but also you will have a much more skilled employee and all that with virtually zero cost to you. Someone else just paid to upskill your most valuable asset, why do you still insist that a “no-compete” clause is a must?
- Speaking of these pesky regulations and rules. You are about to hire a Computational Designer, a guy that spends his nights and weekends developing Grasshopper plug-ins, and then publishes them online as Open Source and free. Who knows, maybe he’s crazy, or maybe he’s got an agenda on his own (trying to stop the madness of re-inventing the wheel that every AEC Company engages in, getting others to collaborate on his plug-ins). Whatever it is, it’s time that your company acknowledged his agenda and got out in front of it. Consider this: you might have one or two full time Computational Designers on your staff, and anywhere between 10-10,000 other staff. It’s easy for others to find kindred spirits, people to discuss your ideas and passions with. What if you are the only Computational Designer in the office? It does get lonely. They are humans, just like you, they need to collaborate with others, feel like they belong to a community, engage with people that share their ideas, and values. Open Source is just that for those of us that call themselves Computational Designers. You get your “community rap” from publishing tools and answering challenging questions on public forums. You get to collaborate on projects with like minded people. Friendships are formed out of collaborative work on Open Source projects. Why in the world would your company want to stand in the way of your employees happiness and development? As it is now in most states in US (California is a notable exception here), most employees that are so called “Professional Employees” (this means you are paid a salary, you are not an hourly worker or consultant), do not own anything that they work on, even if that work was done outside of working hours (nights and weekends) and not on company equipment (your own computer). Yes, that means that your Open Source project that you worked on for a year every night, still belongs to your employer. I think it’s a good idea for HR and legal departments to get their heads together and figure out a way to let their Computational Designers do some community work and actually get the credit for it. If it’s OK for your employees to design their parent’s cottage on a weekend it should be OK for Computational Designers to write Open Source software too.Have a clear career path/evaluation strategy. Most of Computational Designers stay Computational Designers…forever. It’s important for a company to acknowledge that they are taking on a new kind of employee, with different set of goals for their career, and the standard route of “Architectural Designer > Senior Designer > Project Architect > Project Manager etc.” is not suitable for them. This goes back a little to my previous point about being part of a community and the sense of fulfillment one gets from acquiring reputation points from his peers. Being promoted is a very similar kind of feeling. I understand that most companies will never grow their Design Technology teams beyond a handful of people, so there is no point in giving fancy titles to people. I get that. I am not advocating for more titles. I am advocating for some sort of a career path/evaluation methodology that would allow your employee and you to clearly see that he is indeed making progress. Establish clear goals for your employee, and then evaluate his progress. It’s quite easy for architects since they can always say: “I want to get licensed this year”, and there is usually some sort of reward associated with that. What does your Computational Designer get for learning a new programming language? Think about how you are going to keep your Computational Designers engaged and challenged or you will lose them. **
- Have a higher salary ready. This is a no-brainer for me. You are about to hire a person whose work is pure gold to your company. Yes, I cannot for the love of god comprehend how some people consider Computational Designers to be overhead expense. Work that computational people do: plug-ins and automation tools are all designed to make life easier, iterate faster and work more efficiently. How is that not a value? There needs to be a fundamental change in how Computational Designers bill their time, for folks in management to see their value. So long as Computational Designers are asked to either bill time to some vague technology/R&D account, there will be questions about their value. Long ago, companies figured out that clients wanted to deliver projects using the BIM process, so they built that into their cost models and charged clients for the new service. I don’t see a reason that AEC industry should not start charging clients for “Computational Modeling” and make that part of their pricing models. You are asking your Computational Designer to write a custom script for a project, but all of the time that went into acquiring knowledge and building tools that were necessary to execute that script are getting billed to overhead. That makes some of your most valuable employees look like an unwanted expense on your company’s budget. That’s not exactly going to breed love between your new expensive, high-profile Computational Designer and management. Going back to the salary issue, it should be a no brainer that people that invested all of the extra time and effort into acquiring a unique set of skills should be paid more. This is economics 101. Scarcity is expensive. Be ready, to offer your Computational Designer a higher than typical salary or he will go elsewhere.
* * This goes back to allowing them to freelance. There is nothing like allowing your employee to learn new software or programming language and earn an extra income from it. Your company will surely get all the hero points here.
In summary I propose that we distinguish between these positions:
- Computational Designer: you belong on a design team, you might have a small DT time allowance, you can’t complain when you are asked to draft in CAD because your goal is to be an architect
- Computational Design Specialist: you are owned by DT, you have full rights to complain when people ask you to draft in CAD or make diagrams in Illustrator, it’s more likely that you will start your own Technology Consulting company than design your parent’s cottage
- BIM Manager: you are the most hated person in the office since you invented all of the BIM Standards, and now make it your mission to make others follow them, you manage projects when they move from design centric platforms (Rhino) to documentation centric platforms like (Revit)
- Computational BIM Manager: you belong to DT, you can complain all you want when people ask you to model another chair family, you know all of the BIM Standards by heart and make it your mission to automate the shit out of them
- Design Technology Specialist: you are a fucking unicorn, only a fair maiden can spot you, not only can you do all the things that Computational Design Specialist do, but also what Computational BIM Managers do, you constantly live a life on the edge of design and BIM, you don’t write scripts, you invent the next next thing, you don’t ask to go to conferences, you run conferences, you have once killed all bugs with a single keystroke, you are the most interesting man in the AEC…
I might have gotten a few more words down that I expected, but I think it needed to be said. I might not be right on all points, but at least I hope this starts a conversation amongst people other than just us, the Computational Designers of the world. These conversations should really be carried out by management teams, executive committees, legal and HR departments in all firms. Too often do I see people getting hired for ill-defined positions, not being afforded proper development opportunities and constantly being underpaid.