Over the past decade, the AEC industry has evolved in the face of digital transformation and the wide adoption of BIM processes. This shift has broadened the range of tools and platforms available and increased the demand for professionals with new skills and a new mindset.
There are various ways to describe such people - computational designers, technology specialists, or ‘superusers’ are just a few examples. And while these terms change, this group of people all do one thing in common: they look at the daily struggles in AEC life and find ways of improving them using computational solutions. They bridge the gap between construction and computer science.
At matterlab, we champion and encourage these new skills in the AEC space and we’re lucky enough to have some in our own team - but what does it take to be one?
In his book ‘Superusers: Design Technology Specialists and the Future of Practice', Randy Deutsch accurately describes superusers as people who "define everything they do in terms of delivering value. They are high performing and high functioning people who reframe any assignment that they’re given".
There are many ways to describe a superuser but above all they share a common inquisitive, nonconformist attitude that drives them along a path of continuous self-development and improvement.
They are the ones who hear someone say, "Cool that works!" and think "Yeah but it could work better!". They see the option of automation in repetitive tasks, think in terms of computational performance and see a wider picture beyond design alone.
Deutsch also defines ten common skills that superusers have. He coins them the ‘Ten C-Factors' and they include things like ‘curiosity’, ‘contextualizers’ or ‘computational thinkers’. These adjectives are pretty familiar in today’s workplace and you might recognise some of these traits in a colleague, your boss or even yourself! Interestingly, three out of the ten factors Deutsch describes are often found in typical extrovert personalities, however this might not be the reality in most cases; being less outgoing than the norm is definitely not a barrier to becoming a superuser.
Indeed, introvert or extrovert, coding experience or not, everyone can learn the skills to become a superuser. But where do you start?
While the idea of being a superuser sounds enticing, and the prospect of being able to self-improve and help those around you is very satisfying, getting there takes time, patience and effort. There’s a lot to learn - everything from soft skills to programming languages.
To start with, it’s hard to design solutions for problems you’ve never dealt with before. Here are a few key areas and tips that could help you gather the necessary skills and experience for becoming a superuser:
• Get involved in project work. It’s hard to put yourself in someone else’s shoes, especially if you have no idea which shoes they are. Having experience working on projects makes a huge difference when thinking about and implementing solutions for common problems or shortcomings.
• Learn by doing. Courses, books or bootcamps are often peoples’ first ports of call when it comes to learning programming, but nowadays it's much easier to learn by doing it. Just jump in. There’ll definitely be bumps along the way but it’s much more gratifying to get stuck in rather than reading about it. And, when you do get stuck, Google will always be there!
• Have an end goal. Learning for the sake of learning is ok, but often we lose momentum when this takes a long time. Instead, try to develop your skills in real-life situations. See if you can tackle a problem or improve a workflow you’re already working on (learn by doing, remember?). Even if it’s not perfect the first-time round, you’ll get much more of a buzz if you can see the impact of your work straight away, and in an environment where it can help others too.
• Embrace the new. There is no one platform or language that’s better than the rest, so be open to trying new things. Visual programming, C#, python, web development - even VBA in Excel! It’s all good stuff and everything will help you to build up your repertoire. The more you get exposed to different environments, the more you will learn in the long run.
• Make time for learning. This can be the hardest one. For most of us, the daily grind leaves little time for self-improvement or experimenting on the job. This means that you’ll need to carve time out of your personal life to work on your new skills, which isn’t ideal but completely worth doing. Over time, start to show off your skills elsewhere and hopefully your company will take notice and see the value-add of your new capabilities.
• Find role models. The community around computational design is vast and there are plenty of people you can learn from. Be sure to identify some individuals who are interesting for you, whether that’s because you share similar ideas or values, or because they work in an area you want to move into.
• Get involved with open source communities. I cannot stress this enough. There is a huge opportunity to learn from the ever-growing open source community. The people are generous and there are loads of projects where you can get involved, and lots of spaces where other professionals can help with your problems too.
Some people measure success by the number of followers they have, the conferences they’ve been to or blogposts they’ve written. Others perhaps by the number of open source projects they’ve created or hackathons they’ve participated in. The truth is that there’s not one single way of measuring success here. It depends heavily on where your priorities lie and these can change over time, too.
If you’re anything like me, you might never feel like you’re completely done. This industry is constantly changing with new technologies to try, different platforms to conquer or algorithms to implement, so it seems impossible to believe you’ll ever feel like you’ve finished. But this isn’t something to be annoyed about – it's something to be proud of because curiosity will get you far.
Personally, I believe one way of measuring success is to look back and compare. Think of what you were doing a year ago and compare it against what you’re doing now. Check the code you wrote then and consider how differently you’d do it with so much knowledge at your disposal. Think about all the people you’ve met or worked with and remember how you helped them, or how they helped you to get where you are.
There may be times where you feel like an imposter, but I believe being aware of where you came from and appreciating the wins you’ve had (big or small!) are always a great reminder of your own success story.
Transitioning from a traditional architectural or engineering role to a computational one is not an easy task. There’s s no magic spell or shortcut to it and it’s often a lengthy process full of doubts and constraints that can make you question why you’re there in the first place.
But it’s also a path full of rewards! Every script, application or piece of code you create will help you to grow your skills and at the same time improve the work quality and workflow of your peers. Over time, you'll get the confidence to tackle more difficult problems, develop more complex applications and share your expertise with others.
Remember: get out there, experiment, try, fail, repeat. The best way to move forward is by making yourself vulnerable, so go ahead and jump head-first into this exciting field, shouting “Hello World!”.