Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
September 23, 2020 08:39 pm GMT

What I Learned After Coding For Last 3 Years (Advice To New Programmers)

A Little Backstory

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 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 bachelors. In fact, I don't remember taking a Computers 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 past 3 years or so, 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 last year and a half 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 programming.

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

Programming Languages DON'T matter (as much as you think)

By far the most common thing new programmers are worried about is which programming language to learn. I am here to break the news, that it does NOT matter what language you learn period. Don't get me wrong, I don't think that all languages are created equal. For some use cases, certain languages do have advantages over others, but as a new developer, choice of language shouldn't be the biggest worry in your mind.

As a new programmer, your number one priority should be to master the fundamentals. By this I mean, you should have 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 new language in a matter of days. At the core, all languages use the same concepts and only differ in their syntax.

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, stop worrying about which language to learn and instead focus on the fundamentals.

Please 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 perfect code that runs the first time round. This notion hindered my ability to learn new things because I was so afraid of making mistakes that I never even tried it.

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. In order 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 in more readable and concise.

Don't Rely on College to teach you everything

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 set curriculum, and while there are certain courses which have greatly benefited me like Database Systems, Computer Networks, Data structures and Algorithms etc. yet 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 through out 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 its impossible for educational institutions to keep pace. Learning to code is a continuous process and you must keep practicing and expanding your skill set 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, its a matter of dedication and hard work which you are willing to put in, and you can master a skill in no time.

Tutorials, Tutorials, Tutorials

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 in order 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 its 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 with implementing a specific feature. At the very least, try to add some functionality on top of the 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.

Jack of All Trades

Finally, the last bit of advice I will give to upcoming programmers is that you don't have to learn each and 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. 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 into the field of cyber security 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 great demand of talented individuals who work in a specific field instead of knowing 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. Feel free to share some of your tips and advice for new programmers in the comments down below! Let's light up that discussion .

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

If you enjoyed reading this blog post, feel free to read some of my other blogs on Dev. That's all from my side. Take care and happy coding!


Original Link: https://dev.to/fahadimran1805/what-i-learned-after-coding-for-last-3-years-advice-to-new-programmers-19lj

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