January 12, 2020

So You Want To Learn To Code?

So you’ve decided that adding some coding skills to your skillset is the best move. Good. Currently, learning to code is all the rage. At the moment, no other skill is in more demand and no other skill offers such a low-bar to entry and ease of accessibility than coding. For decades the professions that traditionally paid the highest, (doctors, lawyers, bankers) all required bachelor’s degrees in addition to numerous years of post baccalaureate study and training.

In many cases, programmer or software engineers (professional coders) salaries can equal or even exceed the salaries of many doctors and lawyers. At this point, you may be saying to yourself, “It all sounds good, but how am I gonna get from coding after work or in my spare time to a six figure career?” “Where would I even start?” “Is that even realistic?” The good news is if you’re asking yourself these questions, you’ve already begun the journey.

At this point, you may be googling topics such as “Learning to code”; “Which coding language should I learn as a beginner?”; “Best languages to learn in 2020”. As a result I can guarantee that you will feel overwhelmed as every tech blog and junior dev recommends every language known to man or machine.

Here’s where I tell you to STOP googling and CLOSE all of those tabs…

Below is my road map for building the foundational skills of a modern tech professional along with learning goals and personal challenges for each section. Even though we’re talking about coding specifically, many of these skills will eventually translate and make you a stronger programmer.

Each section includes: Starting Points, resources that I first discovered on my coding journey to help you get started TODAY; Goals to help you track your progress and growth; as well as Challenges to help you push your limits of knowledge and understanding.

Take Serious Stock of Your Tech Skills

Your first step should be to take a hard assessment of your current tech skills and capabilities. What is the difference between Windows, Mac OS, and Linux? Have you ever used the Command Line? What are the major components to a computer? How does the Internet actually work? While you don’t have to be an IT wizard to be an effective programmer, knowing the answers to these questions and other basic computer knowledge will take you a long way in building up your tech skills

Six months before I started a single code tutorial I realized that I didn’t know the answers to any of these questions, but I didn’t allow myself to be discouraged. I did some googling and discovered the Comptia certifications. The Computing Technology Industry Association or COMPTIA is one of the IT industry’s top trade associations. They set the bar for what IT professionals should know. The A+ certification is widely considered the industry’s entry-level certification and is offered in two parts: A hardware section as well as a software section.

I HIGHLY recommend this certification as a starting point for ANYBODY wanting to transition into the technology field. There are plenty of online courses offered both for free or low-cost through sources like Udemy and Coursera, with books and study guides readily available on Amazon. Through the course of this certification you will learn hardware, software, networking basics and how to troubleshoot issues with all three. This knowledge is invaluable because it will take you from total ignorance to knowing your way around a computer.

Starting Point: This course is available on Udemy for $12 and includes both the hardware and software sections. Taught by seasoned technician Mike Meyers, this course goes in depth as he walks you through each chapter of study. His book is available on Amazon for $32 and is the perfect companion for the course, as well as a stand alone reference.

*If you’re feeling overwhelmed by the information in A+ or you feel like it is a bit over your head DON’T GIVE UP! Check out Comptia’s IT FUNDAMENTALS which serves as a precursor to A+, and serves as an intro course to “basic IT skills everyone should know these days”.

Goal: To learn the basics of hardware/software integration and learn to troubleshoot both. Also learn the basics of network and Internet connectivity and learn to troubleshoot both.

Challenge: Research specs for a coding workstation and either build from scratch or refurb

Finding Your Niche

During my research at the beginning of my coding journey, I really had no clue what language to undertake and honestly I felt overwhelmed. As I began to narrow my search by the “...for beginners” parameters, I began reading a lot of advice suggesting that I start my coding journey by looking towards my destination. In other words, what kind of job was I looking to get within the field and what coding languages would that job require? This piece of advice was probably the single most valuable advice I received.

Enlightening as this advice was, it also came with challenges as I had no clue what jobs there were and was completely ignorant to the career landscape. So after you brush up on your basic tech skills, it would be worthwhile to start exploring careers in the field that interest you. There are hundreds of different coding languages all seeking to complete different tasks. THERE IS NO ONE SIZE FITS ALL LANGUAGE! Allow me to illustrate:

If you’re interested in Game Development, C-based languages like C# and C++ would be worth learning. If you’re interested in Machine Learning and AI, python would be the way to go. In my case, I’m a Full Stack Web Developer which entails a full suite of languages: HTML, CSS and JavaScript to make web pages and apps look good and do interesting things, but I also use node.js, python, and SQL behind the scenes in order to talk to databases. So the most efficient way to learn a language is to find a field that you’re interested in and learn the languages used.

Starting Point: Popular online job boards like Indeed and Glassdoor are good places to start when looking for jobs and their qualifications. Keep in mind that most technical job postings are written by non-technical people and listed qualifications are not always set in stone. Do not let these postings discourage you, instead use them as a road map to plan out your journey and all the skills you’ll need to learn.

Goal: Expand your knowledge of the tech career landscape, find a niche that interests you, research any languages used.

Challenge: Come up with a career roadmap where you pick a job or career field and any languages used. Sign up for any online tutorial and begin studying the language.

Command Line Interface

Oftentimes referred to as simply the “Command Line”, learning the CLI is one of the most beneficial tools you can have in your toolbox. Every operating system comes with a command line out of the box; In windows it’s called the Command Prompt, in MacOS and Linux it’s called the Terminal. Whether you’re in IT, web development, a software engineer, or security analyst, command line skills translate into any field across technology and is worth learning early.

Learning the command line is also critical early in your journey because it gets you used to giving the computer commands and interpreting its response. Developers use the command line for everything from downloading applications and utilities, to organizing files, to running programs and scripts. In IT, Systems Administrators use the CLI to monitor network connections and traffic. There are many free tutorials available online which teach you basics of the command line like how to navigate through the file structure, adding/moving/deleting files, and downloading applications.

Another reason why learning the command line is useful is learning syntax. Every language has its own syntax. Just like human languages are governed by syntax so are computer languages. Syntax dictates the order in which commands are structured and given to the computer, and learning the command line is the most basic and rudimentary example. Many languages have complex and difficult syntax that can be challenging for beginners. Becoming well versed in the command line helps to break down that barrier.

Starting Point: While there are endless command line tutorials available on YouTube and other online outlets, I have 2 that I recommend for non-tech beginners. The first is Learn Enough Command Line to Be Dangerous from the Learn Enough project. They give you two chapters free before you have to sign up for the subscription, but their tutorials are very in-depth and they include projects for every chapter. I would recommend paying the subscription in order to access their full offering of languages. The second is Codeacademy. I LOVE Codeacademy for non-tech beginners because their user interface (UI) is very user friendly and they do a good job using cartoons and animations to illustrate complex concepts. While Codeacademy offers a paid subscription as well for their PRO courses, their free offerings are very expansive.

Goal: Understand the differences between the Graphical User Interface (GUI) and the Command Line Interface (CLI)

Challenge: Sign up and complete an online CLI tutorial

Stay tuned for Part 2 of this post where I’ll be addressing topics like what kind of educational resources there are to improve your knowledge, as well as how to start building your online profile.

See More Articles

Next