Technical Reflections Essay
"TLDR: This article tells about some of the author’s insights after taking on a simple matchmaker applet outsourcing project. Although the project is simple, it took the author a lot of time, mainly on the development of the back-end management interface and front-end pages. At the same time, the author also reflects on the reality of independent development and emphasizes that independent developers need to focus on solving user pain points instead of just pursuing technical difficulty. In addition, the importance of cold start and promotion was also mentioned, as well as some insights on technology selection."
#Technical Thoughts Essay
I recently took on a simple matchmaking app outsourcing project. I originally wanted to experience the feeling of full-stack development. The reward was only 1K, mainly for learning. As a result, the project was not completed and Party A did not give any money. After this week, I have gained a lot of insights.
Can’t get good projects
I have always had a dream, to be an independent developer, to have my own products, not to be employed by others, not to have the crisis of 35 years old, and to have an after-sleep income. But this full-stack project experience told me that independent development is not as good as it seems. Although the project requirements were simple, it took me a whole week. Most of the time was spent on the back-end management interface and front-end pages, which had no technical content. The so-called free time, customer accumulation and technological growth are all clouds in actual operation. Of the projects we take over, 40% of them hope to use tens of thousands of yuan to build a platform like Taobao, and 40% want you to do some work that no one wants to do, such as back-end management pages and simple front-end requirements. Only the remaining 10% are likely to be good projects. The conclusion is that good projects are only circulated among acquaintances, and others are either time wasters or require high remuneration and low pay. I don’t know who outsourced them to me for the first time, so they might as well work honestly.
True independent development should be about making your own decisions, making your own products, and taking on other people's projects is called outsourcing.
Cold start and promotion
Speaking of independent development and making your own products, programmers are good at technical development, but promotion and operation are the difficult part. Many people are unwilling to learn promotion operations. As a result, they have worked hard for several months to make a product, no one knows about it, and finally give up in frustration. I saw on V2EX that some people even formed teams to promote each other’s products, which shows that this is a pain point for most people.
Pain points are more important than technology
Recently I saw a sentence on Gefei’s public account, Feishu made by thousands of people is a product, and the accounting book made by one person is also a product. Indeed, a good product should solve users’ pain points rather than pursue technical difficulty. Now that the Internet has been developing for so long, most needs are covered by the products of major manufacturers. As independent developers, we can only explore niche needs that major manufacturers don't care about.
In this existing market, traffic has reached its ceiling, and only by finding those niche pain points can we have a chance. When you have an idea, quickly make a minimum viable product (MVP). If you can't make it in more than a week or two, then give up. This kind of project is not suitable for independent developers.
Pursue new technologies
Human energy is limited, but technology is unlimited. There are many technologies now: js, html, css on the front end, java, go, c++, python, etc. on the back end. It takes time to master them, but some technologies aren't worth investing much effort in because they may be outdated. I used to spend a long time learning front-end technologies such as React, Vue3 and CSS, but now it seems that it is a bit of a waste of time. I only need to understand a little bit, and I won’t rely on this to make a living in the future anyway.
Research in-demand technologies
In fact, this one should have the same meaning as the previous one, investing the right time and learning the right technology at the right time.
"There are very few pitfalls for C++ papers; for Java papers, if you do it now, you will join the Chinese army in 1949." This sentence is often mentioned. Looking at those survey reports, you can always find talent gaps in some technical fields. Consider investing your limited energy into these promising technologies. For example, I learned web development 20 years ago, Android development 10 years ago, and now I am learning large model technology.
The value of big factory experience
There was a time when I was thinking that it would be better to work in a state-owned enterprise or a bank than in a big factory like 996. At least it would be easier and the hourly wage would not be low. But then I saw the deeds of some seniors on the college’s official website and found that most of them worked in large factories for several years before starting their own businesses. Another example is the recently played "Black Myth: Wukong". Its founder, Feng Ji, worked at Tencent Game Studio for several years before setting up his own game studio. It can be seen that the experience of a large factory is still very helpful for the accumulation of technology and the cultivation of business sensitivity.
Although it may be like a screw in a big factory, it is also a good place to get in touch with the latest technology. Once a new technology emerges, such as blockchain and artificial intelligence, big manufacturers will immediately arrange people to do it. If you are in some small companies that are not very sensitive to technology, you may still be doing Java additions, deletions, modifications, and checks. When the real technology wave comes, you will not be able to keep up.