Since officially starting work in 2016, it has been more than four years. Like most people, no matter where I work or what problems I am currently solving, it seems that I have been trapped in a cycle:
Start -> Proficiency -> Boredom -> Start again
Starting from a company or a project, after accumulating experience day by day, gradually becoming proficient in the project, and then advancing to become a "professional skilled worker". Over time, day after day, things that used to be easy due to a lack of initial challenges and freshness gradually lose their passion, and people begin to enter a period of boredom. The long-term inability to boost one's mood will lead to thoughts of changing companies or projects and starting over. Little did they know, they would once again see their past selves. So they start to think, where did the problem arise?
After multiple communications with seniors and experts, one day, I suddenly realized: beyond endless demands, the real way to advance and improve oneself is to solve the three core issues of framework, performance, and tools.
Speaking of framework, perhaps most students' first reaction is to create a comprehensive and excellent open-source framework like Vue
or Express
. For a long time, I also understood it this way. However, the so-called framework is actually the overall structure of a thing. Taking architecture as an example, the reinforced concrete and spatial layout are the framework of a building. The type of cement bricks and tiles used, as well as the proportion of reinforced steel, determine the stability of the building's framework and therefore determine how high the floors can be built. The rationality of the interior space design determines the residents' future movement trajectory and decoration plan, thus determining their living experience. Similarly, in daily projects, if you are fortunate enough to be one of the first developers of a project, if you can abstract a reasonable model for the entire project at the beginning, consider stability, scalability, and universality issues, then you have already created a good framework. In simpler terms, a framework is the implementation solution and code structure you use when facing a certain problem. So, there is no need to fear the concept of a framework, perhaps you have already designed and implemented some frameworks.
As for performance, it goes without saying that every engineer will consciously optimize the code implementation, hoping to make breakthroughs in performance, thereby improving user experience and saving costs. However, there are different performance optimization solutions for different problems and implementations, and there are too many to mention here. But it must be said that performance optimization is the direction that is easiest to provide quantitative indicators, and we need to deeply understand "performance" and how to measure it correctly. For example, the first screen time, the FST
and FCP
in performance.timing
often cannot accurately reflect the real information. After combining the characteristics of your own business, it is important to provide a statistical solution that meets current needs. At the same time, before making any optimization actions, quantitative data collection of the current system's performance data should be done. The comparison of data before and after optimization is the most convincing evidence.
Finally, tools are actually about improving efficiency. In a project or business, there are often a large number of repetitive or mechanical transactions. If you can observe carefully, you can solve similar transactions through tools, which will greatly reduce the cost of human resources. In today's society, human resources are the most expensive resource, so making breakthroughs in efficiency will definitely be a highlight in your work achievements. From another perspective, tool development is the highest return on investment in work input. One work input will enjoy its results infinitely in the future. Why not do it?
The above is a summary of core experiences since starting work. I hope it is helpful to you, and I also hope that when you can't find a direction, you can think more from the three directions of framework, performance, and tools.