Demystifying Modern Sorcery (Coding)

November 30, 2016 | Views: 3523

Begin Learning Cyber Security for FREE Now!

FREE REGISTRATIONAlready a Member Login Here
90s kids thought that this was what programming looked like…
Coding (or programming/black magic) is one of those things everyone talks about, acknowledges that everyone needs to know something about, but barely anyone actually does. Coders have this weirdly conflicting aura; they are the kingmakers, modern day sorcerers who, with seemingly an incomprehensible wave of the hand, can conjure a piece of software out of thin air, and in many cases, a billion dollar IPO at the blink of an eye. Yet at the same time, there persists the stigma of a loner nerd with dark rings under his eyes, eliciting vast worlds from his fingertips yet barely able to keep a conversation going after the first sentence. Is this image problem accurate in these days of teenage billionaires?
Some time ago, I started thinking that I should learn how to code because one thing is clear in 2016; much of how the modern world works depends on lines of code and people with the ability to create it. Unfortunately, perhaps the combination of its seemingly high barrier to entry (do I need to be brilliant at maths? Do I have to be a savant? Those numbers and symbols and colons look scary) coupled with the aforementioned image problem might be a little off-putting for many, despite the almost limitless job prospects and high salaries.
I have no problem being around nerds since I am one myself. That poindexter cliche never mattered to me anyway. Coding, though, was something I always presumed was forever out of my reach. It just looked so alien, like descending into an ancient cave and stumbling upon some lost civilization’s hieroglyphics. Code is a pure kind of distillation of logic, and our common spoken/written languages rarely adhere to logic because they’ve been devised, deconstructed, remodeled and butchered according to our needs over thousands of years. Coding languages do not undergo this process of entanglement, but iterate based on what might make it simple work better or more elegantly, and always with its end game (i.e. whatever it was designed to work with, whether that’s an ugly database or a lovely piece of software with a beautiful GUI).
…and this was what a hacker looked like
It was this article from Lifehacker that made want to give it a go, so I took its advice and plunged headfirst into Zed Shaw’s freely available book, deceptively titled ‘Learn Python the Hard Way’. Shaw’s withering, no-nonsense approach to the fundamentals of code has allowed me to drop all the fear and magical thinking I had built up about what is essentially an exercise in learning to apply logic, problem solve, and become adept at proof-reading my own work. Yes, it gets increasingly difficult and complex the deeper you go, as with any new skill, but Shaw manages to be both a reassuring and strict master, telling us not to worry if a piece of code makes no sense right now, but reserving no sympathy for anyone who tries to shortcut their way through it either.
I can look at a clump of python code and at least have a grasp at what it’s trying to achieve. I mightn’t be quite ready to churn out the next Windows, but I’ve passed that sticky point where it all seemed crazy hard and confusing to  feeling like I actually know what I’m doing. I remember watching this video about why people should learn to code, and Gabe Newell recalls the first time he ran a piece of code that produced the words ‘Hello World’ onto a console. That tiny spark of creation is the magic inside code at work, and if you want to think of it that way then I would recommend reading this article on why coding is so often compared with magic, which hints that computer code may provide more clues as to the nature of reality than we think.
Here are some great resources for fearful coding n00bs like me:
  • ‘Learn Python the Hard Way’ by Zed Shaw, available for free here
  • Code Academy, which offers free courses in many languages with an easy to follow, gamified learning system.
  • Cybrary’s Python Class
  • Github – a repository for programmers to store and share their open source code with the world. Worth a rummage to find beginners’ projects, figure out what others are up to, or just see what kinds of things are possible
It might take years to become a whizz kid programmer extraordinaire (at which point I’ll be more likely nicknamed something like ‘that old whizz man’), but my point is that learning enough to at least know what the hell is making everything happen is nowhere near as abstract as you had built it up to be.
Share with Friends
Use Cybytes and
Tip the Author!
Share with Friends
Ready to share your knowledge and expertise?
  1. A nice “Ode to coding”! Share it on LinkedIn so more people can enjoy it before the Hour of Code Next week.

  2. I had to laugh at the title of this “Demystifying Modern Sorcery (Coding)”.

    Well it is isn’t it? I refer to anything technical I don’t understand as Witchcraft.

    I’m not a coder, and looking at the huge selection of languages out there, I have no idea where to start, and my eyes bleed at the prospect. Maybe I’m old!

    But nice article.

    • I’d start with python, or ruby. It’ll give you nice foundation for learning more syntactically complex languages. Or, if you’d rather start with the hard stuff, take a sniff at C, and then relax into python. Either way, it’ll help. For C, I recommend Harvard’s CS50 class. It’s free, and you get all the lectures, materials, and help you need.

  3. I have experience in the tangible side of computing (servicing desktops and laptops) and knowing this came from a n00b, which I am 99% of the time as it comes to scripts and structuring code for X application. I know it’s pretty fun myself. The math and algorithms turning into result keeps me coming back lol.

  4. Nice article, great resources.

    Tip of advice to new programmers: No one is born with the gift of coding. Every good programmer has logged considerable amounts of time honing thier craft. Don’t be afraid to ask for advice. There are countless resources out there for you to learn programming, but you only learn by doing. That is qualia

Comment on This

You must be logged in to post a comment.

Our Revolution

We believe Cyber Security training should be free, for everyone, FOREVER. Everyone, everywhere, deserves the OPPORTUNITY to learn, begin and grow a career in this fascinating field. Therefore, Cybrary is a free community where people, companies and training come together to give everyone the ability to collaborate in an open source way that is revolutionizing the cyber security educational experience.

Support Cybrary

Donate Here to Get This Month's Donor Badge


We recommend always using caution when following any link

Are you sure you want to continue?