How to Actually Get Coding (as a Non-coder)

Coding is all the rage nowadays with deep learning and blockchain stealing headlines daily. But most people probably don’t know what exactly ‘programming’ is. Here are some things I wish I knew about programming before I became a programmer.

In a nutshell

Programmers make stuff for computers or machines to use and run. That’s basically it, except computers can use a lot of different types of stuff. A car uses different stuff than a robot, which uses different stuff than a laptop. I say ‘stuff’ because it could be software, firmware, or any other subset of digital program whose differences are not worth discussing here.

Generally speaking, programmers write code, which is like a bunch of text in a computer language that has its own grammar, vocabulary, and rules. Programmers type out their programs in these programming languages, and the programs are what the computer uses. Just as an author writes a novel, and a reader reads it, a programmer writes a program and a computer runs it. That’s the coder life.

When I first started programming, I was trained to make desktop applications. That includes all those things that run on your computer, not in a browser. Think Microsoft Word or Excel, not Google Docs or Sheets.

Right now, I am primarily a web developer, meaning the code I write is meant to run in web browsers. This means websites or web apps, like Facebook or Porcupine.

I also program robots: I write code that runs on a smaller computer that powers a robot.

To truly understand programming, you have to try it out a bit yourself. You should definitely…

Just Try It

Once you start programming, you’ll understand it much better, and you’ll see that most coders are only borderline weirdos.

So first, you’ll need to get a super fast laptop and accept that you’ll spend most of your weekends from now on alone in a basement that stinks of coffee and body odor.

Just kidding. Anyone can code. Seriously.

Like everything else now, coding can be learned online super easily. There are tons of free online interactive tutorials that can introduce you to the basic building blocks of programming, and a programming language to use those concepts in. If you want to get started right now with zero experience, give this a go.

Politics in Programming

Right from the start, you’ll see a divergence in the programming world when you try and look for a tutorial and see that they are in different programming languages. The reason different languages exist is because they are meant to write code that runs in different settings (on laptops vs phones vs robots), but they are mostly implementations of the same concepts. That’s why beginner tutorials can be offered in multiple different programming languages.

But this also means you’ll have to pick a language to start with, which can often have consequences. For instance, I started coding in a language called C# when I first learned programming, and all I was trained to make was desktop applications. It took me about a year to realize that language was not for me and transition into web programming with Javascript, HTML, and CSS, completely different languages.

The first language you learn can open a number of different doors, so pick wisely. I personally believe C# is a good first language to learn (although it’s not a common choice for beginners) because it’s easy to read other languages if you understand C#, but I have been told Python, Ruby, or Javascript are better first languages.

What This Means for a Beginner

At first, you might hate programming, and that’s okay. Just switch to a different language, and give it a go. Writing code is like regular writing. You can write child fiction, fantasy, non-fiction, or poetry. Coding is the same: you can make all kinds of programs, so just pick a different one if you don’t like the first one you try.

OR maybe you hate programming, and it’s not for you. That’s fine, and perfectly normal. I hate programming sometimes too. The only thing I never hate is corn. Yes, corn. Steamed and lightly salted. I didn’t misspell that.

The Great Divide

When you first start out, you’ll feel like you’re learning a lot, which you are. But you will eventually get to a point where it suddenly gets a lot harder to make things. And then you’ll realize you’re a mess and will never succeed at anything in life.

Disclaimer: I actually made the left one too. Check it out here.

Seriously though, there is a large gap from ‘advanced beginner’ to ‘half decent amateur’, partly because a lot of stuff you need to know to make legitimate stuff for people to actually use in real life isn’t taught very openly, or for free. That’s the job of universities, whose main goal is to turn your life savings into a fancy sheet of paper.

You can, however, learn to make real world stuff as a programmer more easily by getting a mentor: someone friendly and misguided enough to talk to a beginner coder about all their programming problems. Keep in mind that a lot of good programmers aren’t good teachers.

*self promotion time*

The core programming team in Tika consists of two people, myself included. Being a two-person team making real-world, professional-grade software, we have to be really good but also helpful to each other. If you need some coder mentors to talk to, hit us up.

Conclusion: It’s Just Another Thing

Before I started programming at all, I thought programming was very hard, boring, and pointless to partake in. But everything has its ups and downs, and it’s really not unlike anything else. Give it a shot yourself, and tell us what you think below!

Trading bot engineer, songwriter. <mika@myika.co>