How Do You Learn Computer Programming Quickly?
Are you interested in becoming a programmer or software developer? What is the fastest route to becoming a competent coder?
Here’s the short and sweet Excel Shortcut answer: Get a full-time job as a programmer if you want to develop practical programming skills.
Working as a programmer full-time will allow you to hone your skills all day in a professional environment with deadlines and accountability, and it will give you the opportunity to surround yourself with other skilled professionals that will help you learn even faster.
“Get a full-time job as a programmer.” Is that the answer you expected? Don’t worry; I won’t leave you with this unhelpful answer. After all, finding a full-time programming job is itself a significant challenge. Unless you get really lucky or your dad owns a software development company, you will need technical skills and a strong foundation in computer science before landing that sweet junior programmer gig.
The more important question becomes: How do you learn enough computer programming to become a hireable programmer?
Among many determining factors, hiring managers will focus on:
- Your “X” factor – your secret sauce and how it enhances the flavor of the existing company
- Interview strength
In this article, we will focus on the first three: experience, skills, and knowledge. I’m bundling them together because you can strengthen all three of them through the repetition of applied practice.
If you’re interested in learning how to computer program at home for free, read on for details on free and paid learning resources that you can use without leaving the house.
Let’s categorize all the ways you can learn to program, then review the pros and cons and dig into the optimal paths. At the risk of spoiling this article, I’ll tell you now that the learning phases shift from passive to more active. The more active the learning category, the more powerful it is in developing your skills and knowledge.
Passive/Supplemental Learning for Computer Programming
Let’s begin with the more passive types of learning, which I categorize as supplemental education.
I acknowledge that reading isn’t a passive activity, but there is no way I will consider it an active computer programming activity.
Supplemental resources, like books and videos, can effectively introduce you to new concepts and help bridge specific knowledge gaps.
However, they should not be your primary method of learning to code.
Learn Computer Programming by Watching Training Videos and Tutorials
Many people find watching videos more entertaining than reading, especially today as patience declines and we increasingly crave more stimulating media. The kids of the near future may have such focus-depleted brains that virtual reality is the only acceptable vessel for media, each headline or keyword emphasized with in-your-face explosions and emojis pointing to every key concept.
For now, regular videos still exist, and they can guide you on your programming journey.
Gauging quality is the real challenge. Find courses with sequential lessons. Retaining programming concepts is way more effective if the lessons progressively build upon one another.
Pros: There’s plenty of material, so it’s a great way to get started for those who want to learn how to a computer program for free. For any concept you want to learn quickly, there is a video out there on it. There is absolutely no shortage of programming training videos at price points ranging from free to very expensive.
Cons: You can get locked into endlessly chain-watching videos; I call it video training syndrome (probably not an actual diagnosis). All those videos might provide you with a surface-level understanding of computer programming concepts, but they don’t prepare you to do anything.
Video Learning Might Not Be Suitable for Your Environment
YouTube or other video streaming sites might be frowned upon at your organization — or outright blocked. Learning computer programming may be the last activity they suspect when they see you wearing headphones, watching videos on the job. Make sure not to laugh if your instructor likes to crack jokes!
Plus, many organizations have a top internet usage list, and continually streaming is a surefire way to become a member. I knew a coworker who regularly made “the list.” I could always tell he was playing Tetris by the way he kept mashing those arrow keys.
Recalling concepts from training videos might be more difficult than you think. It’s also challenging to skim a video for the exact content you need, and if the video is popular, you might get ads shoved in your face.
If videos are the featured part of your training plan, generate more activity and effectiveness with the following tips:
- Actively participate with the coding instructors.
- Follow along with the tutorials.
- Review your notes from the previous lecture the following day.
- Take breaks and keep a reasonable pace.
- Remember that the speed at which you crash through videos is not important; learning to code is important.
- Do the practice coding exercises with each lesson. They are even more critical than the tutorials and will help you nail down computer programming fundamentals.
As you follow along with the videos, try to type at the speed of the instructor, but don’t always code with the instructor. Your top priority should be keeping a focus on the material. If you can easily code along or find yourself playing observer instead of participant, keep copying the code and taking notes.
Usually, programming tutorials have one long project that carries through the course. Type anything considered part of that final code right along with your instructor.
For peripheral examples, just pay attention to the lesson. Take notes on the fundamental programming concepts. You can always pause the video later to catch your code up if you don’t know if something is worth copying.
Read Books to Learn Computer Programming Languages
Books are a cost-effective approach to learning and entertainment (if you consider them part of the latter category). If you are ever on the fence about whether or not to buy a book, pull the trigger. One concept from a book is enough to justify its purchase. Plus, the library is always free unless you’re terrible at remembering to return books on time and rack up overdue fees.
Pros: E-books are a great desk reference, and coding cookbooks allow you to save coding snippets to your Scriptionary for later reuse.
Follow Online Blogs for Programming Wisdom
If you prefer to grab your knowledge on the fly or are still kicking around the phrase “Ain’t nobody got time for that,” online blogs are an optimal source of knowledge. They allow you to skim for exactly what you need and cover virtually every subject.
At the top of Google searches, you should see materials from the best companies (or those with the resources to advertise).
Since technology gets antiquated quickly, pay close attention to the publish dates of your sources.
Pros: Online blogs are usually free, easy to find, and you can access them anywhere you have an internet connection. Skimming the site is convenient for those of us without patience for reading or watching videos. Bookmark helpful sites and copy-paste any well-executed programming examples.
Cons: The quality of information varies among websites, and some blogs are difficult to navigate. Sifting through the web for programming training information is inefficient if you have to search through many low-quality resources.
Time to Get Your Hands on That Keyboard
You can develop a general foundation and learn what’s possible with passive learning techniques. However, that type of education will only help you learn about the subject matter, not learn how to apply programming skills.
Watching 40 PHP training videos in sequence will make you a great YouTube watcher, and maybe enable you to hold a conversation with a real PHP programmer. But you won’t be able to develop anything in PHP until you get your hands on that keyboard and practice coding.
Hands-on practice is the only way to make programming stick, so start typing!
Let’s move on to the next training area: structured learning.
Learning Programming in a Structured Environment
In structured learning, you have less control over computer programming activities than in other learning styles. In a structured learning environment, you place the pace and design of the curriculum in the hands of an instructor, who is possibly evil.
Signing up for a course in a structured environment is a longer-term commitment than learning to program by yourself.
At a university, you can drop some serious paper in exchange for a single piece of paper.
Pros: College provides you with a degree, and the long hours of research and computer programming lessons help build a broader, deeper theoretical foundation.
The connections you develop, and the overall college experience, you make yourself. Make it worthwhile.
Hopefully, you made some friends who have dads that own private software development companies. Otherwise, you weren’t meeting the right people.
Cons: College is expensive, and you must learn topics unrelated to programming. When your recitation of Renaissance-era poetry lands you that programming job, you can throw it in my face. Higher education is a long-term commitment. It’s also expensive and can leave you in debt for decades.
Supplemental College Classes
Take relevant classes at a community college or vocational school.
Pros: It’s more affordable and less time-consuming than a traditional degree. The curriculum is more focused too. Completing a software developer program in two years is feasible. Compare this to milking your accounts dry over the course of four years at a traditional college.
Cons: Many employers are still fixated on that traditional degree when choosing their junior programmers. Attaining a software development certificate might help you get around this.
It’s still a time commitment. If you are going the vocational route, like a technical institute, compare prices and thoroughly research it as quality can vary. Price can be very high for the product.
A coding Bootcamp is a fully immersive coding experience that jam-packs a ton of information into a tight window.
Pros: Hands-on, all-out training. Some promise a job after completion. You will surround yourself with like-minded individuals who are focused on learning computer programming. The curriculum focuses on coding, and you will get pummeled with technical knowledge. Everything is condensed into the length of roughly one regular college semester.
Cons: The price tag is still high. Your 12-week course can cost the same as a full year of public university tuition. The foundation built in 12-14 weeks might not be deep enough. The quality of your experience can vary. If you choose a coding Bootcamp, it’s going to be your life for that semester.
You already know this, but it is vital to keep practicing your computer programming skills after completing Bootcamp.
I’ll admit, much of my education falls into the more passive areas we have already discussed. My recent concentration is active programming activities.
Focus the overwhelming majority of your time on active learning. For my Pareto principle subscribers out there, spend 80% of your time participating in this type of learning.
I’m avoiding the played-out “practice makes perfect mantra,” but exercising your programming muscles is key if you want to become a proficient computer programmer.
So how do we actively learn computer programming?
Learn by Doing Self-Projects
Assign yourself projects that are fun for you. For example:
- Scrape your favorite data website with Python and Beautiful Soup.
- Automate manual work of your own with PowerShell to spare yourself some free time later.
Find small ways to incorporate programming languages into your day job.
Pros: You create the plan. Your self-interests can be a powerful motivator. Side projects are self-paced. Your side projects could eventually transform into a side hustle or even a full-time job.
Cons: Your motivation will sometimes disappoint. Force yourself to sit down and keep working longer. You might need a deadline looming over your head or a boss to threaten you to get things done.
There are ways to stay self-motivated to achieve your computer programming goals. First, set up projects that achieve multiple objectives.
Find a Mentor
You don’t have to go all Lone Ranger in your journey to learn computer programming. A mentor or tutor can help alleviate the burden. Find a friend or advanced programmer who is willing to guide you along the way.
Join a software developer group and attend some meetups. There are so many coding events for programmers if you live in a large city. Even smaller towns have coding events. COVID-19 has put a damper on live interaction, but there are virtual programmer meetups. If you can’t find any you want to join, start your own right now.
Don’t beg people to be your mentor or immediately expect to find a programming Mr. Miyagi. Put yourself out there and make developer friends organically.
Discuss programming with your new friends, and eventually, you will start absorbing the concepts. Be mindful of who provides actionable advice.
If you need a computer programming mentor now, go ahead and pay for one. I’ll dive deeper into that later.
Your programming education is still your responsibility.
A mentor isn’t responsible for your learning and development. You are. They aren’t there to alleviate all the pain in the learning experience or show you the answers.
Make your best effort and take each programming challenge as far as you can. Use all the resources at your disposal: Google, notes, books, your incredible mind, then consult your mentor for feedback.
Pros: A mentor is an excellent resource for providing feedback. They can help provide guidance and help you find shortcuts in the programming learning experience.
Cons: It can be challenging to find a good mentor. If you go the paid route, they can be expensive; however, great feedback and help with some of the most vexing programming concepts can make a programming coach a worthwhile investment.
Learn Computer Programming at the Highest Level
Use computer programming to provide value to others. When you share your programming knowledge with peers, you learn too as you organize and formulate your experience and package it to communicate with others.
This also helps you communicate your knowledge.
If the previous active section focused on developing hard skills, this area helps develop soft skills like communication and leadership. It’s like taking everything you learned and packaging it pretty for the next person. It can also be gratifying.
Learning by educating is among the advanced forms of learning. You can’t jump to the advanced material right away because you need to build that foundation first. Advanced active learning helps crystallize your existing knowledge.
Doing it for the Money
This article is for beginners who want to learn how to program. The challenge and joy of coding is enough for some aspiring programmers. Many others are enticed by the income-boosting potential of the skill. If additional income from programming is your motivation, there is a shortcut to this.
If your aim is financial compensation for your programming skills at an early level, dive into a specific programming language. Then find a niche within that. For example, if you want to learn the database language SQL, that’s too general. Make it more targeted, like, “I want to write stored procedures in Microsoft Query.” This would require you to learn T-SQL, by the way.
Now we are getting closer. Research the most rampant issues with T-SQL stored procedures on Reddit, Stack Overflow, and every site you can get your eyeballs on. Become great at solving those specific issues, or, better yet, become the best at solving a particular narrowed challenge.
When you are the best at something, you can bring value to others and reap financial rewards. No one wants to shell out cash for mediocre, well-rounded abilities. If you have a major problem to resolve, you want a specialist with the best chance to overcome that specific obstacle.
Start a Software Business of Your Own
To get paid to develop software, you need to attain a high level of proficiency. You can outsource some of the work to another developer or artist, but you need to know how to pull together a polished product for your client.
To give this a try, pick a starting client that fits. They should be flexible and patient.
Before marketing yourself as a software developer, gain some experience as a software developer in your inner network. You could even do the project for a friend or family member and charge them a small fee to subsidize the experience.
Pros: You can make some serious money off your real-life programming skills solving real-world challenges.
Cons: You’re faced with real-life pressures, and you have to attain a proficient baseline of skill.
Teach Others to Program
Use an online medium to train others, or coach other programmers face to face. Obviously, the current pandemic creates some obstacles to in-person meetings. But if you can make it work, it can be worth the creative strategizing. Here are the pros and cons of online teaching:
Pros: You have an opportunity to make money, build a reputation, and help others, and it can also give you a wide audience.
Cons: It takes time to craft quality tutorials, which means extra work to set up your own medium.
And here are the pros and cons of in-person teaching.
Pros: Opportunity to make money, build a reputation, help others.
Cons: Limited audience if one-on-one. Coaching prospects might be sparse until you build your reputation. Remember to keep your skills specific in the beginning.
Don’t wait until you acquire a ton of programming knowledge before making advanced learning work for you. Actively communicate the software development concepts as you go, and nail one concept at a time.
Professional Environments for Learning to Write Code
There are many benefits to learning on the job, and there are a variety of routes you can take depending on your degree of availability and willingness to commit.
Why not start off by going all-in?
Pros: Get paid to learn. Gain full-time experience and surround yourself with programmers who are better than you.
Cons: It’s hard to acquire a full-time job, plus you’ll be working for “the man.” Many employers require a computer science degree for entry-level software engineers.
Taking a part-time job as a programmer gives you a lot of flexibility.
Pros: Get paid to learn. There’s less commitment than a full-time job, you can work on your passion projects, and you have spare time for personal projects.
Cons: Limited opportunity, maybe even more challenging than finding than a full-time gig, since your employer will have less time to train you and think you will leave to full-time somewhere else.
You will have to develop the skills first and sell them to pull off a part-time job.
Start your career path as an intern.
Pros: Get paid to learn, in many situations — all the benefits of the regular job without the salary, or a lot less of it. Internships are widely available. There doesn’t have to be a listing for you to get an internship. Many employers will give you a shot. Interns have the inside track on full-time job offers.
Cons: Usually, you have to be a student at a university to qualify for an internship.
Active Learning Always Wins Out
So, it’s settled: Aim for active learning activities when trying to learn programming or really anything for that matter.
If you read this far, you deserve admission to this secret — or, if you just skipped to the bottom, I guess I’ll let you squeeze some knowledge juice from the Excel Shortcut tree.
Since we reviewed a bunch of ways you can learn programming, which is the best way?
If you don’t have a job as a programmer and want to learn fast, focus on active learning with lots of practice. Here is the path I recommend you take to fast-track the process:
- Start with targeted, interactive lessons — short sessions of introductory and passive learning.
- Passion projects — spend the bulk of your emphasis on longer sessions of challenging, passion-driven side projects. Aim for things that you like to do or that will make your daily obligations easier.
- Bring along a mentor or pay a freelancer to guide you. They will provide feedback and help you throw out lousy coding habits.
- Supplement with other sources to fill in the gaps.
- Keep repeating steps 1 through 4 while applying for entry-level programming jobs.
- Enroll in a short, targeted, software development path.
If you accept the process, with applied practice you will become a better programmer, have fun, and hit rewarding milestones along the way. Embrace the journey.
I hope you feel inspired to learn more about programming.