Hi! I'm Maze! So, you want to learn programming?

Stick pony Maze


It's not easy!

Stick pony Maze with a paper with a exclamation mark in her mouth

I'm not going to lie to you, learning programming is something you'll need to invest many months of time into before things start making sense and before you can make anything meaningful. It takes a long time!

Why?

Stick pony Maze with a paper with a question mark in her mouth

So, assuming you have that much time on your hooves, why would you want to invest it in learning programming? Well, first of all, it's a cool skill to have. In most circles, just mentioning that you're a programmer gives you some cred points, hihi. But what dragged me here, is the ability to make anything. With programming, you really have a lot of freedom with what to make. Your creations need to be logically possible, but other than that, you get almost as much freedom as you'd have with writing a book! The sky is the limit!

Why take advice from Maze?

Stick pony Maze

Me? Well, I'm someone who has already learned programming, I remember my path very well, and I'm pretty sure I did it the right way. I've been a programmer for 9 years, I've studied it too, I know 10 programming languages and I'm "fluent" in 3 of them!

Okay, teach me programming!

Stick pony Maze next to a pole with blank signs

It's not going to be me who teaches you programming, there are a lot of people who are way better at this than me! I'm just here to put you on the right path! I'm going to give you some very important tips, and following these will make your life much easier!

1: You are NOT stupid

Stick pony Maze with a paper with a heart in her mouth

The most important thing is not to underestimate how difficult this is. If you spent 2 hours trying to figure out how to compare numbers the right way, find a small typo, or just make your program work at all, it's not because you are stupid or bad at this, and it does not mean you need to give up. It is because speaking the language of computers is very difficult for us. And even experienced programmers make silly mistakes all the time and spend hours trying to find them! Always remember that you are awesome!

2: You need a (small) goal

Stick pony Maze with a checker flag in her mouth

A goal! An idea! Something to work towards! One day you'll get the idea "hey, it would be so cool if I could program this and make it a thing". Unfortunately, new programmers often think too big. What you really need is something you'll be able to easily make after a year of learning. NOT something that requires 5 years of work from a large team of experienced programmers, designers and artists. You won't be making something like Super Mario, Facebook, or anything that earns you money. You might make, like, an equivalent of the first 10 seconds of one mario level, with only 1 type of enemy. My goals were maze generators and simple maze games, whenever I was learning a new language. Even something as simple as a maze generator took me almost a year while I was learning my first language!

3: You need a friend

Stick pony Maze and a pony silhouette

You need a friend who's good at programming, for 3 reasons.

Firstly, this friend will be able to tell you if your goal is too big. Just ask them how much time it would take them to code your idea. If it would take your friend more than a few days, then it is too big.

The second thing your friend will be able to help you with, is answering your questions. Don't be afraid to bombard them with questions about basic things! It will help you! Just make sure that you say "thanks" after every answered question, and make sure you are also sometimes talking about other things than your problems. Asking the same question multiple times is also okay if you didn't understand it the first time, just make sure to add "I know I've asked this before, but". Your friend will understand that you are starting out and that this is very difficult to you, and will gladly explain the things that trouble you.

Finally, your friend can serve as your rubber duck, which brings us to ...

4: You need a rubber duck

Stick pony Maze with a rubber duck on her back

Whenever you get stuck on something with programming, it will take hours or days to figure it out. It happens to me, and all other programmers. And it will happen to you as well. BUT. There is a trick which can get you out of the "stuck" almost every time! It uses a clever psychological trick and it almost feels magical. You need a rubber duck. A "rubber duck" is someone who you will explain your situation to, and while you are explaining it, you will suddenly realize how to fix it. We call them a "rubber duck" because they don't need to respond, it is as if they were an inanimate object, a rubber duck. When you are explaining your problem, that will give you a new point of view, it will drag you out of the mindset you were in earlier. You will acknowledge aspects you did not think of before, and this is exactly what you need.

For this to work, you need to acknowledge your rubber duck as a sentient being, which is the easiest if they are a human or a group of humans. An actual rubber duck will probably not work. Oh, and if you are sending your explanation as a text message, you don't actually need to send it. Just describe your problem in your chat app with as much detail as possible, ramble without worrying about grammar and structure. Pretend like you are going to send it, but then don't. Or, if you did send it, and then figured it out, at least be nice and delete that, so it doesn't waste their time. Unlike, of course, legitimate questions you ask about things you don't understand. That is different!

5: You should probably use an IDE

Stick pony Maze inside an integrated development environment (it could happen at any moment!)

You can write your code in a regular text editor, or you can use an IDE. An IDE has more features, but is also more complicated, so it is definitely a trade-off. However, I think an IDE is still a good idea for people who are sort-of-starting-out-but-already-know-the-basics. An IDE will help you by giving you lots of hints and taking care of some tasks which you would otherwise need to do manually. For best results, once you're following a tutorial, use the same thing they use in the tutorial. If the tutorial says it's best to not use an IDE, then don't use an IDE.

6: Where to start

Stick pony Maze next to a pole with signs. Signs say JS and PY.

First, you will need to decide which programming language you want to learn. Then find a good tutorial for the language and do what the tutorial tells you to. If you're already learning programming in school, then the language decision has already been made for you. Otherwise, here are some languages with lots of good tutorials: Javascript, Python, C++, Java, or (only if you are using Windows) C#. They are all good languages. Bad languages are just a meme. People love to hate programming languages; but seriously, everything that is widely used, has a good reason to exist.
You should pick your friend's favorite language! This way they'll be talking to you about something they love, which is always a bonus! You can always learn other languages later, whenever you feel the need to. If you can't decide, just pick Javascript and be done with it. Please don't fall for the paradox of choice. Go to w3schools and learn some HTML and JavaScript!

Summing up

Stick pony Maze next to a floating checklist. On the checklist, there are a heart, a light bulb and a duck. All 3 entries are checked.

The path is not easy, but if you feel like you'd enjoy creating with computers, it is totally worth it! And I know you can do it, because you're awesome! Now go, and make something!


back