Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
March 14, 2021 01:49 pm GMT

Things I wish someone had told me when I started learning how to code!

My journey as a programmer started when I chose to pursue Software Engineering as a major after completing my High School Education. Since then, I have been programming for the better part of the last 3 years in various programming languages from Python, Java, C++, and recently JavaScript.

It is important to mention that I had literally never written a single line of code before starting my bachelor's. In fact, I don't remember taking a computer course throughout my middle and high school years. Suffice it to say, I was not like those students in my class, who had been coding as a hobby for a long time, or those who had already published entire Apps to the Play Store.

Thus, in all aspects, I was a complete Newbie. Therefore, I also had some misconceptions about programming and coding in general. It took me the better part of the last 2 and a half years to understand my negligence, and realize how mistaken I was. Thus, I am writing this blog post to help others who are new to programming like I was, by debunking some common misconceptions about learning to code.

Enough talking, let's get into it, shall we?

Focus on the Fundamentals

As a new programmer, your number one priority should be to master the fundamentals. By this I mean, you should have a grasp over concepts like variables, data types, data structures, conditionals, loops, algorithms, etc.

The reason being, once you have sound knowledge of the fundamentals, you can learn any programming language in a matter of days. At the core, all programming languages generally have the same concepts and a good knowledge of the fundamentals will help you regardless of the programming language you choose to pick up.

I can say with my own example that once you know the basics, picking up a new language will be a piece of cake. So, if you take away one thing from this post, it should be to concentrate on sharpening up your fundamental programming concepts.

Make Lots of Mistakes

Fear of making mistakes is another big reason people fail at programming. I too was in the same boat. I had the notion that a good programmer knows the exact syntax of the language in addition to writing the perfect code that runs the first time around. This notion hindered my ability to learn new things because I was so afraid of making mistakes that I never even tried them.

This concept of mine was blasted to smithereens in a very short span of time. Writing clean and elegant code that runs on the very first try and produces the correct output is nothing short of a fantasy. Even the most experienced developers cannot write fully functioning and error-free code on the first attempt. The sooner you realize this, the faster you will learn from your mistakes.

What you must understand is that most of your time coding will be spent on debugging and looking up errors on the internet. To succeed as a developer, you are not expected to memorize the entire syntax of a language in your head. I hardly believe anyone can do that.

Instead, you should focus on effectively debugging your applications. Errors are an essential part of programming. The sooner you feel comfortable with seeing red output on the screen screaming at you, the quicker you will master programming. Some of the best programmers I know or follow still spend a considerable amount of time-solving simple errors and looking up syntax that they cannot remember.

Another thing you should realize is that the first time you write a piece of code, it will never be perfect. Instead, a good practice is to first write code that works and then refine and refactor that code to make it more readable and concise.

Develop a Habit of Self-Learning

By far the worst notion you could have as a new programmer is expecting the university or college to teach you everything.
Universities follow a fixed curriculum, and while certain courses have greatly benefited me like Database Systems, Computer Networks, Data structures, and Algorithms, etc. Many courses were not relevant to what is required in the field.

For example, most universities don't teach you about web development in detail or about tools like git and GitHub which are widely used throughout the industry.

Thus, the cold truth is that you have to develop a habit of learning on your own. In my case, the entire knowledge I have about web development is through my own efforts and learning. While it may be true in other fields of Engineering, the programming landscape changes so quickly that educational institutions can't keep pace. Learning to code is a continuous process and you must keep practicing and expanding your skillset if you want to stay relevant in today's competitive market.

And the best thing is the abundance of online resources available to help you in this regard. If you want to learn a language or framework there are probably a lot of tutorials and articles that you can consult. So, it's a matter of dedication and hard work which you are willing to put in, and you can master a skill in no time.

Dont Fall into Tutorial Hell

Another problem that new programmers face is that they tend to fall into Tutorial Hell. Most of us resort to coding tutorials on YouTube and Udemy courses to learn any new language, framework, or skill. But these courses have a critical flaw that many of us don't realize.

As you are following along with your instructor, you might feel very confident and even feel like you're getting everything. But as soon as you finish a course and try to develop something on your own, you'll feel completely blank and have no idea where to even start. This has happened to me many times and it's a very sinking feeling.

The problem with these tutorials and courses is that they teach you how to build a specific application. What they don't teach you is how to develop the mindset to solve a particular problem. Additionally, you also don't understand why the instructor is using a particular framework or why he/she is writing a piece of code in that way and not the other way round.

Thus, it just becomes a case of copying code that the instructor is writing and not understanding the reasoning behind it. So, while you may finish the course and build the application yet, you will be unable to code something from scratch on your own.

Instead, the best way to benefit from these courses is to modify the code after you have finished the project. Try to break the code and change things around. Experiment with a different approach to implementing a specific feature. At the very least, try to add some functionality on top of the course project. By adopting this approach, you will learn why things work the way they do and will understand the purpose behind the code, instead of merely copy-pasting it as your own.

Don't try to Learn Everything

Finally, the last bit of advice I will give to upcoming programmers is that you don't have to learn everything under the sun. When you first start to code, you quickly realize that there are WAY too many fields that you can choose from and it can be quite overwhelming to decide what you want to do.

Let me give you a taste of what I am talking about. Let's say you are interested in Web Development. You can choose to become a front-end web developer and work with things like HTML, CSS, JavaScript, Sass, and frameworks like React, Angular, Vue, or libraries like Bootstrap, Tailwind CSS, etc.

Or you can choose to be a back-end developer and work with languages like Python, PHP, JavaScript or frameworks like Django, Flask, Express, etc, and databases like MySQL, PostgreSQL or MongoDB, etc.

Or you can choose both and become a full-stack developer and handle both the front and back-end of a web app. Do you see where I am getting at? And this is just one field.

Maybe you fancy Mobile Development or perhaps Game Development. You might be into Machine Learning or Artificial Intelligence and work with data analysis and training complex neural networks. Or you might want to indulge in the field of cybersecurity and work on ethical hacking and so on.

Suffice it to say, whatever you want to do there is a field for it. My advice to you is to choose what you want to specialize in and go all out in it. There is a high demand for talented individuals who are great developers in a specific field instead of those who know a bit about everything. So, experiment to find what you like and then focus on mastering skills needed in that field and you'll be doing better than most.

Closing Thoughts

Thus, these were some of the things I learned since I started to code. I am in no way an expert yet, this is the essence of what I have personally experienced in my 3 years of programming. I am extremely happy with my decision to choose this field as my profession and I want to give back to the community as much as possible.

For all the new programmers starting, focus on fundamentals, continue learning in your time, and don't forget to have fun!

That's All Folks!

If you have any questions feel free to ask me in the comments and I will do my best to answer them. Feel free to read some of my other blogs @fahadimran371. Till then, thanks for reading, and happy coding!


Original Link: https://dev.to/fahadimran371/things-i-wish-someone-had-told-me-when-i-started-learning-how-to-code-naa

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To