Learn to Code: How to Get Started
The tech industry has never been bigger. Pretty much everything we interact with from day to day relies on computers or technology in some form. There are many ways to start learning how to code. This article identifies possible pathways you can make into the industry.
The following is merely advice – your particular situation and journey may vary, and that’s all right. Every individual has his or her own unique path. The purpose of this article is to get you to reflect on you and what you would like to do.
Step 1: Questions to Ask Yourself
There are many entry points into the industry – there is no one “right” way to do it. The first step is to evaluate what you would like to get out of the experience. Ask yourself:
What is your learning style?
Are you able to evaluate how you approach learning something new? Think back to the last couple of projects you have done. How did you tackle those projects (especially if it was something new to you)?
What did you learn on the job while doing the projects? Or did you research first? Knowing these answers will help you craft a journey into coding tailored to your learning style. Learning to not fight with your learning style and instead work with it is imperative to your success.
If you haven’t done a project lately, you should complete something new and take notice of how you approach the project. This kind of initiative will help start to learn to code and identify what your learning style is.
Should I learn to code?
In short, yes! You should learn how to code. But remember, not everybody will love coding. The more you enjoy it, the more likely it is that you’ll be good at it, so keep that in mind. While you don’t need all the answers upfront, we put together a short self-questionnaire to help you decide.
All the excellent programs we use would’ve never come into existence without some seriously wacky minds. Great developers combine existing ideas with out-of-the-box thinking to create useful new programs.
Think about Facebook for a moment. Sure, platforms like Myspace existed before, but Mark Zuckerberg recognized a need, built upon existing ideas, and created something far superior.
We’re not saying you’ll become a billionaire, but think about the mindset that fuels innovation in the tech industry. If you’re an inventive and creative person, just imagine what you could do if you knew how to code.
What skills do you already bring to the table?
It’s very helpful to look at what you can bring to the table as an individual. Many times, past skill sets can translate well into learning how to code. The lessons of the past can help you now. Make a list of what you can bring to the table. See if you can match that with any of the pathways into the tech industry.
- Data Science – Likes to find patterns in data, a natural organizer.
- Backend Engineer – Crafting things comes naturally, enjoys puzzles.
- Frontend Engineer – Likes to perform or be creative and show it off.
- Full-Stack Engineer/Mobile Engineer – Feels equally comfortable in being creative and solving puzzles.
- User Experience Designer – Artistic and creative, likes the psychology of why and how a user feels about a website or application.
These are certainly not the only qualities that describe these particular positions. Hopefully, this gives you a bit of insight into the type of qualities you may already possess.
How much time and attention will you be able to devote to this pursuit?
Coding is very much like playing a musical instrument or competing in sports. You have to stay fresh, practice, and get those reps in to succeed; you challenge yourself to get better. It will be important to devote consistent time and practice to build your skills. Consistency is key as you are developing a habit to learn new things and think like an engineer.
Knowing how much time you can devote will be key in finding an approach that’s right for you.
"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"
Venus, Software Engineer at Rockbot
Thinking upfront about what part of the tech industry you would like to see yourself in will save you time down the road. That said, it’s perfectly normal if you’re unsure of what you want to do with the coding knowledge you will gain. These are just questions you should think about as you traverse your journey.
Step 2: Programming Languages and Key Concepts
Before you dive headfirst into a particular career track, you should choose a language and learn it.
There’s not particularly one language that’s better to learn over the other, except that Python is a little more popular. That status could change at any time and differ depending on the software engineer technologies that are popular in the area you live in.
Online Coding Courses for Ruby and Python
The most important thing to take away from a Ruby or Python tutorial or course is to learn the concept of how data flows. Learn key vocabulary words to take with you to your next destination in your coding journey. Here are some Python and Ruby tutorials to help you get started:
Head First Python by Paul Barry is a fairly comprehensive and “brain-friendly” way to learn Python. It’s currently in its second edition and covers Python 3. Covers all the basics and has project ideas in the back of the book.
IInvent Your Own Computer Games with Python is a fun and interactive way to learn the language. In its fourth edition, the lessons are updated for Python 3. The book teaches concepts like flow control and data structures. You’ll also learn learn how to choose the right tool for solving a problem.
This online learning platform has a companion book to go with the course.
Paul Craven’s course on creating arcade games with Python and Pygame can be a fun blast to the past. In this course, Craven starts with simple concepts like printing expressions to the console. Then, Craven graduates to using Pygame to add graphics and movement to our applications.
Codecademy’s Python 3 online coding course has an excellent interactive tutorial to learn the basics of Python 3. It covers all the basics. Codecademy does have a Learn Python 2 course that’s free. It’s recommended to start all new projects and update existing projects with Python 3 as Python 2 is no longer actively updated.
Ruby Learning , Satish Talim (online, free)
This free coding tutorial by Satish Talim is one of the first resources listed on Ruby’s documentation. His study notes cover most of the main aspects of the language. It is a great resource to learn coding online.
Learn Ruby by Codecademy (online, free)
According to Codecademy, you’ll come away with the basic knowledge you’ll need to go forward in your coding journey. This includes variables, loops, conditionals, control flow, etc.. Like the Python 3 course by Codecademy, it has an interactive element where you complete exercises along the way.
Introduction to Programming with Ruby by Launch School
Introduction to Programming with Ruby by Launch School is great for code newbies who have never programmed before. It covers setting up a development environment and the basics of Ruby syntax.
Learn to Program by Chris Pine
This book is dedicated to those who have never programmed before. It is recommended on Ruby’s website as a guide to learn programming concepts before doing a deep dive into the language.
Whether you choose Ruby or Python, these tutorials will give you the knowledge you need to step forward in your coding career.
Remember that the main concept to get out of learning one of these languages is to learn how to recognize patterns. Learn how to define key concepts like a variable, a loop, and a function. This move will help you when you begin to formally learn the fundamentals of web development, mobile development, or data science.
- Learn how to program using Python or Ruby – these languages are the most beginner friendly.
- While learning how to program, investigate career paths in web development. Reflect a bit on yourself and how you work and learn. Recognize where your strengths and opportunities to improve are. This knowledge will give you more of an idea of which pathway will be right for you.
Step 3: Code for Beginners Career Paths
At this point, you most likely have a good idea of which direction you’d like to go in terms of your tech career. In the process of learning a programming language, did you pick up on any concepts that you were wonderful at? Liked but need to work on more? Anything you didn’t like?
These answers will help form your decision of where to go next. Here we’ll go over the three main tracks that most people follow: web development, mobile development and data science.
Track Idea: Web Development
When you think of a coding boot camp and what tracks they offer, a web development program is likely on your mind. Web development encompasses frontend and backend development. If a boot camp or coding school teaches both in the same program, you’ll graduate as a full stack developer.
There are a lot of resources out there. Let’s take a look at some of the better options so you can hit the ground running:
Learn HTML and Learn CSS , Codecademy (online, free)
The beauty of the Codecademy courses is that there is a built-in IDE to help you as you progress. The HTML and CSS courses offered here give a great basic understanding of these languages.
HTML Concepts to Start Your Web Development Journey , and CSS Concepts I Wish I Had Known Years Ago , Career Karma (online, free)
Career Karma recently submitted guest blog posts to repl.it that covers checklists of fundamentals for HTML and CSS. Unfamiliar with repl.it? It’s an awesome sandbox to practice coding skills. If you prefer to learn by reading and researching before you start practicing, these articles cover the essentials.
FreeCodeCamp HTML and HTML5 Lessons and Basic CSS Lessons , FreeCodeCamp.org (online, free)
Freecodecamp offers HTML and CSS tutorials to help guide you through the basics. They use a lesson-based curriculum with mini-quizzes that you need to pass to move on to the next lesson.
Flexbox Froggy – CSS only (online, free)
If you are looking for a more interactive tutorial on how to use flexbox, Flexbox Froggy is for you! The gist of this site is to use flexbox to get frogs to their lilypads. This will exercise your ability to use flexbox to adjust position on a webpage. There is also a CSS Grid counterpart to the game as well!
Flexbox Zombies – CSS only (online, free)
Flexbox Zombies is an interactive game that features a storyline. Your objective is to use flexbox to aim your crossbow or your laser weapon to do away with the undead.
Here are some tutorials to set you on your way:
“ So easy your human companion could do it too!”
This prepares you for interviews. You might have to describe the difference between a variable declaration with ES5 keyword “var” vs. using the ES6 keyword “let”.
Freecodecamp works well in this regard with its presentation of the material. The learning platform is very similar to the platform used for their HTML and CSS lessons.
URL: YDKJS README.md screenshot
The series is also available in paperback ($).
This portion of the article covers the surface of information available to you to learn web development. If you can work through even half of these tutorials, you are well on your way to a new career in web development.
Mobile application development encompasses pretty much anything you would create for your smartphone. Most companies specialize in either Android or iOS development, but some developers choose to do both. The challenge that comes with mobile development is that you have to think about creating apps to meet user expectations without losing efficiency.
Why choose mobile development over web development? It’s all about what you’d like to do, what’s available in your area, and what types of problems you’d like to solve. In this section, we’ll talk about the differences between learning Android and iOS development. We’ll discuss the languages you’ll need to start learning to create mobile applications.
Android development involves the use of Java to create applications. Google has started to encourage developers to use Kotlin for their newer Android apps.
Coming into the mobile development field with no knowledge possibly of either language, you have a choice to make. Should you learn Java, Kotlin, or both?
My answer will always be: the more you learn, the better. Learning Java will make learning Kotlin easier since Kotlin is essentially a more efficient way to write Java. Java and Kotlin share many of the same concepts, but Kotlin is less verbose.
Of course, please go with whatever is more popular in your area. If you see more job opportunities asking for Kotlin experience, go with Kotlin; if you see more asking for Java experience, go with Java.
Here are a few tutorials in both languages to help get you started:
Learn Java , Codecademy (online, free)
Codecademy is at it again with another great tutorial to learn the basics of Java. They have an interactive environment that has an IDE, along with tutorials, to lead you through a basic Java curriculum.
Java Programming Basics , Charles Mulic on Udemy (online, free)
Udemy has a fairly short free course on Java programming that starts with beginner concepts such as variables, types, and classes. Mulic covers how to get started with the Java SDK so that you can quickly practice coding. This is a helpful primer to help you get started before you get to more difficult topics.
This is one of the only tutorials that talks about programming basics in addition to teaching about the Kotlin language. This works great if you need a lecture-style video to help you along.
Kotlin Bootcamp for Programmers , Google
This course for folks who have decided to learn Java first and want to learn Kotlin.
Apple’s mobile operating system (iOS) is featured on all of its portable devices. When Apple embarked on the mobile development journey, they used a language called Objective-C to create those applications.
Since then, a language called Swift has replaced Objective-C as the preferred way to create mobile apps. Apple hails Swift as “Objective-C without the C”. If you’re anyone other than an experienced programmer, what does this quote mean?
Think of Swift as the Kotlin of iOS. It’s a bit more distilled than Objective-C, just like Kotlin is a less-verbose version of Java. Swift improves upon what Steve Jobs created so long ago and is being pushed over Objective-C as Apple’s favored language selection for iOS apps. Here are some primers to get you started:
Learn Swift , Codecademy (online, free)
Codecademy has created a fairly comprehensive introduction course on Swift that will get you started on your iOS development career.
100 Days of SwiftUI , HackingWithSwift.com (online, free)
100 Days of SwiftUI focuses on building applications, and learning programming concepts from the ground up to form a habit. The first 15 days take a look at basic programming concepts and how to do them in Swift. The following concepts focus on the UI and how to create a beautiful interface for users.
Choosing mobile development is an excellent way to go if you want to focus on creating applications for mobile devices. Whether you choose to go the Android path or the Apple path will depend on your interests and career goals. These study guides will help you figure out which direction in mobile development is more for you.
The final track we’ll take a look at has a fairly robust history: data science. It’s a term that was only first published in an article on the subject in the early 2000s. As a mashup of computer science and statistical modeling, the field requires an understanding of statistics and programming.
The programming/coding aspect of data science involves Python mainly, although R is becoming increasingly popular. Here’s a list of data science libraries that you will need to learn:
There are many, many others, but these are the main ones to get familiar with. The documentation for each of these libraries is fairly good and straightforward.
As the need for data analysis grows, the need for people who can interpret and create visualizations of data grows. Data scientists are probably one of the fast-growing careers today and, depending on where you live, can be desirable.
In addition to learning the concepts above, it’s good to practice coding using the programming languages listed above. This way, you don’t lose the skills you’ve developed already. Create an account on Codewars or Hackerrank and start to code up simple algorithms when given a prompt to solve. This mover will come in handy when you start to prepare for interviews when you look for a new job.
There are so many ways to learn to code for free online. With a little time and patience, you’ll build the skills you need to become a web developer, mobile developer, or data scientist.