Skip to main content
X

Explore your training options in 10 minutes

Coding

Learn to Code: How to Get Started

Christina Kopecky - January 04, 2021


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:

Get offers and scholarships from top coding schools illustration

Find Your Bootcamp Match

  • Career Karma matches you with top tech bootcamps
  • Access exclusive scholarships and prep courses










By continuing you agree to our Terms of Service and Privacy Policy , and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

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.

Venus, a software engineer at Rockbot

"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.

While there are many programming languages, most of the concepts and vocabulary used mean the same thing across all of them. A variable in JavaScript, for instance, is the same as a variable in Python. Once you sit and learn the concepts for one language, it’ll be a little easier to learn other languages. At that point, it’s just syntax that’s different.

You can get a start on learning the terminology used in a language without having to pick a career path. Beginner-friendly languages include Python and Ruby .

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:

Python

Head First Python: A Brain Friendly Guide (2nd ed.) , Paul Barry(book, $)

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.

Invent Your Own Computer Games With Python , Al Sweigart(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.

Program Arcade Games With Python , Paul Craven(web course: free, book: $)

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.

Learn Python 3 , Codecademy(online – Python 2: free, Python 3: $$)

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

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.

To recap:

  • 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.

The full-stack typically includes HTML/CSS, JavaScript, a JavaScript framework or library, and Node JS. Some programs may also include Ruby and a Web Framework or Computer Science in addition to the base curriculum mentioned.

HTML/CSS

HTML is one of the most crucial subjects in learning to code for web development projects. HTML’s collection of tags and elements creates the bones of the site. It’ll be a little more challenging to apply the concept of JavaScript frameworks down the road without knowing HTML and CSS.

If attending a boot camp is part of your career plan, many will require some pre-course work in HTML or CSS. You may even need to know a bit of JavaScript before you start.

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.

JavaScript

JavaScript is one of the most popular programming languages in the world. It’s the magnetism that brings together HTML and CSS codes so users can interact with web pages.

Because of JavaScript’s flexibility and relatively recent changes in syntax, it is not necessarily the most beginner-friendly pathway into coding. It doesn’t mean it’s not possible, though!

Here are some tutorials to set you on your way:

JavaScript for Cats , Max Ogden (online, free)

So easy your human companion could do it too!”

JavaScript for Cats uses felines to illustrate popular JavaScript concepts. It’s a great single page basic primer on how the language works, covering many topics from variables to callback functions. Use this to get basic concepts before going on to more advanced topics.

Freecodecamp Basic JavaScript and ES6 JavaScript , FreeCodeCamp.org (online, free)

Freecodecamp offers a basic JavaScript course that teaches you the programming language with ES5 syntax. Students then graduate to a separate curriculum with ES6 syntax.

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.

You Don’t Know JavaScript Series, Kyle Simpson (online, free; print, $)

URL: YDKJS README.md screenshot

Alt text : You don’t know JavaScript Github Repo README.md

Kyle Simpson’s You Don’t Know JavaScript is a series of books about the programming language. The first edition of the series is available in its entirety. The second edition is currently a work-in-progress, but as new books are finished, they are made available in Simpson’s Github repository.

Simpson starts from the very beginning and steps through concepts progressively. This method works very well for any beginner looking to learn all the weird idiosyncrasies that can occur in JavaScript.

The series is also available in paperback ($).

Eloquent JavaScript , Marijn Haverbeke (online, free; print, $)

Eloquent JavaScript is one of the gold standards in references on learning how to write JavaScript with best practices. This book is a fantastic resource for solidifying concepts you have learned with some beginning JS tutorials mentioned above. It is in an online book format with a built-in IDE for end-of-chapter exercises. If you prefer an actual tangible product, there is an option for purchasing as well.

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 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

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.

Kotlin Tutorial for Beginners: Basics and Fundamentals for Android , smartherd

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.

iOS

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.

Data Science

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:

  • Numpy
  • Pandas
  • Seaborn
  • TensorFlow

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.

Conclusion

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.

About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.

What's Next?

Christina Kopecky

About the author: Christina is an experienced technical writer, covering topics as diverse as Java, SQL, Python, and web development. She earned her Master of Music in flute performance from the University of Kansas and a bachelor's degree in music with minors in French and mass communication from Southeast Missouri State. Prior to joining the Career Karma team in June 2020, Christina was a teaching assistant, team lead, and section lead at Lambda School, where she led student groups, performed code and project reviews, and debugged problems for students. Christina's technical content is featured frequently in publications like Codecademy, Repl.it, and Educative.

Skip to main content