“I need you to create an app like Uber for $20”.

“Please make a dating app like Tinder for a budget price”

Yes people, these requests are very real. People often think programmers have an innate ability to cast a spell, mutter a few incantations like a wizard and behold – insta-app!

Ok, so the requests I have received may not have been worded quite like that… but it may as well have been. “I would like an app that the user can book taxis with, and rate the taxis, and taxi drivers can sign up to and… etc”

You see where that’s going. They are describing an Uber app… which they want at a budget price! People like to be cheap with developers. If a developer is going to spend the time and effort to do that, may as well develop it for themselves, am I right?

(Anyone out there seen The Social Network…?)



“People like to be cheap with developers”

I’m sure other software developers, programmers, coders, engineers, and (insert alternate job title here) share this frustration.

One might think it is flattering to have your skills thought of as like magic. In some ways, it is. But it means that there are unrealistic expectations of what a programmer like myself can do. And with great expectation, comes great inevitable disappointment. Or… something along those lines.

At some point, I had a long hard think about where the assumption that programmers can “magically” create something in no time like magicians actually came from. There are actually a number of parallels that can be drawn.

Unfortunately.

Note that I’m not referring to the magicians who perform tricks with slight of hand or other methods to deceive like the characters from “Now You See Me”, or Christian Bale’s character in The Prestige.

Particular talents

A common trait amongst magicians in most fictional literature is that they have a distinct talent for it. From there, there is a lot of study and practice that needs to be done to actually be a magician.

Well, I guess the same is said of programmers. Anyone can pick up a programming book and learn to do it, but not everyone has the natural talent of thinking algorithmically and logically – necessary to thinking about how to instruct a computer to perform certain tasks, or troubleshooting when something goes wrong.

Incantation in another language

Even if we don’t discuss the fact that there are numerous computer programming languages, computer jargon alone often sounds to people like another language. Though the same can be said of other disciplines like medicine and law.

But when it comes to programming a computer, we study one or more programming languages – memorising most syntax and semantics. For the things we don’t commit to memory, we have to refer to a programming reference or software documentation.

Sound familiar? Think of Harry Potter, or even the magicians from the Dragonlance Chronicles. The incantations to perform the spell are usually incomprehensible, simple spells are memorised, and others are referred to in a spell book.

Hunger for knowledge

As programmers, we have an innate drive to learn more ways we can tell the computer to do things for us – create apps, control hardware, assist us in our jobs. We actually love learning more programming techniques and even attend meet ups to network with others like ourselves to get more information from others.

Harry Potter became obsessed with several textbooks over the course of his schooling. It is a common trait of fictional magicians and wizards in literature.

Use of magic/coding skills

Google have a slogan: “Don’t be evil”. Following Google’s restructuring under the new company Alphabet Inc… (no matter how many times I say or write that company name, it always sounds odd to me. Is it just me? Yes? Moving on…)

Following Google’s restructuring under the new company Alphabet Inc, the code of conduct was changed to “Do the right thing” (which conjures images of comedian Russell Peters).

The reason for this is that this world is so reliant on software and technology in general, it can easily be used to exploit users (and this happens all the time). Magicians that do the equivalent are commonly referred to as sorcerers. And just like the technological counterparts, it takes a skilful magician to stop an equally skilful sorcerer.

In fact, did you know that Google have offered bounties to programmers, challenging them to hack Google Chrome, expose the vulnerability to them so that Google can continually improve the security of Chrome?

In summary, I guess I can understand why coders are viewed like fictional wizards and magicians. As a result, there are unreasonable expectations of our abilities most times.

But where magicians only need a few moments of concentration to abracadabra your desires into being, for programmers there are many many hours of concentration required to plan, develop and release software.



“… for programmers there are many hours of concentration required…”

A quote comes to mind (which is from Arthur C. Clarke, but to my shame I recalled the quote from the Thor movie):

“Magic is just science we don’t understand yet”

Perhaps the link is more apparent than I care to give it credit.

Now, I must disappear!

</post>