Introduction
About 6 years ago I was watching a show that featured a “hacker” (someone who sits at a computer and pounds away while cool graphics rapidly flash across all 6 of their monitors – or at least that’s Hollywood’s description) and decided that I wanted to be like that someday. I then went to my computer, and having no idea where to start, I typed “how to code” in Google. Nothing was straight forward, everything was complicated, and a lot of people didn’t know what they were doing either; today I will try to write the the article my younger self needed and will explain the industry and everything you need to know to get started.
What is Coding?
Coding is essentially telling a computer what to do.
Easy enough right? Well, not really. Computers are extremely complicated, and there are many levels of a computer that one can work in – as in there are many industries one can go into for “coding” that can range in complexity.
A more complicated explanation of “coding” would require me to also differentiate “coding” from “programming”. Here’s the definitions:
Coding
“the process or activity of writing computer programs.”
Google | Oxford Languages
Programming
“the process or activity of writing computer programs.”
Google | Oxford Languages
Well that doesn’t help, now does it. If you were trying to Google the same things as I was when you came across this article, you may understand this frustration. So what is the difference, if there is one? Typically Computer Science (we will get to this later) experts will define the two as follows:
Coding
Involves basic level languages like Markup, HTML, CSS, and basic level JavaScript. These languages do not apply advanced concepts like Object Oriented Programming, creation of libraries, and class structures.
Programming
Involves the higher function languages including but not limited to: Python, Java, the C languages, Swift, and many many more. These languages often deal with the computer more directly, and can be used for writing complex applications, scripts, and data systems. They often will apply concepts like OOP, libraries, and class structures of varying sizes and complexities.
I just took two words and gave you many more to think about, if you haven’t already come across them yet. Let’s dissect everything to see where you want to go from here. PS, there will be more in this series.
What to code
There are many different avenues you can take when going into the computer science and technology industry. I will try to discuss a few of the major ones here. Of course each industry has many sub-specialties, but I will just describe the general work involved.
Web Development
The first one I will discuss is the one I currently am in, web development. In web development the goal is to build, design, or maintain websites. Websites can range from small websites like this one with just a few pages, to large applications used to connect a companies services all into one place, and to store, display, and manipulate their data.
Software Development
Software development is a very large and complex field, but more generally it involves developing, testing, and maintaining software applications. These applications can be internal company applications, database systems, or data science algorithms.
Cyber Security
If you are wanting to become a “hacker”, this is probably the industry that would interest you the most. In this industry the focus is on defending and attacking computer systems (legally). A specialist in this field could be hired by companies trying to test and maintain their systems, or by governments for the same reason. Governments may also hire cyber security specialists for military branches that involve some form of cyber warfare.
Hardware Development
Hardware development can take on many forms, but most commonly involves people writing programs that manipulate real world machines. These machines can be anything from simple clocks, to robotics systems, to fully autonomous vehicles. Typically if someone is wanting to get started in this industry they start with a programmable chip like Raspberry Pi or Arduino.
Of course there are many other ways one can apply programming in the real world, but these are some of the major industries (that I could think of).
How to get started
When I first started researching programming, I was overwhelmed by the amount of information on the internet. This coupled with the fact that I had no idea what I was actually looking for made things worse. So if you are in this same position, let me help you. Here’s what you need to do:
- Figure out what industry you are wanting to go into. I know that is easier said than done, and having the stress of figuring out your destination may discourage you from starting the journey, but it is pretty important. Think about what interests you the most, and think about why you want to “code”. Are you doing it because you hate your current job and want a better one? Are you in school and are preparing to go into a CS (computer science) field when you graduate? Do you just want a cool hobby to do on the side? These are factors you should consider when choosing the path you want to take.
- Once you know what your goal is, look for an online course. Online courses are great because they typically teach you complex topics from start to finish. If you are wanting to learn coding for free, you can easily enjoy a number of YouTube channels that have series; however, I don’t recommend this method if you are new to a subject and your goal is to become an expert at it. This is because YouTube channels tend to stop at a certain point, and just teach you the basics – this can lead to your knowledge base of a subject being piecemeal and stitched together. I typically recommend a paid online course as they are more thorough. Udemy tends to offer courses on a discount (I am not sponsored by anyone at the time of writing this), as well as other platforms. You can also look at online colleges for more expensive and in depth courses (like online trade schools).
- Once you decide on a way to learn your desired skill, set aside time each day/week to work on it. Programming can be difficult, and you will get discouraged, but don’t give up. If you don’t know anyone who is knowledgeable in the skill you are learning, then you need to get very comfortable with googling, and maybe even signing up for an online forum like Stack Overflow. I also recommend working on a side project while working on your course, using the technologies they are using so you are always directly applying the new concepts you are learning.
Conclusion
Learning how to code is a complicated process, but can be very rewarding. The computer science industry is one of the fastest growing industries in the market, and is rapidly evolving. As such, it is becoming one of the highest paying industries one can go into, especially depending on what field you decide to go into, and how specialized that field is.
In the next post I will describe how to get started in web development. No matter what field you go into, I recommend dabbling in some simple web dev first as a sort of appetizer as it is easier to see what you are doing, and is practically infinitely scalable. But no matter where you decide to start, I wish you luck!