Cracking the code
Why telling computers what to do should be your second language
Speaking recently about student technology initiatives, Apple CEO Tim Cook expressed the view that you don’t need to spend years at university in order to become proficient at coding. If these skills are introduced early on for schoolchildren, he reasoned, kids could see their work on the App Store by the time they’re old enough to drive. Cook is a long-time advocate of educational coding projects – including, of course, Apple’s Everyone Can Code curriculum for kids of all ages – and I couldn’t agree more with him.
A couple of years ago, Cook said that if he were a French student (he was in France at the time) he’d consider it more important to learn coding than English as a second language. This was seized upon and sensationalised in certain quarters of the media for lacking a bit of soul, though it is a sentiment he has since reiterated. Cook firmly believes that coding – a global language that can be used to converse with 7 billion people – should be a widely taught ability rather than treated as a specialised skill. I couldn’t agree more with him on this one, too. That’s based on my experience of learning eight languages (three human and five coding) to varying levels of fluency.
Emidio is a structural engineer and Asia Computational Projects Lead for BuroHappold.
To my colleagues in the Architecture, Engineering and Construction industry, I have always likened the effect of learning coding to me teaching you 10 words in Italian or Mandarin and saying that you could live in Rome or Beijing without a care in the world. If you’ve ever learned a second human language then you’ll be painfully aware that knowing 10 words is a very, very long way from being fluent. Attaining that level in Italian requires months of memorising verb tables; for Mandarin, be prepared to spend an awful lot of time mastering tones… not to mention trying to pronounce new sounds such as the “u” in 去.
Of course, the 10 “words” in the coding language world are really 10 fundamental skills – such as declaring variables and if-then statements for example – that the BuroHappold team already wields along with engineering first principles. This combination of skills defines the future of our industry – the good news is that to learn them costs nothing.
Among the many benefits of coding proficiency is an enhanced ability to communicate
Among the many benefits of coding proficiency is an enhanced ability to communicate. While the problems that we solve as engineers become ever more complex, so our industry increasingly relies on good communication between people, teams and companies. The majority of this communication is digital. Consequently, most related difficulties arise from a flawed digital approach that assumes – wrongly – that a software company will create a single tool or digital vernacular to suit all parties and every project. Sidestepping this obstacle, engineers who can code don’t have to depend on third-party software to share their ideas digitally. What’s more – because they’re not solely reliant on manual input to the machine – the amount of first principle knowledge that these code-literate engineers can apply and communicate on a project is multiplied exponentially. This is far more empowering than just adopting the latest software. All that’s required is to take responsibility for your design, not only around the sketchpad but also the digital translation, which calls for basic coding knowledge.
I highly recommend that all graduate AEC professionals spend an hour or two each week taking advantage of the resources that will get you coding. Right now this is a nice ability to have – the tipping point at which it becomes a career essential is coming soon.