What are the parallels between software development and magic?

What are the parallels between software development and magic?

Software development is all the rage these days. Creating the weird, wacky and wonderful things that shape our technological futures. Some people even think that coding has a magic of its own. Coding is becoming common practice in school, sometimes from as young as 5 years old. At first glance, learning to code and learning magic are worlds apart. But look a little deeper, and there are more similarities between these two arts than you might think... Here's a few that we've been thinking about lately!


Make it look easy

Magic is all about building up an audience, of even just one person, and realising the impossible before their very eyes. It might look simple from the outside, but the magician has spent many hours learning the craft and perfecting their performance, all to create a moment of sheer delight.

Similarly, software developers spend hours, days, weeks and months refining and perfecting their code just so it can perform a seemingly simple task, like sharing a photo or sending an emoji. Software developers, like magicians, make a tricky skill look easy.

how to learn magic

Learn by doing

Learning software development is a process of trial and error. Developers might make countless mistakes before they solve a particular problem, just like magicians when learning a new trick. Sure, you could read a book about how to code, but nothing is as powerful and actually doing it.

It’s the same with magic. There are so many great books out there that teach you the principles of magic, but they alone will not turn you into an entertainer who can capture the imaginations of an audience. The best way to learn magic is by doing it, making mistakes, and doing it again. That’s why we teach our magic using videos, because it’s much easier to start doing your own magic when you see it done right in front of you.

how to learn magic


Great software is designed in a way that the end user knows exactly where to click, who to pay attention to and what actions to take. A great magic performance is designed in such a way that the audience knows exactly where to look, what to expect and when to laugh, gasp or erupt with amusement! All of this is deliberately created by the magician, using the arts of storytelling, suggestion and misdirection.

user experience

Although magic and coding are two very different skills, doing them well involves developing some very similar characteristics. This is one of the reasons why learning magic is so valuable for children, because it gives them a foundation of these characteristics from an early age that are very transferable to other skills!

"My mission as a technologist is to make very complex things super easy and delightful for people - so that when they use it they think it's magic!" - Lukasz Sagol @Made by Many

Do you see any other similarities in other areas of your life?

Ta da!

Leave a comment

Please note, comments must be approved before they are published