So let's get started
When you enter the magical world of programming, in the start it looks enormous, complicated, full of problems and most of the time you don't have a clue what you're doing but don't get discouraged we've all been through that period.
Learn how to learn
As I said the programming world is enormous, so don't try to learn all of it at once. When you began learning how to ride a bike you didn't end up one-wheeling it the very next day. Go step by step, learn the basics first and don't complicate things. Find the best way for you to learn new thing, be it reading programming books, tutorials, videos or whatever. Remember two things out of this step: "Google is the developer's best friend" and don't be afraid to ask for help because you will encounter a lot of bugs (and suddenly realize that you hate computers). Just kidding with the last one, but you will realize that =every problem is solvable so don't give up!
Believe me - if you stop programming for a week or two, you will become slower, forget a lot of useful things and so on, like everything in life you need to practice , programming is a skill, so you need to master it by practicing on projects, open source, tutorials and in no time you will become a bad-ass developer!
Don’t stop at one programming language
The User is your boss
This is a very crucial step here. A lot of developers forget that The user is the most important in this whole programming world. Without the User, who is gonna use your incredible app? so never forget that you are making all of this for them, not for you or for other developers. Think about your every app and its UI, in 90% of the cases the thing you think is easy to understand might not be that way. Do some research and test your app on non-developer friends and of course do some tutorials. To end this step, try not to be this guy.
This step is very important if you want to get a job as a developer. Github is a web-based Git or version control repository, basically a page where you upload your code as a result, it's easier to develop projects as part of a team. It’s also great if you are searching for a job as a developer - you can post your projects on your profile and it becomes easier for recruiters and other developers to see your code. Another great thing about github is that it's practically made for open source and for you to learn from it.
Join the community
This step is not so important to become a great developer but it can be crucial for your development as a developer. If you are not much of a people person as me I recommend you to force yourself to attend a meet-up. I guarantee that you will learn a lot because it's a fun way of learning and making new friends and connections. Personally, I was very skeptic of it, but it turned me into a big fan.
A lot of developers will try to drink their sorrows away once it's their turn to do integration tests, but let's be real for a second - tests are the best thing to have on your project, but pain in the ... It's essential for you to be certain that that your project is working when you add a new feature or when you alter something .It's like washing the dishes, you don't exactly want to do it, but you sure as hell can't eat spaghetti with just bare hands (at least not when there's people around). So to sum it up, don't be lazy and write those tests.
Giving the knowledge back to the community
Don’t forget you were once new at all this so don’t be too lazy to help , remember that it was hard for you as well and there was a lot of tutorials, blogs and people around to help you. So write those blog posts, share your experiences, open source your code and help newbies.