If I had to learn to program all over again:
- I would figure out what I wanted to make. I wouldn’t think about how hard it was, how much I would have to learn, or how long it would take.
- I would figure out what technology I could use to build my project. I wouldn’t worry about making sure I found the best technology for the job. I can learn the best one later on a different project after I have more experience.
- I would start working on it. I would find other projects built with that technology and start tinkering with them. I would apply what I learned to my own project. I would never get anxious and worry about the current state of the program, either regarding quality or completion level.
If you are starting out the journey to learn coding, you may want to know what the journey holds or what it’s like to progress from beginner to intermediate level.
If you want to learn a new programming language ,first you need to ask yourself a question “Why you are choosing to learn this particular language? What you are going to achieve and what’s your end goal ?” You need a proper mindset before learning any new language.
WHY ARE THERE SO MANY PROGRAMMING LANGUAGES?
Each programming language is designed to serve a specific purpose. Some are used for creating desktop software, some are useful for web development, while others can be used for data analysis, for instance.
Therefore, each programming language exists to solve a problem for us who use it. Simple as that.
Here are some things you should know before you start programming.
- Get the basics right - Learn the computer fundamentals first.A proper understanding can give you an advantage early in the path of learning to code.
- Build patience- Not to mention, patience can help you become a better problem-solver, and improve your understanding of computers.Due to faulty expectations, too many beginners just give up, and move to another trade. To counter this, you should build patience, and always think of the end goal.
- **Always Set a goal before learning **
- Know how to get into Social Coding - Check out GitHub, StackOverFlow, Livecoding, or any other social coding site to find a suitable community for yourself.
- Learn to Balance your learning - It is okay to not know everything that is out there. Whatever it is that you know, that’s okay. As long as you never stop learning new things, you’ll never go wrong.
As you move along from the beginners part :
Learn this stuff along you go.
- Learn Data Structure & Algorithms
- Learn how to read Code Documentation - They are rich with information about that particular topic, and can help you learn faster!
- Get used to tools- Tools can also help you automate most of the manual work, and enable you to focus on the main problem. For instance, you should get used to tools such as Git, Slack, code editors, Chrome DevTools, programming frameworks (both frontend and backend), and others.
- Try to find a mentor
With a real-life project, not only can you learn new things, but you can also learn to utilize your skills.
Things to remember
- Practice is more important than reading books and taking courses. There are several great courses for starters on coursera.org about programming for beginners that, I believe, you should begin with. What is more important than study material is practice material and assignments. Trust me, you will never become a good programmer by reading more. You need to start writing code.
- Solving problems is more than just hitting keys on your keyboard. Often we see in movies how programmers are given a problem and they immediately start typing things down. In real world, it doesn’t work this way. It’s almost always a good idea to try to solve a problem first on paper and then start writing code.
- Getting the basics of programming and aptitude to make logic is more important than choice of language.Although I’m one of those people who are a bit choosy about a programming language, but that’s a trait you should defer acquiring.
I suggest that you get in the habit of writing basic code in any language, then start studying algorithms and data structures. Once you know a bit of programming you can study algorithms and keep improving on your programming skills.
How I would learn today
I would pick something I wanted to make and figure out how to start working on it. I wouldn’t worry about how complicated or hard it seemed, because I have the rest of my life to work on it. The program isn’t the end goal. Learning is what matters.
I would find other people’s projects, run them locally, then make code changes to see how they change the behavior of the program. The specifics of the projects don’t matter as long as they’re made with the same technology I’m trying to learn. The program isn’t the end goal. Learning is what matters.
I would work on whichever pieces of the program I wanted to in whichever order I wanted to. If I got halfway through a feature and didn’t want to work on it any more, I would work on something else. The program isn’t the end goal. Learning is what matters.
I would show it to people who seemed like they could be interested. I would let them use it. I would listen to their feedback without ego. I would try not to be defensive and only defend my decisions in order to start a conversation about alternatives. Even if I disagreed with their feedback, I would try to implement their suggestions and try it myself. I would let them try the new version made with their feedback. Building a change and then throwing it away isn’t a waste, because the program isn’t the end goal. Learning is what matters.
If I got bored with my program, I would stop working on it. If I became interested and came back, great. If I permanently moved on to something else, also great. Boredom means there’s nothing left to learn from that program, and the program isn’t the end goal. Learning is what matters.
Hope this helped.