Have you ever thought that knowing more programming languages is the key to becoming a well-paid programmer? If you think so, then you may want to re-examine this idea.
Indeed, programming languages are crucial to programmers. They are the bridge between us and computers and the tools through which we turn our ideas into actual software products. However, over-emphasis on the importance of programming languages and putting too much attention and time on languages may cause us to ignore a more core factor.
What is the essence of writing code? People write a bunch of text based on a series of rules. These rules are programming languages. But have you ever encountered such a situation: some friends study the language seriously and are very proficient in it, but they don’t know what to write, how to write, or even where to start learning?
This actually exposes a problem: language is just a threshold, and mastering the language does not guarantee that you can become an excellent programmer. So, what is the real core difference between programmers?
The answer is engineering capabilities! Simply put, it is the ability to identify a problem and design a solution. This includes everything from architectural design to code module splitting. This ability cannot be acquired by learning a programming language, but needs to be learned from constant failures and mistakes, and accumulated and improved through practice.
For example, just because you have learned Chinese, it does not mean that you can write. Similarly, mastering a programming language does not mean that you have the ability to solve practical problems.
Now, AI is getting better and better at conceptualizing this step. Even if you don't know a certain language, as long as your solution is well done and divided into details enough, you can still get the job done. This further demonstrates the importance of engineering capabilities.
So, how to improve this engineering capability? Unfortunately, this ability is difficult to improve by reading books or tutorials. Although some books try to summarize these engineering experiences, you will find that it is just like swimming, it is impossible to learn by reading books. This engineering ability must be gained through practice, and it is best to participate in some larger-scale projects.
I deeply realized this when I was working on the browser project at Microsoft. The experience of struggling to survive in a huge project cannot be described verbally. "Follow a thousand tunes and then you will hear the sound, watch a thousand swords and then you will know the weapon." Only through continuous practice and accumulation of experience can we truly improve our engineering capabilities.
So, stop obsessing over learning more programming languages. To become a good programmer and earn a higher income, you need to focus on improving your engineering skills. This is the key factor that determines your future career development!
Share on Twitter Share on Facebook
Comments
There are currently no comments