So let's get started
When you enter the magical world of programming, in the beginning it looks enormous, complicated, and 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 it all 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 things, be it through reading programming books, tutorials, videos, or whatever. Remember two things from 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!
Practice everyday
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, using open source, and following tutorials. In no time, you will become a badass developer!
Don’t stop at one programming language
I’m guessing you’ve already picked the programming language, but don’t stop there. Learn other languages, you never know when you’ll be in need of them. It’s like when you move away from your parents and you have to learn how to cook because, as it turns out, sandwiches don’t exactly have enough proteins, and no proteins mean no gain. So my advice is to learn the basics of front-end (HTML, CSS, JavaScript, React - if you’re feeling brave), back-end (Ruby on Rails, Python) and no less importantly - SQL for databases. I am even learning IOS development. So wrap it up, there’s never enough knowledge.
The User is your boss
This is a very crucial step. A lot of developers forget that the user is the most important thing in this whole programming world. Without the user, who is going to use your incredible app? So never forget that you are making all of this for them, not for yourself or for other developers. Think about every app and its user interface; in 90% of the cases, what 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.
Github
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, making it 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 becoming a great developer, but it can be crucial for your development as a developer. If you are not as much of a people person as I am, I recommend that you 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 skeptical of it, but it turned me into a big fan.
Integration tests
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 they are a pain in the… It’s essential for you to be certain that your project is working when you add a new feature or 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 your bare hands (at least not when there are 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 were 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.