Second part of the series when I talk about how I learned programming by myself.
One of my reasons why I am fascinated about programming is the amount of possibilities. There's always something to learn, always something you could be better at, something you could use to become more flexible with coding. So many great new technologies which you could learn. In order to get somewhere with your skills, you have to practice a lot as often as you can.
One hour of everyday practice is much better than 7 hours on one day of a week. Creating this habit of practicing is going to change your behaviour in the long term which will lead to being used to read and write code and being good in it.
Build a fully responsive website with some interactivity. The main thing is to get yourself confident in the area of HTML and CSS , that's why focus on this area the most. You want to have confidence in your basic skills of building websites.
Important stuff to cover in this section is to focus about popular concepts in CSS. When you're on start of your road, you'll learn the stuff which will be used in around a year or more when you'll get your first job. For example my first React App, has been made with CSS Grid, which support grew a lot within last year and it's used more and more often.
Understanding Flexbox is one of the crucial skills in your CSS belt, I think it's one of the most used style property that I use on my daily basis.
To sum up, few CSS properties that you should get to know to the core:
When you watch the video with the course and you program together with a teacher, you test that what the teacher says works and you feel good, because you wrote something that works. Actually the teacher wrote that and you've rewritten it. Be aware that if you do that, you grasp a little of how does it works, but you actually don't know how to write it itself. That's why I recommend 3 steps of working with online courses.
This was a great way of learning for me, because I knew how the app should work and after watching it Second time I actually knew how it should be implemented. On 3rd step, when you program all by yourself, you figure out how to finish the app.
This course introduces you to a few interesting Web API's which you'll probably use in your daily job. After going through all of the materials in this online course, my recommendation is to take 1 application which you liked the most and play with it by remaking it and adding more features to it. I actually took the webcam fun and built added a few features to it.
While doing the courses and reading any book, take notes! This is unbelievably helpful in remembering all the great stuff you can learn. When try to actually create something by yourself with knowledge from those courses and books, notes written by yourself will be there to give you what the power of the course written down in your personalised way.
That said, I am going to recommend you the only framework I know - React. This is my favourite one, I tried once Angular and didn't understand it at all, so I went back to React. This awesome framework is actually a library with great and awesome open-source tooling around it, which makes it a framework. What's React exactly you can find out at reactjs.org, I am gonna write I few points, why I think React is the best framework for beginners.
For example this website is probably the only one website you need to learn about React. It has gathered enormous awesome knowledge about this framework.
You learn React once and you can use this knowledge and way of working for all the platforms you like - Web, Mobile, Desktop. As a beginner this is awesome thing, because you want to learn enough to get a job first and then you can go with it wherever you want.
This makes you a very flexible developer. I've been working with React for more than a year and almost a year with React Native now. I love it and I don't plan to move from it.
In the first post I recommended to skip this course at first, so the first place on React you can go is codecademy. It has a two-part free series explaining what React is and how you can use it. As mentioned on this blog many times, codecademy.com is an awesome tool while starting coding. Also when you'll go through all the freecodecamp courses on the Web Development path, you will probably understand it very clearly.
When you'll go through all those courses, there's time to practice. My recommendation is of course - build something! When I was learning React 1 year ago, I took one of the assignments I had while failed interview and spent as much time as I had to create a project out of it. This is how I created New York Times Article Search which you can test here.
If you want to learn React, you should build something similar to this application, try to built it only with React, without Redux state management system first. Then you should understand how React exactly works and why you need Redux.
If you have done all those steps I mentioned till now, you should have a few applications on your GitHub and you can now try to send out some CV's.
As you can see, there's a ton of free knowledge on the internet and you can learn everything by yourself. You don't have to pay for any knowledge if you're working hard and practicing as much as you can you can get your first job for free. That's why I focused on free courses in first blog posts.
In the next parts, I'll try to explain how to go further from this place and I'll try to write about most popular of the paying services available.
Stay focused and practice.
See you next week!
July 23, 2018