Fastest way to learn coding for FREE and get a job

You don't need a computer science degree to become a software engineer. In fact, you can even learn to code for free. Take a look at my comprehensive curriculum that shows you the quickest path to becoming a software engineer. ⚡️

A Computer Science Degree

What I learned from working at big tech for 8 years is that you don’t really need a computer science degree to become a software engineer. For example, one of my colleagues was a US navy officer. His first job after completing a coding bootcamp? A software engineer at Microsoft. What if your degree’s in literature? Doesn’t matter. You just need the right skills and commitment to set foot in the industry. Knowing what I know today, what would I do differently if I could go back in time? How would I optimize my path to becoming a software engineer? Today, I’ll share the fastest way to go from zero to a full-time software engineer for FREE. The entire curriculum is available here. Just for context, I’m PK, a software engineer in Seattle. I used to work at Microsoft, Amazon, and ebay.

Python

To learn to code, you must first decide on a programming language. There are many languages like C, C++, Java, and JavaScript, but for beginners, I recommend Python for two reasons. One, it’s the most beginner-friendly language. One of the top reasons why people give up coding early is not because they can’t do it but because they started with the wrong language. My mother language is Java, but if I recall the countless hours fighting its syntax, I would never choose it as my first language. In coding, syntax refers to the grammar of a programming language. Computers do not understand even the slightest grammatical error, which is why a language with easy syntax is crucial for beginners. And Python is it. For example, this is the code for printing “Hello world!” in Java. This is the equivalent of Python. This simplicity is why I made a Squid Game parody of how Python could even save people’s lives.

Printing “Hello world!” in Java

Printing “Hello world!” in Python

Master Python

Some argue that you should jump straight to more serious languages like C and C++; however, I’m afraid I have to disagree. C++ is notorious for its convoluted syntax; learning it first is the best way to lose interest in coding. C also has a steep learning curve, with many beginners struggling with concepts like pointers and memory management. But again, you can avoid them with Python. As a beginner “coder,” you should focus on how “coding” works, not how the language works. Don’t make the mistake of learning another language prematurely either; concentrate on becoming proficient with one first. Master a programming language, and you’ll realize that all of them are virtually the same. The second reason I recommend Python is its popularity in the industry. Its wide usage in various business sectors, such as web development, machine learning, and data science, opens up multiple job opportunities. After all, if the programming language isn’t practical, how will you get a job, right?

Master a programming language, and you’ll realize that all of them are virtually the same.
— PIRATE KING

How to Learn Python

Now that we know Python is the right choice, let’s discuss how to learn it. As I explain in How I would learn to code, the best way to learn to code is always to do it. Think of it this way. You get better at soccer by playing soccer and not watching someone else play. Likewise, there’s only so much you can learn just by watching videos and reading textbooks. You must follow along, write the code yourself, do the exercises, and so on. I recommend this YouTube channel, freeCodeCamp.org. It’s one of the best places to, well, learn to code for free! Their courses are easy to follow and taught by industry experts. I learned many different languages and frameworks from their videos too. Start with their full course on Python for beginners; you can learn the fundamentals of Python without any prior coding experience.

Build Projects

Once you’ve completed the tutorial, it’s time to hone your skills by building projects. I already explained why this is essential in my past videos; I’ll reiterate them briefly here. Number one. Growth. You’ll learn significantly by doing so. Imagine building the mini amazon, Facebook, and Reddit. You’ll begin to understand how they work at a high level and be empowered to solve more challenging problems ahead. Number two. Experience. It’ll introduce you to how software engineers work in the real world. Writing code, debugging, googling, and finally, copy-and-pasting. That’s precisely what a day in the life of a software engineer looks like… (minus working lying down). Number three. Resume. By working on your projects, you’ll automatically build your own portfolio. Put them on your resume with links to your GitHub or the website. For a detailed guide on how to craft an effective resume, check out this video. You can also download a copy of it. Then, the next big question is, what kind of project should you build? Again, learn with freeCodeCamp. Start with the 20 beginner python projects here. Follow along, writing the code yourself until you fully understand. Once you’ve completed the course, it’s time to build more complex stuff. You can add more features to the small projects you worked on earlier or make something fun, like games! From a text RPG to Zelda-style games in Python, there are various free tutorials on YouTube. Personally, I made three games, including an award-winning one and a personal finance website. For more project ideas, including how I built my website, check out this video.

Coding Interviews

Cool! You’ve learned Python, built projects, and crafted a superb resume. Should we apply for jobs right away? Wrong! Everything up to this point will help you land what we call a coding interview. A coding interview is a technical challenge where a candidate is asked to solve a coding problem. Many companies, including FAANG, love to play these games to evaluate you. Some people neglect to prepare for them, arguing that coding interviews are irrelevant to your daily work. However, that’s not a prudent strategy as you’ll have to play by this rule one way or another.

Now then, how do you prepare for coding interviews? Study DSA, Data Structures and Algorithms. Simply put, DSA is the fundamentals of computer science. Coding interviews are applications of the concepts. Where can you learn DSA for free? You guessed it! freeCodeCamp. They have a complete Python course on data structures and algorithms for beginners. Having cracked many FAANG interviews, including Google’s, I can assure you that this video is everything you need to crack yours.

LeetCode

Now that you’ve learned the concepts, it’s time to put them into practice. The best platform to prepare for coding interviews is LeetCode. This is where all the software engineers, including industry professionals at FAANG, come to sharpen their skills. LeetCode is awesome because you can write code and test your solutions directly on their website. Many of the problems in their database are real interview questions, too. When you visit LeetCode for the first time, the sheer number of problems can be daunting. I mean, there are nearly 2,500! It’s overwhelming, I know, but that’s why I created a video on how to use LeetCode effectively to help you get started. Refer to it for the details, but I’ll share the two Don’ts from the video. One. Don’t solve random problems. Instead, grind the questions on the same topic until you get a “click” on the patterns. Two. Don’t spend more than 45 minutes on a single problem. If you can’t figure it out, look up the solution. However, learn from it. Then, come back to the same question until you can solve it without help. You’re ready to apply for jobs if you can solve a medium problem in 45 minutes. To help your study, I created a LeetCode cheat sheet along with a study guide and helpful resources on my website for free.

Timeline

Now, let’s take a look at the timeline. Oh, by the way. I put together a curriculum - or everything we discussed so far - here for free; just follow the pages in order. In summary, learn Python, build Projects, study DSA, and finally, solve LeetCode. If you do the math, that’s nearly 20 hours of video time on freeCodeCamp tutorials alone, which is pretty good, to be honest. University computer science lectures are generally 45 hours of class time per semester; you’re learning the essentials in just 20. In addition to the tutorials, I recommend you build at least two high-quality projects spending about 40-60 hours each. Once you have your projects and resume ready, move on to LeetCode. There’s no fixed timeline for LeetCode, but I suggest you solve at least 150 questions before actively applying for jobs.

Summary

Alright. We discussed the fastest way to become a software engineer for free. If you’re still unconfident and prefer an affordable alternative, consider giving Springboard’s coding bootcamp a try. You can get a $1,000 discount off their curriculum with my promo code PIRATEKING. Before I close, let me make this clear. I tried my best to give you the easiest path forward, but that doesn’t mean coding itself is easy. Take it seriously if you don’t want to give up midway. Realistically, if you’re determined and committed to coding at least two hours a day, I’m confident you can successfully become a software engineer within 6 to 12 months. Remember. The best way to learn to code is to do it. Start coding NOW. Like and subscribe NOW. I’ll see you at the next one. Bye.

if you’re determined and committed to coding at least two hours a day, I’m confident you can successfully become a software engineer within 6 to 12 months.
— PIRATE KING
 
Previous
Previous

FREE Web Development Curriculum

Next
Next

The coding project that improved my skills the most