To become a good programmer, the first step is to determine whether you genuinely have an interest in this field or not!
Computers are incredibly dumb creatures. For example, if I tell you, “Bring the cake from the fridge, it’s on the lower shelf,” you will easily accomplish this task. Even though my sentence might not be grammatically correct or clearly structured, you can still understand it and take action. Your brain helps you infer many things without needing explicit instructions.
For instance, you instinctively know:
A computer, however, has absolutely no understanding of the world or itself! It has no comprehension of its purpose or the tasks it performs. It simply executes a series of highly specific and precise instructions step by step.
Computer programming consists of three fundamental principles. While programming languages have evolved significantly over the past few decades, these three principles have never changed:
With just these three concepts, we can create amazing things—the very software that modern civilization relies on today. Therefore, before anything else, you need to understand algorithms and flowcharts properly.
Algorithm writing is the art of using these three principles to solve complex real-world problems. It allows you to translate logical reasoning from your mind into a structured form that a computer can process—this is called algorithmic thinking.
Once you become comfortable with algorithmic thinking, the next step is to choose a programming language (such as Python or JavaScript) and start converting your algorithms into actual code that a computer can execute.
Of course, before execution, this code gets translated into machine language (binary: 0s and 1s). For now, you don’t need to worry about what machine language is, but over time, you’ll gain a better understanding.
Try writing algorithms first and see if you truly enjoy programming. If you feel excited and satisfied when solving problems, then move on to coding them. From there, the journey becomes easier, and you can specialize in different areas of programming, such as:
To learn any of these areas, you don’t need books or teachers! There are countless free and paid tutorials, courses, and resources available online. (Never waste time attending classes!)
A good programmer should master the art of searching the internet to learn whatever they don’t know. You can also use AI tools like ChatGPT to answer fundamental or specific questions.
Even after mastering coding, you are still one major step away from becoming a professional. At this stage, it’s not just about making code work anymore. You must start caring about:
That’s when you can confidently say:
“I am not just a programmer, but a professional software engineer!”
I have outlined the exact steps that I followed without skipping anything. Personally, I have always been fascinated by the idea of writing code—excited by the fact that with just electrical signals, we can create anything!
The answer to this question is a bit tricky.
Many things taught in university may never be useful in actual programming. At the same time, many essential programming techniques are never taught in university.
However, computer science knowledge can be beneficial because many concepts in programming are directly related to computer science, such as:
So, you have two options:
In short, neither computer science alone nor programming skills alone can make you a complete software engineer. You need a combination of both to truly master this field.
Almost all major and minor companies have removed the degree requirement for hiring programmers and software engineers. So, you won’t have any issues finding a job without a degree as long as you have the right skills.