Best Practices For Code Newbies
The craze and people in coding/programming is growing everyday. The days are gone when you need a Computer Science degree to learn to code. You will find student in the age group of 13-16 participating in global Hackathons.
So, with people getting into coding everyday there are a few traits/practices you must follow to continue into the field. Because coding is not a days or a weeks work. We have to work consistently otherwise it can get quite frustrating and will ultimately lead to quitting.
Below I will discuss about these practices which I have accumulated and understood through my experience and reading other's experiences on different platforms and groups.
Let's start then,
1. Dedication and Determination
These are the two most important traits you need to have in you when you get into code. Dedication is required to learn the stuff to be able to implement them in future and determination is required so that you don't quit early. Stay determined and tell yourself that you can do it. Don't loose hope and get demotivated by seeing people around you.
2. Switching Languages
Don’t do the mistake of frequently changing your preferred language. Every language is difficult when you start so hang onto the one you start. It is true that some language suits you and you like them. It can be the first language you learn or the fourth.
Sharing my story I started with Python, was't able to get hang of it understand a lot of concepts so left it out. Then got into C++ and did't liked the syntax so quit it after one week itself. Finally got into Java loved it, was able to solve problems understand everything and I here I am, continuing with Java since past one year.
3. Solve after you Learn
Never jump straight into problems. Firstly learn a concept from the source you are referring then solve the problems for that particular concept. I also have a story to tell about myself, so when I first started with Python, I read a very few concepts and directly tried to solve problems. The end result was I ended up watching solution to solve them and learnt nothing. It did't happen to me in Java because here I learned the concepts then solved, and the feeling of solving the problems is amazing.
So, never jump straight to solving, first learn the concept then solve as many problems you want. One thing very important is try solving at least one problem everyday.
Projects are an essential part of every programmer. You will not have confidence until you have built something on your own. Having a project gives you the opportunity to show what you have learned and how you have used your knowledge to solve a problem. Even it is the smallest of project you have to make it. Doing a project will increase your skills in the particular gig.
The best way to learn is learn by building.
Running out of ideas to make a project,struggling to find a team, don;t know a particular tech? Get all these doubts cleared by going to a competition. They are a great place to learn, make awesome connections, meet some great developers and experts. The environment there is all cool and calm, everyone around you is talking tech. Just imagine how fun it would be. I see many people fear results in going to such competitions but I would say just one thing:
If you win you come out with cash prizes and if you loose you come out with a cool project and some great friends.
6. GitHub & Git
It is must for every programmer to be experienced in using Git and Github. It allows you to save your projects, contribute to open source projects and many more cool features. Almost every recruiter of a top tech company will have a look at your Github profile. So make sure you know how to use it. Let us suppose you have a project and you want to make changes to it without actually changing the main project, just save it in GitHub and create a separate branch work on that.
There is more to GitHub than just this. For more info check out the official site here: GitHub
So with this we come to end of my blog and I hope you will try and implement the above mentioned.
From a developer to a developer