Some background
As you may know, I'm a simple guy learning web development from scratch. I work in a full-time company as a tech support specialist but I want to get a job as a front-end developer someday.
Nothing is easy, you have to study and practice to reach your goal, trying to find some time to code is difficult, but when you have a goal in mind, nobody can stop you from reaching your goal.
Brad Traversy and his course
I went to the doctor two months ago and while I was waiting, I was scrolling down on Facebook, when suddenly I saw a post about Brad Traversy releasing a brand new course on Udemy called 50 Projects In 50 Days - HTML, CSS & JavaScript.
I didn't know Brad's methodology, and so far, I'd been learning pure theory. I did some web projects with HTML and CSS, they were good and I was excited to learn some new things during the pandemic, but I hadn't made projects that include JavaScript.
There was a promotion code for the Udemy course and well I took it to see how it looked like and I can tell you that I took advantage of it. Brad is a great instructor, he's the guy that goes directly to the point and shows you how he'd do it without silly jokes and with a normal pace, in which you don't get bored of the explanation and he neither goes too fast with it.
The course
The main objective of studying the course is to create 50 small projects including HTML, CSS, and vanilla JavaScript in 50 days (intended to be one per day), and in every project, you apply theory to practice.
What it was interesting to me is that all of the projects are intended to be components, I mean, that you can use that piece of code to include it on a big project, because they are features that you find in most of the websites on the internet.
In the beginning, I felt overwhelmed with some other courses I bought and 50 days sounds a lot, but I started following the course while coding.
After creating the habit of doing one project per day, I became more excited about it, because, in every project, you apply something new. I had never coded with DOM manipulation, that's the point where you start to like JavaScript, manipulating things on your website is when everything you've learned about loops, variables, objects, arrays, and so on makes more sense.
I completed the project and I'm really grateful for what I've learned. You can see the 50 projects on https://50daysproject.vercel.app/
I know, I don't want you to get bored with my experience, in fact, I want to give some recommendations about what I've learned and how to take advantage of this type of course.
1. Do one project per day
This recommendation has two faces, the first one is to do one project per day to not get overwhelmed. What happens is that if you do three, four, or six projects in one day to finish the course quickly, you're not going to learn the essence of each project.
Some researchers say that it's probable that you are going to forget 70% of the things that you experiment within just a couple of days. Completing the course must not be an objective, the objective must be learning.
So, take it easy, 'cause you should buy courses to learn, not to have a certificate.
On the other hand, do one project per day to create a habit. I know, it's difficult, I can tell you while having a full-time job and studying a Bachelor's in college (that's not related to software development), so make a slot in your calendar to do one project, complete it.
First days are harder, but when you force yourself at least in the first week, you're gonna enjoy it and even you're gonna find a necessity of completing the next project the next day.
If you have a goal in mind, such as getting hired as a software developer and improve your lifestyle in a tech job, make space to do it. After you complete the course, then you're gonna be looking for more projects to create.
2. Apply your personal touch
The course projects are available in a repository on GitHub, and you know that's something easy to copy and paste and create yours on a repository, but that's not the point of studying a course.
I rely on your abilities to use Ctrl + C and Ctrl + V, but that's not gonna get you to stand up out of the crowd. You might want to personalize your projects and make sure you are recognized for your effort.
I noticed that in the way Brad was doing the course, all of the projects were separated into different folders, without any relationship, and due to my OCD, I wanted to organize them with numbers and make a sort of portfolio where you can access all of them.
That's my personal touch, I added a sort of a navbar on every project where you can go back home and you see the title of the project. So in that way, people will confirm what's the name of the project, the section number and they can see the list of features I created following along the course.
I know you have better ideas than me and your creativity will show up, so it's time to do it with this course.
3. Follow along but experiment
In every project, Brad talks about the importance of adding our own features and improve the project.
He had some ideas on how his projects could be improved but that's something you have to do. Remember that the most important thing is to learn by yourself.
I know about the power of repetition and believe, I learned from it, because in every project, you do almost the same things, like creating variables for the elements in the HTML, doing a loop (either forEach or for-loop) in arrays with similar elements, conditionals, and some logic.
Everything above is very useful, but when you modify those things and break the project, is when you start learning for real. At the end of the course, you have that sense of responsibility to improve what you have done. So, it's time to do it.
4. Merge them into a big project
Every feature you make in the course it's very useful in real-life development, you can see how the features you created are used in websites you often visit.
I always find it interesting to know how nice features are made in code and when you do them, you feel very excited because you know the steps and the logic behind that feature. It's like knowing a secret and realizing how useful it could be in your personal projects.
The great advantage of the course is that you can create components that can reusable in different website. For example, a gallery of images , a loading icon , a to-do list , a notes app , a background slider , drag and drop effects , a landing page , a password generator , testimonials , etc.
Every mini project is a feature that you can include in a social media app, a productivity website, features you can do at work, or if you are not thinking about a specific product, you can do it to include it on your portfolio and show it to the recruiter in the company you apply to get a job.
5. Have fun
I think this is the most important recommendation, 'cause if you're not enjoying what you're doing in coding, maybe a software development job is not for you. I know from some friends that are developers, that sometimes they can be very stressed about their jobs, but they explain to me how exciting is to find a solution to a bug or create a special feature that looks and works really nice in a company's website.
Somebody said that if you choose a job you love, and you will never have to work a day in your life, maybe Confucius wasn't right or maybe he was, but the point is that while you're learning, you need to feel happy about what you create.
In the course we did some funny projects too, I learned and also I laughed at some projects such as the Dad's jokes generator, the insect catch game or the Pokedex.
The course helped me a lot on how to practice many things, something new I've learned is how to make API request in JavaScript, and even though, it's still a hard topic for me, I find fun in it, because I know I can create new things from that knowledge.
Keep on practicing, it may be hard, but if you really want to switch careers, you'll put your efforts into it. In the end, you'll feel satisfied with what you have learned. We have a saying in Spanish that says "El que sabe se divierte" which means "The one that knows how to do it, has fun", so, if you want to enjoy your career, first you need to put your efforts into learning and you'll get it.