Nowadays, more and more creators are writing some code to optimize their workflow and speed up their production process.
These creators are well aware of their bottlenecks, and because they desire to spend more time creating, their motivation and thirst for knowledge can sometimes be even stronger than that of engineers themselves. They can often find solutions to problems more accurately than engineers, even though their code may not be as polished.
Tasks such as reading documentation, using APIs, and completing simple applications and daily work do not require advanced engineering skills. With just a basic understanding of programming, anyone can easily get started.
This also makes me reflect on how engineers can establish themselves in this situation.
When we use the same programming language and libraries as creators to solve the same problems, even though their code may be a bit messy, they often have an advantage in finding issues and solutions. Of course, I understand that areas such as architecture, engineering, high traffic, or higher levels of expertise still require experience and professional accumulation. However, this is also a great opportunity to think about breaking down the boundaries between different fields in the future, where everyone can have multiple skills and domain knowledge. So, what can engineers do?
In this situation, if we want to continue moving forward, I believe we can approach it from several angles:
- Solid and profound computer science foundation.
- Dig deep into a field other than programming itself.
- Get involved in activities beyond coding, such as marketing, product management, communication, and self-development.
Let's talk about the subtitles in the recent videos by "好和弦" (Haowechord). Although it's slightly off-topic from music, what surprised me was his willingness to turn his ideas into action and even share and allow others to modify them on GitHub.
The functionality he implemented is quite simple, and engineers who can code should be able to do it in a short time. But I believe the most important aspects are the ideas and the action itself.
Did you get this idea? Not to mention the engineers who immediately think of refactoring and over-engineering when they see code, but they can't even produce the same functionality after spending half a day.
Moreover, if you look closely at the code, it's not that difficult to understand. At most, the variables are not managed well because they are placed outside, but I find the code to be straightforward and concise, without complex abstractions.
If you carefully observe "好和弦" (Haowechord)'s channel, you will notice that he possesses the qualities of an excellent engineer—clear logic, organized thinking, a passion for sharing, and quick action. These traits are rare even within the industry, let alone across different fields. He plays the piano to make phone calls, decodes videos, writes a song using Google Translate, creates a subtitle generator, and explains the circle of fifths. Some of the code he writes, I guess even some engineers may struggle to produce.
"好和弦" (Haowechord) is a YouTube channel that I really like. I have been following it since high school and have learned a lot of practical music theory knowledge from it.
In fact, learning a field and the associated learning methods are not much different from writing code. So, you can see that even though the person is not from a computer science background, they can still quickly get started and grasp the necessary knowledge in a short time due to training in other fields.
I witnessed this firsthand in my previous job.
Creators spend a significant amount of time producing their work. If they survive in the industry, it is because they have developed their own rules and know-how. As they have expertise in another field, they can quickly identify solutions or the crux of a problem.
Does this mean that engineers lose their value? Of course not.
Instead, this phenomenon can separate the wheat from the chaff, and incompetent engineers will quickly fall behind.
Although it is a positive thing that creators are starting to write code, often they are only solving immediate problems without necessarily understanding the principles or performance aspects. This is where the value of engineers lies. However, I would say that with the surplus of computing power, sometimes this value may not be fully showcased.
Additionally, there are more challenging and complex topics such as GPS, big data, machine learning, computer vision, etc. Simply relying on short-term learning may not be enough. It requires a significant investment of time and effort to delve into these areas, which is where engineers are irreplaceable. Furthermore, there are also lower-level knowledge areas, such as operating systems, timeless data structures, and algorithms.
I believe that besides "好和弦" (Haowechord), there are many other creators who have ventured into the programming field. It seems to be an interesting phenomenon, and I look forward to more creators sharing their experiences of learning programming.