Step 29: Don’t Rely on “Magic Happens Here” ~ Alan Griffiths
This is the 29th Step towards gaining the Programming Enlightenment series. If you didn’t learn the 28th Step, read it.
What is Magic?
Magic or sorcery is the use of rituals, symbols, actions, gestures, and language with the aim of utilizing supernatural forces.
We don’t know what happens inside the magical box, that magician use, but what comes out is simple and amazing.
What do we think about magic in our profession?
In profession too, what other people do out of your realm, might be simple yet complex. What programmer think about manager do and vice-versa if they both don’t have experience in each other’s field might be intriguing.
Product owners or Business Analyst might bring stories or task in the simplest of form possible to developers. But, in the hind sight they are doing a mammoth task of eliciting the requirements from users, getting the budgets approved etc.
Similarly, developers on the other hand, isn’t just adding lines to the code to realize the stories that Product Owner or Business Analyst put forward. We tend to think about making our product scale-able, robust and bug-free.
What is magic in coding?
Magic is an informal term for abstraction; it is used to describe code that handles complex tasks while hiding that complexity to present a simple interface.
Like in android, gradle.build file hides the complexity and does the magic of compiling app resources, source code and packaging.
TL;DR Don’t think magic happens out of nowhere. There is monolith of work accomplished for that magic to happen.
If you see magic in code, try to embrace and understand it.
Go to 28th Step
Go to the 29th path.
References:
- 97 things Every Programmer Should Know ~ Git Book
- 97 Things Every Programmer Should Know ~ Paperback
- Magic in programming~ Wiki
- Gradle magic ~ developer.android
