If you think about how websites, mobile apps or any software programs are developed, coding is almost definitely involved. That’s why it can be valuable to learn how to code.
Coding communicates instructions to computers through languages that they understand. There are many paths you can take to learn coding, depending in large part on your goals.
You Want to Change Careers
Learning coding can help you switch to a position such as a web developer, computer programmer or software engineer.
“Sometimes, they’re used interchangeably, especially developer and engineer,” says Koma Gandy, vice president of curriculum at Codecademy, an online learning platform that teaches coding. “But I think a programmer is a little bit limiting, because it really seems to focus more on the application of syntax or of a particular language or a particular approach, whereas a developer or an engineer – those really refer to the act of using your knowledge to be able to solve problems and then to deliver solutions that address a particular need.”
The Bureau of Labor Statistics defines a computer programmer as somebody who will “write and test code that allows computer applications and software programs to function properly.”
Computer engineers tend to work on collaborative projects with a lot of technical details. For example, they might be assessing what went wrong with the Boeing 737 MAX airliner model, says Ira Pohl, professor emeritus of computer science at the University of California–Santa Cruz, who now teaches coding courses online.
“A coder might be just somebody at Electronic Arts who’s given a part of a project for developing some basketball game or something,” Pohl says. “They wouldn’t necessarily have to adhere to a technical standard. But it’s not a clear boundary.”
Other jobs that require coding knowledge include data scientist and user experience designer.
You Want to Be More Competitive in Your Current Career
Learning coding can help you advance in your current career, even if you don’t plan to completely change fields. You might be in a role where you need to keep your tech skills up to date, or perhaps you want to move into a higher-up role in your field.
“I’ll talk to a lot of people who are data analysts who want to move up to data scientist – that kind of incremental career change,” says Liz Eggleston, co-founder of Course Report, a hub for industry research and reviews on coding boot camps. “Regardless, I’d think of your specific career goal. Learning to code right now especially is a way to future-proof your career.”
Coding skills can benefit a marketer who needs to better analyze data, sift through databases or work with unwieldy spreadsheets. In journalism, coding can help data reporters dig into databases, build visualizations, and collect and analyze data. In finance, it can help analysts automate tasks and manage large data sets.
Those with leadership experience could transition to manager roles in a company’s IT department, Pohl says.
You Want to Have Some Fun
For some people, coding may just be an opportunity to try something new. Maybe you want to build your own website, work on your problem-solving skills or simply satisfy your interest. This is particularly true for college-aged students who want to see if coding is the right career path for them or to see where learning coding can take them, Eggleston says.
Start learning coding by understanding the different markup and programming languages used to accomplish different tasks.
“There’s no programming language, especially for a beginner, that is not worth learning, because it’s about the discipline and learning how to think like a programmer and learning how to solve problems using those tools,” Gandy says. Once you start learning coding and have a better idea of your specific goals, she says, then it may make sense to hone in on a specific language or languages.
In many engineering or developer roles, knowledge of multiple programming languages can be necessary, Eggleston says, adding that in a higher-level position, you typically need several of them.
1. Why Learn HTML
HTML stands for hypertext markup language. It’s one of the first things you learn about at a coding boot camp, Eggleston says.
Basically, it’s “a way to design a page on the web,” Pohl says. “So think of it as an editing language.”
Eggleston notes learning HTML by itself probably won’t land you a new career, but it can help you update your blog or better understand technical search engine optimization.
Coders need to learn HTML – which technically isn’t considered a programming language – if they want to work in web development, Pohl says.
HTML is a common entry point for those learning coding because everyone is familiar with the internet, Gandy says. HTML is the skeleton of how websites are built, but it won’t allow you to make bigger changes to the website’s appearance. That’s where CSS comes into play.
Here are some basic resources for learning HTML:
2. Why Learn CSS
Cascading style sheets, or CSS, and is used to describe how a document written in HTML is presented visually. Gandy says CSS is often used to enhance a website’s appearance. If HTML is the skeleton of a website, CSS puts clothes on it.
Learning CSS also allows you to build webpages that can be accessed across formats, including mobile, on-screen or by voice.
Maybe you run an e-commerce business and want to display different items on your website, Gandy says, or you’re an independent businessperson who wants your website to have a slicker appearance. You would use CSS to do that.
Here are some basic resources for learning CSS:
4. Why Learn Python
Python is a high-level, object-oriented programming language. Because it’s a general-purpose language, it can be used for scientific computing, data science and machine learning, in addition to web development.
Gandy says Python is popular because it “lends itself to a lot of different applications” and has a lot of entry points into back-end development, data analysis and data science.
“Sometimes people get a little bit thrown by thinking about data science or data analysis, but again, it’s very relatable to a lot of different things that people do in their daily lives,” Gandy says. “Being able to help people use tools to analyze and drive insights from data is a very important skill.”
Here are some basic resources for learning Python:
5. Why Learn C or C++
Pohl describes C, which was developed in 1972, as a “granddaddy of many of the modern languages,” and it’s still used heavily in the telecommunications industry today.
“For a language from that era to be so heavily in demand shows that it has some special value to it,” says Pohl, whose online course teaches C to beginning programmers.
He adds, “C was clearly thought out to have very straightforward translating ideas from high-level language to machine. In fact, C is called (an) ‘assistance implementation language’ to show that it’s meant for building systems, because it’s fairly close to the system, but you can still write at a fairly high level.”
Gandy, however, recommends that beginners start with C++ instead of C, unless they want to learn about embedded systems and hardware programming. According to Codecademy, C++ is commonly used for “performance-critical applications and efficient memory management” and in industries such as virtual reality and software and game development.
Pohl describes C++ as a “modern offspring” of C.
Here are some basic resources for learning C and C++:
This will depend on a number of factors: what type of learning you’re pursuing, how much experience you have with coding and what your goals are. You may consider the following options.
Introductory Online Courses (1-2 Years)
There are plenty of free online classes to get your feet wet in coding from edX, Coursera, Udemy and others. Through many of these learning platforms, you can earn certificates upon completion at a relatively low cost.
You can also turn to coding-specific online platforms like Codecademy to access free practice lessons and gain a basic knowledge of different programming languages. To take it to the next level on Codecademy, you can enroll in job-specific courses to complete real-world projects, receive step-by-step guidance and earn certificates of completion, for $20 per month.
Eggleston estimates that learning to code as a beginner on your own can take about one to two years. But this approach requires greater self-discipline and motivation compared with instructor-led offerings.
“That’s going to require you to sift through a lot of resources, a lot of information – build your portfolio, find a mentor, probably try to find a group of people that you can at least build projects with or learn alongside,” Eggleston says.
For career changers, self-teaching coding can be difficult because it’s tough to determine when you are qualified to start applying for jobs, Eggleston says. But if you commit to teaching yourself, complete online classes and develop your network, she says you could be ready to apply to an entry-level coding job in two years.
Consider the following introductory courses and resources:
Coding Boot Camps
Coding boot camps are the middle ground between taking free online courses and pursuing a degree in computer science or a related field.
As opposed to degree programs, boot camps focus on developing job-specific skills. In the online format, they generally last for about 24 weeks and cost around $12,900, Course Report found. Companies like General Assembly, Flatiron School, Bloc and Coding Dojo offer boot camps.
Coding boot camps are generally career-focused, and a majority of graduates land jobs. Eggleston says the benefit of boot camps is that your roadmap is defined, and there are opportunities to collaborate with mentors or career coaches along the way.
“That’s just the amount of time it takes to get your first job as a programmer,” Eggleston says. “But really, software engineering is a lifelong learning journey.”
Tech is always changing, and you will learn more about coding as you progress to higher up roles, Eggleston says.
Online or In-Person Degree Program
A degree can be a good option for somebody who has the time and money to spend learning a field like computer science or software engineering – but that might not be possible for many working adults. There’s a lot more material to cover compared with an online course or a boot camp, Eggleston says.
“If you do go that (degree) route, you’re going to learn a lot of the theory behind computer science,” Eggleston says. “You won’t do a ton of those practical hands-on projects; you’re not going to be deploying code as a (computer science) undergrad. But you are going to be learning a lot of the theory there. And that can be great if you want to get super senior in your role one day.”
Degree programs can last two to four or more years.
Developing a portfolio of projects is key to demonstrating your mastery of coding, Gandy says. This will show employers you are prepared to fulfill the responsibilities of a job in the field or a new role in your current field.
To make a portfolio, you could volunteer to complete a coding project for a nonprofit organization, build a clone of your favorite mobile app, or create a personal website for yourself or a friend, Eggleston says.
No matter what steps you take to learn, consistent practice is key, Gandy says. Getting stumped and feeling challenged is part of the learning process. She recommends learning how to debug other people’s code, as well as your own, so you don’t make the same mistakes.
“I think it’s important for learners to reach out to other learners, to show them their code, show them what they produced, and say, ‘Hey look, this is what I built, what do you think about it?’ And get feedback,” she says.
For that reason, it can be beneficial to join online coding forums or communities, which are available on Codecademy as well as websites such as GitHub, Reddit and Stack Overflow.
“Really being successful is about knowing how to ask for help, knowing how to lean on your peers, being part of the community, and just always working on learning new things and applying new concepts,” Gandy says.
Experts say staying motivated and persevering through challenging projects is essential when learning to code.
“It generally depends on the amount of time that (the) learner has to practice, the consistency with which they practice and their ability to push through times that might be difficult,” Gandy says.
Pohl says that to become a successful programmer, you need a logical mind. You also must pay close attention to detail and enjoy solving puzzles.
When it comes to higher-paying programming jobs at Microsoft or Google, “the critical skill they’re looking for is somebody that has both the persistence and ingenuity that might go along with solving the difficult puzzle,” Pohl says.
Eggleston says those in the field need to commit themselves to lifelong learning. The programming languages that are most common today may not be in a decade or two. “You have to be passionate enough about it to continue evolving and growing as a developer.”