Programming is Magic - and You Are NOT a Muggle
Tags: beginners, firstyearincode, career, motivation
Published: 2019-08-16 12:00:01

# What's a Muggle?

In Harry Potter, a [muggle](https://en.wikipedia.org/wiki/Muggle) is a non-magic person.  If you're a muggle, then you can't cast spells, you can't fly brooms, and you can't do magic.

# Programming Feels Like Magic

When you get a program to work - it really does **feel like magic**.  

You've just *made the computer do something*.  You've just told it to work a certain way - and *it did*.  That feeling gets addicting - and it's powerful too.

So - if programming is magic... then who are the witches and wizards... and *who are the muggles?*

# Here's the Secret

Well, I'll let you in on a secret: despite what certain gatekeepers might think; and despite what you might read on the Internet, or what you may even think yourself... **no one is a muggle**.

That means that you - **yes you** - have the ability to program.  

And that means that you - **yes you** - are a witch or wizard; even if you don't realize it yet.

# The Term "Wizard"

*Wizard* is sometimes used to describe certain programmers who are really, really good - or who show some unnatural ability to pick up new languages and skills.  Unfortunately, I think that diminishes what the rest of us can do; and how magical all of us are.

In the Harry Potter books, Harry doesn't just automatically know how to use his wand to cast spells and do magic.  In fact - he has to work *really, really* hard at it.

**The same is true of programming.**

Programming takes work.  A *lot* of work.  And a lot of people get discouraged when learning how to code for the first time, because they see "everyone else" just "getting it" so easily.  

It can be really demoralizing to look at a group of people, and think you're behind.  That you're the muggle.  That you can't do the magic.

**But that's not true.**

The magical, beautiful, wonderful secret is that *everyone* can do the magic. *Everyone* can learn to code.

But it does take work.

# How To Do The Work

There are **three things** that I think everyone who learns how to code should know about the process.

## 1. It will feel hard at times

Programming is magic - but it doesn't come easy.

Sometimes, you'll get stuck for 5 hours and you'll want to tear your hair out, and nothing will work right...

... but **it's worth it**.  Keep going.  Keep fighting.  Keep learning.

The feeling that you get when it finally does work is worth all of the fighting that you have to do to learn the process. *Lean in* to that uncomfortable feeling - and you'll get there eventually.

## 2. It will take a long time

There are no shortcuts.  

You have to put in the work and put in the time.  No one can do that for you - and there is no magical path for getting there faster.

**SO!** the important part is to keep going.  I *promise* that if you stick with it - you can do it.

## 3. You will get better

Just do the work.  Keep at it.  Read as much as you can.  You will get better.

Eventually - if you stick with it - you will get better, without even realizing it at first!

Like a frog boiling in water, you'll just get used to your new found knowledge and power; and eventually - you'll look back and see your journey - and you'll marvel at how far you've come.

But it takes time.  Don't rush it (sorry!), and don't get discouraged.

# It Really Is Magic

I'm always amazed when I get something to *really work* well while coding.  I *still* have a sense of awe and wonder when I can get a computer to do what I want it to - and I hope you gain that feeling too.

Remember: that programming might be magic... but **you are magical**.

If you get stuck - reach out to me, and I'll point you in the right direction.  I really want you to feel like I do - to feel like coding is magic, and that you have the power.

So enjoy the journey!


And if you are learning to code, come join the Learn to Code Newsletter!  [https://curiouswizard.com](https://curiouswizard.com)