A Beginner Friendly Programmer Guide

A Beginner Friendly Programmer Guide

When I was new to Computer Science, a lot of times, I wasn’t sure if I was  doing  things in the right way or not. I always felt frustrated by the loTs and loTs of programming languages and frameworks, because I don’t know which one to choose. I always had a feeling that I should learn all the things together, which made me more depressed as to how could I learn all the things in a short span of time.

With time, I learned quickly that how the things should be done in the right way and also there are many ways to do the things in a right way and one way is better than the other. Thus, I want you to know about those ways and some other things, which a beginner should keep in mind, while starting a career in programming or generally in Computer Science.

Learn the core skills of Computer Science first

Learn the core skills first. The core skills are things  like data structure and algorithms.

You can skip learning data structures or logic building and can directly jump into learning mobile apps or anything other skill set you want, but I assure you learning these skills will make you a better programmer. These are the alphabet letters of Computer Science. These are the skills, which will never change. Have you ever seen a new version of linked list or stack? At a minimum level, you should be familiar with Stack, Queues, Trees, Graphs, Linked List. If you don’t have a Computer Science degree, try to learn these skills in one month and you will end up being a better programmer.

Pick up one thing and stick with it for some time

Stop trying to learn everything at once. I am serious, as it’s not how learning a new skill works. Stop trying to compare different languages. Always start with one, which makes you feel more comfortable. For me, C# was the language, which I love to code with, it can be different for you, so always start with most comfortable one. If you keep looking up for different languages and comparing different frameworks, you will end up in a loop and never learn a single thing. Always have this question in mind: “Why I am Learning to code”? If you want to make mobile apps, you should choose from Java, Swift or C#. If you want to make a Web Application, you can go for frameworks like Ruby on Rails, Django, or ASP.NET. Always start with the basics and then move towards the next level. Learn the core skills first for example, when you are learning Web development. Start with HTML, CSS and the other skills like AngularJS or other framework can be learned later. Hence, you should always pick up one thing and stay with it for some time.

Remember the end goal

Don’t just learn any technology without a specific goal in mind, always have a goal in mind that why you are learning a specific technology. You should have some pet project, which can be developed with the technology. It can be a mobile app, or Web app. Remember, you should pick a pet project, which has a sufficient amount of complexity, but not some epic Application, which takes years to build or else you will feel demotivated or even you may want to quit. If you don’t have any pet projects, try to make a project for a friend or an uncle, who owns a small business specific to their needs. End goals will always keep you motivated and makes learning new things; a pleasure.

Be a specialist rather than a generalist

Again don’t try to learn all the things or simply don’t be a jack of all trades. You should always have some specialization in something. The rule of specialization is that the deeper you specialize, the fewer opportunities you will have, but the more likely you will get to those opportunities. Specialization will make you more valuable. I am not saying that you should not learn new technologies but be a specialist at least in one field first and try to learn other things later. Also, you can always change your specialization to something else later, when required.

And the last one -- be consistent

Yes, be consistent. This one is the most important step, when starting out learning any new thing. You must make progress every week, every day or two is even better.

Yes, you are going to be frustrated, angry and even some times, you will want to quit. Learning to program is sometimes hard, but remember the winners are always consistent; no matter how many hardships they face and at the end, celebrate your wins. Let the people know you build something, believe me, it will create a lot more motivation, more determination in you. Prove to yourself that you can do it.