You might find yourself asking your senior developers “The 10 things they wish they knew before they started learning to code.” Let me save you that time and make it quick with my 12 years of programming/coding experience. My software engineering journey was delayed because of some mistakes, I didn’t know where to start or which framework or language to choose.
I don’t want you to commit the same mistakes. So, learn from the experience am about to show you and use it to improve your career. But first, let me ask you these 3 questions. Have you ever written a code and said to yourself:
- Aww, this is how I should have been coding.
- Oh no, if I knew this library earlier it would have saved me more time.
- I wish I had been using this design pattern in my previous project.
If you answered yes to all the above questions, then you’re not alone, all experienced programmers do. And in this article, I will show you the top 10 most important thnigs I wish I knew before learning to code. Sounds amazing right?
1. Not Using the Official Documentation of a Language or Framework
Table of Contents
All programming languages, framework, and libraries have their official documentation clearly written for a better understanding of embedded classes, methods, and properties. The creators of most languages and frameworks know very well that if they don’t provide documentation, it will be hard for other developers to use. Just ask yourself, why do most products you buy online and offline come with a manual? It’s purposely to help you to understand how the product work and to be able to operate it.
When I started my coding journey, I didn’t know about this. All that I knew was YouTube tutorials and blog post related to what am working on. And that’s where I messed up. It became very challenging when I needed to implement something new that no one have written a blog post or a YouTube tutorial about. If I knew about this, I would have visited the official docs and learned how exactly things work. Here are some of the popular programming languages and their official documentation:
What can you learn from this experience?
Following YouTube tutorials and blog post is okay but not enough. So, my advice is that you should get to know the official docs of the languages and frameworks you use and explore them sometimes. This will help you to master your craft because you will be learning from the right source.
Is that all? No, I will tell you more but you have to know that…
2. Understanding the concept is more important than memorizing syntax
Programming is not just about memorizing code. It’s about understanding the concept behind different design patterns and other methods you’re familiar with. As it was said in the previous book, I just finished reading “If you don’t understand path and edges, how can you plot a graph?” So, I ask you, if you don’t understand various concepts of object-oriented programing, how can you use it in your project?
You will memorize it, right? Yes, and that’s exactly what delayed my career. You see, there’s a big problem with memorizing a code without understanding the concept behind it or knowing how it works. Let’s say, for example, you want to print a particular text together with a variable. Someone who doesn’t understand the logic behind most print statements will print the text and variable separately with two or more different lines of code. But a guru knows that you can concatenate text/String with variables and print with a single line of code.
Memorizing codes really ruined my life. I was just using some methods without knowing the logic behind and because of that, I had to put in the time to relearn other things (very time-wasting).
What’s my advice for you?
Stop memorizing codes, it’s a very bad practice. Take your time and understand the concept instead. Keeping yourself focused on mastering and understanding how some logic works is much better than rushing and having to relearn it again. And don’t forget to…
3. Practice, practice and you will be perfect
Practice makes a man perfect! we’ve heard it several times but don’t apply. Practicing is very important my friend. If you really want to become a very good software engineer, then you have to get your hands dirty and put in the work. Because reading a programming book or watching tutorials alone won’t help, you need to practice what you learn. Technology keeps improving and frameworks and languages keep being updated so that developers can create software that’s in line with the latest technology.
Therefore, I advise you never to stop practicing. It’s not easy though and I understand there will be a time when you will be learning and it won’t be clicking. Yes, I have experienced it and all the skills that I just learned without putting in the effort to practice, I can verbally tell you about it but can’t implement any at work. So, keep practicing even if it seems like you’re getting nowhere. A time will come when all that you’ve been learning will make sense.
Below comes what I have been dying to tell you…
4. Programming Is a Lot Easier if You Know How to Learn
I remember when I started learning CSS, I was so confused because the properties were a lot. But do you know the problem? The properties were not many, it was me who was learning the wrong way. Reading a lot of blog posts and watching YouTube tutorials without practicing’s is not good and that’s what I was doing. So, guess what happened? It took me a whole year to master CSS to be able to build a simple landing page (That’s not good).
My learning approach wasn’t good so I needed a new way of learning. And after long hours of research, I found a deliberate practicing method of learning programming terminologies. Deliberate practice involves learning and pausing to practice what you’ve learned before proceeding to the next subject. And it helps a lot because ask yourself, “If you don’t understand lesson 1, why move on to lesson 2?”
What can you learn from this?
Don’t just learn by watching or reading, that won’t be sufficient. When you learn, practice, and see how well you understand what’s being thought. This will help you to evaluate yourself and get to know what you understand and what you don’t.
And hey my friend…
5. Don’t Be Fooled, 10X Engineers Don’t Exist
If there’s one thing you want to convince yourself of then I will tell you that “don’t be fooled, 10X engineers don’t exist”. This might not be appropriate but this is my experience and I want you to know that there’s no better engineer out there who knows all programming languages and frameworks. I have been coding for over 12 years at the time of writing this article. All the best senior developers I have come across deeply know one language or two.
I was wrong in the beginning because…
I thought what defines a good programmer is an Engineer who knows multiple programming languages and frameworks. No, better programmers are the ones who have deeply mastered specific frameworks or languages and can use their skills effectively in solving problems. So don’t make the same mistake I did and focus on mastering 1 or 2 languages/frameworks. Because if you’re able to master one skill and you could use it to provide valuable services, then it is better than learning 10 skills and not being able to use any.
6. Smart work is the key, it’s not always hard work
Trust me, working hard is a must but that alone can’t take you far. Suppose you have already developed an Ecommerce app with the source code hosted on GitHub. And you show the app to one of your clients and he/she demands that you develop one for him/her with a few features added on using the same language or framework.
Will you start the whole project from scratch and build a completely fresh one or you will just clone the existing app and make changes to it?
Taking the first approach will take a lot of time but the second option is the smart way. Coding smartly doesn’t only save you time, it proves to your clients that you’re good at what you do. Because to them, they just want you to get their project done on time.
Therefore, learn to work smart whenever necessary and you will attract the interest of your boss and client. Smart work is what you should know before starting to code.
7. Communication is important when learning to code
One skill you need to develop that will contribute a lot to your career is your communication skills. Let’s say, for example, you’re hired as a front-end engineer for a particular company. To be able to handle network errors correctly, you need to be communicating effectively with the backend developers. Because if you make a request to a particular API, developed by the backend engineers, you need to ask for certain clarifications like an error status code when there is no proper documentation.
When working in a team, lack of communication will ruin your career even if you’re the best of the best. But being able to communicate will improve your productivity and helps you learn much faster.
What can you learn from this?
Start working on your social skills and practices that make you a better programmer. Why because, when you finally secure a job, you will be working with people and not machines. You will need the help of co-workers to improve in your field and it all starts with you being able to communicate effectively.
8. Not learning from open-source projects
You remember I promised you some secret from the beginning, right? Here it is “If you want to master a particular programming language or framework fast, after learning the syntax, start working on open-source projects.” It will save you a lot of time and help you to understand how the language or framework is used in the real world. You’ve already heard about the popular expression “Don’t reinvent the wheel.”
Just think about it, after learning computer science in college for 4 years, what do students do next? Internship, right? Yes, because they want to see how what they’ve learned in college is used in the real world. Am not sure you will be learning for fun or coding’s sake, you will surely be building something upon your knowledge. And one thing you should take advantage of is contributing and learning from open-source projects.
So, if you’ve not heard of GitHub, this is the time to explore. Go to Google and search for GitHub open-source projects in whatever language you’re learning and start learning/contributing to such projects.
Check also, how much programmers make per month.
9. Coding goes with Google
Don’t try to beat it, you can not memorize all syntax, class properties, and methods in your head. As a programmer, Google is your friend. You need to have it open as a separate tab in your browser. Or if you prefer using multiple screens, then it will be nice to utilize one for researching ideas on Google and other coding communities like StackOverflow.
You don’t have to be shy about it if you’re thinking your coworkers or boss will view you as inexperienced when seen. Every single software engineer uses documentation of the language or framework he/she is experienced with. And these documents are stored in our minds, right? Wrong, everything is now available on the internet, don’t get stuck on a problem for two or more days without googling it online.
So, feel free to use Google if you don’t get valuable feedback on bugs from coworkers and other resources, and coding communities. Be it clean code, scalable algorithms, or a guide to solving a particular problem, google it all.
Check also, how to run JavaScript files in the terminal or command line.
10. Learning to code requires self-investment
To be able to succeed in the digital sector and master your field, you surely have to be willing to invest money, time, and coding practices. This is what will build you up and make you a better programmer to stand out from those who aren’t willing to invest in themselves.
Let’s take for example two beginners learning to code, Peter and James. Peter always complains of his laptop is slow to install the integrated development environment (IDE) of his choice. Therefore, he only watches tutorials online and never put in time to practice what he learns. James on the other hand has the same problem as Peter. His laptop is slow but he has been putting aside 30% of his monthly paycheck to buy a new one. After 5 months, he changed his laptop and he is able to put his knowledge into practice.
Which of these two beginners will succeed in his field?
It’s James, he knew self-investment is very essential before learning to code. If Peter doesn’t change his mind, 5 years will come and he will still be using that slow laptop without a practical knowledge of coding. Don’t be Peter, make use of every opportunity available to learn and improve as a programmer.
These are all that to know before starting to code. If you’re a beginner, these coding facts will help you to learn and improve and land a job faster than you thought. Coding is not hard to learn, but if you don’t prepare or begin with the right mindset, you may quit.
How long does it take to learn coding by yourself? How long depends on how much effort or time you put into learning. But mostly it takes three to six months to master coding syntax and be familiar with other terminologies and concepts like design patterns and file systems.