Job Posting: Product Developer + Computational Designer

POSITION FILLED 6/9/21

Contact: Brandon Pachuca bpachuca@kpf.com

We Are

KPF is a leading architecture and master planning firm that designs projects of various scales around the world. You will be working with the KPF Urban Interface (KPFui) team, which is a team focused on computational design, data analytics and technology development. KPFui uses data analytics for informed decision making in the design of buildings and cities for people.

Role Description

KPFui has successfully deployed a suite of tools as internal products to help shape the design, approval, and public engagement processes of KPF’s global projects. The ideal candidate for this position will leverage their design and software development background to improve, add-to, and maintain internal products through the development of cloud-based simulation and new interfaces, such as Scout.  

In short, this role centers around how to scale the tools, workflows, and innovations from KPFui to the entire office through Computational Design, Internal Product Development, and Training & Deployment -- all of which will impact the hundreds of projects that KPF designs and plans. 

In addition to scaling tools developed as part of KPFui, you will collaborate with and across teams at KPF, such as the Environmental Performance and Data Science teams, to look for opportunities to deploy new tools, leverage automation, and apply machine learning models within design practice. 

You will work as part of a growing development team with the support from consultants with deep experience in the various environments you will be developing within. The requirements outline below are quite extensive. If you have most but not all -- and think you are a good fit for the role and the team -- still apply for the position. KPFui supports training and education. We want you to have the support to develop and advance your skills and interests. 

Role Breakdown

The specific percent distribution of tasks and applications of those tasks can and will change to suit your skills and interests.  

60% Internal Product Development:  

Create internal products that take advantage of emerging technologies in computer science like Cloud Computing, AI, ML, Web Services, etc. to improve KPFui’s ability to effectively work with design teams.  

Work closely with other developers and computational designers on the team to create workflows that string together various web services and local libraries as well as existing grasshopper files and rhino geometries.  

Engage with the studio to translate the ever-changing needs of designers into distinct features for the evolution of our toolset, thus allowing it to be seamlessly integrated into design workflows.  

Develop useable and friendly interface for tools that clearly communicates complex data and analyses in a succinct manner to ensure frictionless adoption by project teams. The success of this role is crucial to the wide adoption of existing and new tools that facilitate and inform the work of the rest of the firm.  

20% Computational Design:  

Work with project teams to apply performance analyses and give design recommendations to guide performance-driven decision making from setting up analysis tools as grasshopper scripts to building new workflows, scripts, or plug-ins.   

This work will be focused on understanding the workflows, tasks and bottlenecks of the design teams in order to better inform product development.  

20% Education, Training and Deployment:  

Work to facilitate firmwide adoption of our internally developed tools. This will include running workshops and supporting teams in deploying and creating educational materials.  

Write clear tutorial and documentation on tools and workflows created that include instructions for set-up, step-by-step guide to use, and troubleshooting tips.

Experiences and Skills 

As Developer 

Need to have coming in: 

  • Familiar with the Rhino Common Library. 

  • Experience developing applications in C#, preferably plug-ins for Rhino or Grasshopper. 

  • Ability to use Git for version control.  

  • Develop technical interfaces, specifications, and architecture of products. 

  • Write clean, modular, documented, and scalable code. 

Optional, but will need to develop as part of your role: 

  • Develop intuitive user interfaces for windows, such as with ETO forms / WPF. 

  • Creating and implementing high-performance RESTful APIs. 

  • Experience working with other software developers. 

As Computational Designer 

Need to have coming in: 

  • Familiar with Rhino and Grasshopper.  

  • Ability to communicate and execute design intents specified by project teams. 

Optional, but will need to develop as part of your role: 

  • Experience creating generative or computational models in Grasshopper (we can teach this if you have not done this before.) 

  • Familiar with common simulation tools and Grasshopper plug-ins such as DIVA, Ladybug, DeCoding Spaces. (You’ll get exposure to simulation tools and plugins as part of the role if you are not already familiar with them.) 

As Outreach Educator 

Need to have coming in: 

  • Ability to communicate technical details of tools and the theory behind analysis with a variety of stakeholder such as, designers, architects, clients, and other developers. 

Optional, but will need to develop as part of your role: 

  • Create concise diagrams, documentation, and tutorials.  

 

Not required, but fantastic if you have some experience with: 

  • Three.js / WebGL / Vue 

  • Urban spatial analytics  

  • Autodesk Revit Software 

  • Python 

  • Rhino.Compute 

Application 

Please apply by submitting a CV, portfolio, and links to any relevant development projects to bpachuca@kpf.com with the subject line “Product Developer + Computation Designer Application.”