Commit No Bug
Published on

Programming Lessons: The Brutal Truths I Wish I Knew When I Started Coding

Authors
  • avatar
    Name
    nikUnique
    Twitter
An image of a place where we have a notebook, headphones, and a plant

Intro

I have some lessons to share about personal realizations and mistakes from my programming journey. It should be valuable, in my opinion, so read on.

Not Knowing What You Need Exactly to Learn

Let's imagine: you are learning programming, and you want to get a job in the software development industry. You may know what technology stack you need to learn. For example, for web development, you likely need the MERN stack, which includes MongoDB, Express, React, and Node.js technologies. You also likely may need to learn TypeScript, because it is popular, and it helps to write safer, less error-prone code. You may find job postings that include this technology stack. But the job postings that include the MERN stack can have something else required. For example, algorithms. This is kinda not in the stack itself, but well, it is one of the cornerstones in programming. Oops, you suddenly need to learn algorithms. And there may be something else like this, too. The conclusion is that you want to know exactly what you need to learn to get a job, and be specific about it.

Not Building Enough (or a Lot) of Your Own Projects

What is this mistake about? Let's imagine: you learn through coding tutorials and courses, and there may be an option to continue building a project on top of what is built in the tutorial. You may think: "I will conquer this challenge and add new features to the project". If you do that, you will practice your skills for sure. But the problem is time. If you have a lot of time and you are not in a hurry to get a job, then you can do it. But if you want to get a job quicker, then I would suggest not overbuilding on tutorial projects, but instead building your own, so that you would have a longer project list under your belt. This way, you will be able to show your potential employers that you know your stuff. You, of course, can use projects from tutorials you built upon, but based on this, it may not be so clear what your own skills are.

Avoiding Algorithms

This mistake is critical. Learning algorithms, in my opinion, is like leveling up your inner problem-solving engine. By knowing them, you will be able to solve problems more quickly, which will make you more efficient overall. So, it is no surprise that most companies test algorithmic thinking. Having a limited understanding of core algorithmic problem-solving techniques creates challenges in developing scalable and performant software. This is a must learn skill.

Bonus: Model Someone Who is Already Successful

I believe that one of the best ways to achieve your goals is to see how someone successful achieved them. This way, you will be able to avoid a ton of different kinds of mistakes, which will save you a tremendous amount of time. The main thing is to listen carefully and to follow precisely. Even after hearing good advice, you may not want to implement it for some reason. But the key is: repetition. After hearing a particular piece of advice countless times from many people, you will likely start following it yourself. It is dangerous to follow advice without a careful examination of it first. Think carefully before applying someone's advice. Advice from many people doesn't mean it is good.

Here you go! These are lessons from learning programming that are more relevant to me; that's why I wrote about them. Hope it helps you.

Got questions? Send an email to commitnobug@outlook.com.