You see, I spent countless hours watching youtube videos trying to figure out the best method to learn to code in a way that not only gets me a job but also sets me up for a great career as a Software Engineer. So, I had to try out many different things that people were recommending on Youtube.
After learning all this, when I looked behind to check where I had reached, I was in the exact same spot where I started: I was Jobless. If only there was a video that gave me all the steps I need to take to learn programming in a practical way, I would not only be in the exact same place as today in much less time, but I might have also become a better programmer.
There are some other advanced technologies
As you might have already guessed, this path is long and hard for beginners. The next popular option is learning Python which most people recommend. Python has many applications in the backend, automation, and data science. Syntax of python is very simple and easy to pick. Python will also give you an advantage in coding interviews because it requires fewer lines of code for the same amount of code. Due to all these advantages, I had recommended Python in my post on the Fastest way to learn to code and get a job.
But, this video is not about taking shortcuts. What we need to understand is that all this ease of learning comes at the cost of performance. I don’t want to get into too many details here but Python is slower than other programming languages like Java or C++. That’s because it’s dynamically typed and it’s an interpreted language. Just know that Python is slower. Another issue with Python is that it has limited support for concurrency. For these reasons, Python is rarely used to build complex backend systems. If I look at my own experience, most of Amazon’s backend is written in Java and most of Google’s is in C++. And I have so many friends who work on the backends of companies like Microsoft, Uber, and Facebook and they don’t use Python in their services at all.
Since my goal from day 1 was to become a good software engineer and get a job, I would actually pick the third option, Java. Along with the performance benefits I just mentioned, Java has some other advantages for beginners. Java is a mature language and there’re a ton of resources to learn Java. Because it’s a compiled language, errors in Java can be caught at the compile-time and are very descriptive. Since Java has been around for so long, you can find solutions to most errors on Stack Overflow which makes it very easy to debug. We’ll see how to use this documentation in a moment when I cover how I would learn Java. And that is: Once you’ve learned Java, you can pick up any other language very easily. For me, I started with learning Java. When I felt I needed Python to speed up my interview performance, I picked it up in a couple of weeks.
And as I switched jobs, I had to program in C++, Golang, and some other languages and I never had any problems. If you have watched any of my previous videos before, you know that I am a firm believer in learning by doing. So, instead of falling asleep while watching a long Java tutorial, I would actually get to work and start coding. Let me show you some resources that I would use. The best free resource to learn Java interactively is this aptly named course called “Learn Java” on Codeacademy. On top of covering basic concepts like variables, if-else statements, and loops, this course also teaches slightly advanced concepts like Object Oriented Programming, Encapsulation, and Inheritance. I would pay special attention to these advanced concepts because these are the fundamentals of Software Development. Each chapter comes with a free “Lesson” portion and delivered “Quiz” and “Project”. I would focus on the free lesson part for now.
It also provides you with a way to write and run all the code within the browser. If you’re stuck, you can also get a hint. Here are 2 things I would not do while using Codecademy. Number one, I would not copy-paste the code.
I can also try to debug the error using the Java documentation. For example, in this error, I can see that the print line function doesn’t exist. So, I can go to the documentation and figure out what functions are actually available to me. If I could spend some money, I would do this course called “Learn Java from scratch” on Educative. This course is very comprehensive and also gives you challenges and quizzes at the end of every chapter. Now that I have learned Java, I’ll move on to the next step, which is Step number 2: Build Guided Projects. In this step, I will follow along with instructors as they build some cool projects in Java. There are many options that I can choose from but here are a few examples. For my first project, I would follow this tutorial from freecodecamp where the instructor builds Sudoku from scratch.
so articles is over now if you want to know more about it please comment down below.