I don’t know when was the last time you thought about front-end career planning?
If you are a student, you must be unfamiliar with the front-end profession. Although you have no experience, you are curious about the future. You have a lot of time to think, but you may not be able to figure out the direction. There is a kind of fist hitting cotton. Powerlessness.
If you have already participated in work, whether you are just starting an internship, or working for 3, 5 or even 10 years, you must feel very fulfilling, but is there enough time for thinking? If you maintain the status quo, where will you improve in five years? If you are not clear about these conclusions, it is likely that you lacked thinking about career planning.
This anxiety of lack of career planning has developed into a business opportunity. When you don’t have a clear career plan and are at a loss, the training institution will stand up and say, is it full of anxiety about career planning? If so, you can order our courses, the famous brand P10 will take you to beat the workplace. In fact, courses are really dry goods, but a specific course cannot replace your own thinking. You need to understand what you want, instead of being instilled by others, because there is no standard route in the workplace, but the copywriting of training institutions does have a standard way of writing .
So this front-end career plan is written from my own perspective. If you are also thinking about long-term development, you can use it as a reference.
I have summarized three main thinking directions, namely knowledge classification , field deep cultivation , economic perspective .
knowledge classification refers to whether your understanding of knowledge is systematic. Nowadays, the new knowledge added every day in the world can not be learned by one person in a lifetime. If you do not establish a set of your own knowledge selection criteria, long-term development will not be possible.
field deep cultivation is practice, learning every day is also useless, you must do something valuable in order to contribute to the industry, or convert knowledge into wealth. Of course, the proportions of learning and practice are different for different occupations. For example, theoretical physics may blur the boundary between learning and practice, while engineers in the workplace environment can more easily distinguish what is learning and what is practice.
Economic perspective means that you have to be able to see problems from an economic perspective. It can be said that without economic activities, all our studies, production, and occupations have no meaning, because the driving force that promotes our learning and social production is transactions. Without economic activities, there is no demand. Demand is the basis for promoting all activities. A little understanding of the relationship between economy and production can understand why technology should serve business, because any technology must have the potential to be transformed into commercial value before it is worthy of being studied, ranging from social value to product value.
Let me talk about my understanding of each direction separately.
Knowledge classification
As a front-end, in order to maintain technical acumen, we will subscribe to many columns to learn new knowledge. I only know that there are 30 weekly watch columns. In fact, according to some specially organized column search websites, you can even see more than 100 different front-end columns every week. Most of the columns are doing article aggregation. The articles aggregated in each column generally range from 5 to 30, so even if the repetition is removed, there are at least a few hundred new front-end technical articles waiting for you to read a week, so some students will Feeling anxious, even shouting out of school can't move.
I write front-end intensive reading every week and I happen to find some articles to read, but after a few years, I just feel that I can't find useful material every week. Take this week's javascript weekly as an example, I picked some article titles:
- DOM Events: A Way to Visualize and Experiment with the DOM Event System。
- Introducing WebContainers: Run Node.js Natively in the Browser。
- New & Updated Course: Complete Intro to React v6 with Brian Holt
- Parcel 2 Beta 3: A Wild Rust Appears!
- 2D Optics Demos in JavaScript
- A Complete Beginner's Guide to Next.js
- How to Create Reusable Web Components with Lit and Vue
The second article is an article to help you understand DOM events through visualization. The UI is very interesting, but DOM events are the front-end basis. Intensive reading is really not suitable for cooking. This knowledge point is enough, there is no need to make the UI and repeat it. .
The second part is about a technology that allows Node to run in the browser. This is indeed a new technology, but at this stage we don't need to find a scene for this technology, as long as we know that there is this thing, there is no need to read it carefully. The third is a complete tutorial on React, very systematic, but there is nothing new, suitable for front-end newcomers to read, so there is no need to read it.
The next few articles are the introduction of the features brought by the framework upgrade, an interesting visualization effect, the introduction of Next.js newbies, and how to use the Lit framework to develop components. This knowledge is intuitively readable or not. After reading it, I feel as if I have no growth for myself. If I don’t read it, I feel that I have missed something. It’s really like a chicken rib.
If you feel hesitant to see these feed streams, I suggest you establish a front-end knowledge classification system. Just like learning martial arts, if you don't understand what the basic skills are and what is the "Fisting and Embroidering Legs", then you will be unable to learn about the hundreds of "Martial Arts News" that are posted every day, and you can't learn it.
In the technical field, the knowledge classification system is rule-based, and knowledge can be roughly divided into two types: general and industry knowledge.
General knowledge refers to the most basic and applicable knowledge, such as mathematics, physics and chemistry. We have learned this knowledge in school, and the knowledge used in work is based on these general knowledge, for example, there is no certain mathematical foundation. It is difficult to learn the field of computer visualization, because it will use a lot of mathematical knowledge.
General knowledge is the most useful and the most valuable, so it is arranged for us at school, then the university is actually teaching general industry knowledge, so if there is no solid foundation at this stage, it is very simple to make up for it. Just follow the university textbooks to review It is good to do it once. General knowledge in the computer field generally includes computer principles, operating systems, design patterns, compilation principles, data structures, algorithms, and so on.
The general knowledge of the field seems rather rigid, and the students who are new to the job are generally doing the screwing, and often ignore the importance of the general knowledge of the industry, but when you keep getting in touch with the core technology of the company, you will find that you have used a lot of universities. The general knowledge taught here will be too late to learn when it is used.
If the value-preservation time of general industry knowledge is 30 years, then the value-preservation period of industry-specific knowledge mentioned next is only 1 year. Industry-specific knowledge is most of what we see on Weekly, and it also includes front-end frameworks, APIs and other knowledge that the training courses help us quickly develop. This knowledge is very useful and grounded, and it is necessary to use it as soon as you are new to work, but the biggest problem with this knowledge is that it is too high-level, so that there are too many similar products, and the substitutability is strong. The knowledge points can be updated with new ones. The release of the version has all changed.
Just like project scaffolding tools, now a new brand based on webpack or rollup packaging will be released every day. This kind of scaffolding is not worth learning, and you don’t need to take the new scaffolding as new knowledge, because most of the life cycle of this knowledge In less than a year, most of them were unused. The most important thing is that apart from the name, there is no new knowledge in the components, so you can't learn new knowledge after reading the source code. More importantly, you can't produce similar products based on this knowledge, so if you really want to learn about scaffolding, just read the source code of a mainstream scaffolding carefully. You don't need to read any documentation except for using it in your work in the future.
The same is true for architectural capabilities. The experience we have gained by stepping on pits or even failing a project in our work may be just a common misunderstanding mentioned in the book design patterns; when we design a very complex system, we use The module communication design obtained may just be a common communication method in operating system design. A person who can understand the complexity of the operating system can basically deal with software engineering problems of equivalent complexity, and the complexity of software engineering is actually difficult to surpass the operating system, so instead of trial and error in the project, it is better to learn from these basic knowledge Find the answer here.
So if you want to go further in your career planning, check whether your foundation is solid. If you have a solid general knowledge, you can quickly learn the basic knowledge of the industry. According to the basic knowledge of the industry, you can even create any new framework independently. These frameworks will become the industry-specific knowledge learned by others. Fundamental, spend time on learning the framework you made, then his career development will be influenced by you to a certain extent, and if he only stays at the stage of use and does not understand the principle of realization, in the long run, your career The ceiling must be higher.
Regarding which are general basic knowledge, industry basic knowledge, and industry specific knowledge, no specific suggestions are given here. I believe everyone will have their own judgment.
Deep plowing
This thought does not apply to front-end classmates who just started work.
There is a famous chicken soup on the front end, "The front end is not because it is an interactive interface, but because it stands at the forefront of the business." In fact, this sentence is problematic. I think every front-end student with more than three years of work experience has one. A sense of powerlessness in the business area.
In fact, the core business model is naturally at the back end. This is because the front end is just a window for users to interact with the business system. Without a front end, users can also directly interact with the interface, but this is very costly, so in order to reduce the difficulty for users to get started, Or to bring a better user experience, it is necessary to continuously upgrade the UI interface. Therefore, the UI interface and the backend are often in a many-to-one relationship. The mobile terminal, applet, and webpage correspond to a set of interfaces. The purpose is to facilitate any Scene users can easily access the business, so as a front end, first of all, we must have a correct understanding of the reason why the front end exists.
Note that the business model is mentioned here, and the depth of experience is not mentioned. If you pay attention to the depth of experience, naturally only the front-end can do it. However, the nature of the front-end is still the icing on the scene, because in any industry for a long time, if you only consider the front-end, then the goal is always to experience measurement, research and development to improve efficiency, and rarely touch the business layer, so that the front-end is in business value It’s not straightforward, and it’s difficult to explain the relationship between experience measurement, R&D efficiency and final business growth.
Therefore, for front-end students with certain work experience, if you want to go further, you must cultivate in the business field.
So how to deepen the business field? First of all, you have to put aside the front-end perspective and look at the problem from a business perspective, otherwise you will still fall into endless interaction details. First of all, you must understand your field, such as the data field that the author is in. You must know the history, current situation and future of the industry, what products are there, what is the business model of each product, what are the connections between the products, and the current product distance What are the gaps in the products, what are the main problems this year’s product targets will solve, what are the three-year targets, etc. Every student should first understand the product, and then the division of labor between R&D and product manager should be created.
Then look at your own work. What role does it play in the core capabilities of the product? For example, the core of BI tools is the ability of data analysis and report visualization analysis. If you are always doing general middle and back office tasks like report list pages and personal centers, you have to think about whether these tasks can be outsourced. , If it doesn't work, then find a way to build some fields and move to the general field.
When you review your work and find that your core product capabilities are not in line with your work content, and you don’t want to move to the front-end, middle- and back-end general field to do research and development to improve efficiency, then you have to find a way to communicate with your boss and change your work. Once the content is over, you can find some front-end areas that can also be exposed to strong business models, such as BI analysis, data visualization, and so on. In fact, there are many deep-water areas in the general field. For example, the rich text editor behind Yuque, flowcharts, research and development workbenches, business component libraries, etc., are all common fields that can be deepened. When you want to go to the next level, Just like Yubo, you must become the leader of Yuque's entire product, so that you actually enter the professional field of knowledge collaboration and productivity tools.
If you do not want to develop in the general technical field and cannot change the content of your work, try to take on more responsibilities. If possible, try to participate in the development of back-end business logic. This can help you understand the business logic in depth and comprehensively. In fact, the front-end + product route can also be well developed in the professional field, and the front-end + back-end route can also be used. You need to make adjustments according to the actual situation of your team.
The R&D team of any product must have a product overall view. This is what you just said in addition to the technology, your understanding of your business field, the higher the understanding, the clearer the technical direction, but if your career plan is If you continue to climb, you will become the person in charge of the entire product. Today's young people are very motivated, and many companies are trying to adopt a living water policy to allow young people who want to go further to try new directions and expand their boundaries instead of staying in a mature team.
Economic perspective
Another purpose of career planning is of course to get a promotion and raise your salary, but your salary cannot be infinitely expanded, and its growth is roughly in line with the laws of the market. In addition, any work is an economic account. We have to look at the business from the perspective of technology, products and economics in order to make reasonable judgments.
Because of the epidemic last year, global telecommuting has been actively practiced, and it still has growth potential in the future. Therefore, as employers, they will gradually look at the labor cost issues around the world, because they can work anywhere. From the global software development data, the United States has the highest wage level, and the wages of Chinese software engineers are also close behind. Therefore, China no longer has the advantage of low labor costs in the software field. Especially when you have rich work experience, you have to compete. For middle and senior positions, the salaries offered by Chinese software companies are not low globally.
However, there are still gaps in technological development and education levels between countries. If the same senior technical expert position, domestic and foreign salaries are the same, but the level of software engineer structure in China is not as good as that of software engineers in the United States. This kind of mismatch will result in wasteful employment costs for enterprises, and enterprises will find ways to optimize the composition of personnel to a certain extent. Therefore, as a front-end or software engineer, you must know that in the long run, you have to compete with global software engineers, so you have to fully understand the development stage of your field on a global scale and the level of talents.
The above is the personal economic account. Next, let's talk about the economic account of the business.
First of all, you have to understand how your technology is converted into income and cover your salary. We first look at market competition. Market competition regulates the relationship between supply and demand through price. The cost and selling price of the products we make are very clear, and whether it is worth doing at a glance. However, for complex products, multi-person collaboration is required. If people cooperate through market-based mechanisms, it is easy to produce inefficient results. For example, the buttons I make are sold to the back end at a price of 3 yuan each, so as to improve me I will increase the price to 5 yuan each, but I tend to add more buttons to the product. This is all about short-term benefits, and no one will be responsible for the long-term development of the product.
Therefore, the company is a relatively large-scale organization. No one should set a price for their work. Everyone should polish their products as much as possible. At the end of the month, they will be given a fixed salary in accordance with the contract. This does solve the problem of long-term product development, but after this set of mechanisms matures, especially in large companies, students who have just graduated and screwed the screws may never have the opportunity to understand what cost is. Without the concept of cost, it is difficult to think clearly why. You need to consider the input-output ratio or think that the word ROI is very advanced. In fact, the word is not advanced at all, but the company has blocked it, but if this causes you to do the technology without considering the cost, you only pursue the technical details that excite you. , Or just do the technical direction you are interested in. That is actually an immature performance, and the things you do may not be recognized by the business.
If you want to develop to a higher level, cost awareness must be cultivated. You can learn about labor costs, machine costs, and external costs of accessing two- and three-party services. After understanding these costs, calculate the annual revenue of the product. Can these costs be covered? If you want to continue to add people, how much product revenue will be increased next year? Does the market space allow products to increase this much? If you want to provide better services and need to add machines, will your business side become more because of better services? The value brought by the increase in business parties is generally measured from the order price and MAU. If the service is external, it is enough to directly see whether the price covers the cost. If the service is internal, it depends on whether the MAU is worth investing in these machine costs.
However, we can't just look at money, market share is also very important. If Chrome's R&D investment only looks at annual revenue, then IE is estimated to be the mainstream browser now. In fact, after Chrome has established its dominance, it has greatly improved Google’s product ecosystem, W3C’s right to speak, and developer attraction. These invisible influences can’t be directly converted into money for statistics, so if you think about the product’s market share The improvement of the market can bring long-term value, so market share can also be one of the goals.
Finally, the economic perspective does not just let us stay in the business account. The marginal revenue theory of economics can guide us to give priority to doing things with greater marginal revenue. In the current business product matrix, which products can be expanded to quickly make up for the shortcomings, if technical optimization is done, which modules are optimized to bring product benefits and maintainability benefits the most, if these issues are always clear, then the product and technical direction of each year will be different. Will go wrong.
to sum up
To sum up the three thinking directions mentioned in the article, they are actually three problems that may be encountered in career development.
After working for a long time, you will find that even if there is still a passion for learning, it is difficult to make a breakthrough in the learning method of the first graduation session. You will find that there will not be a lot of knowledge used in work practice. Repeated reading or writing skills Articles will only allow you to stay at the technical level of enrollment at school; your occupation also restricts further development. You need to think about how to break the career ceiling; it is not enough to even delve into the technical field. Everyone is talking about the cost, you When talking about technology, it is naturally not on the same channel.
This article also gives three corresponding solutions. knowledge classification helps you solve the problem of repeatedly learning useless and introductory knowledge; field deep cultivation helps you solve the problem of career ceiling; economic perspective helps you solve the single technology The problem of perspective.
In fact, it’s normal for a career to have a ceiling. No career path is unimpeded, but people are alive. You can gradually change yourself. When appropriate, look at business and economic issues. Don’t just learn knowledge on the surface. Although these may not be used at all in your work, this is actually a paradox, because you don't have certain knowledge, so you don't have the opportunity to get in touch with those jobs. To break the paradox can only start from the painful self-breaking of boundaries.
Different from general front-end career planning, I did not say a lot of front-end domain terms, or which frameworks to learn, because I think the gap in IQ between people is not big, and the knowledge that must be mastered can be learned for a few years, and the real What can bridge the gap between people is not the IQ, but the learning method or the learning route. If you spend your time in the wrong place or at the wrong stage, you will eventually accumulate a huge gap.
I hope my thinking can be helpful to you.
The discussion address is: Intensive Reading of "Front-end Career Planning-2021" · Issue #317 · dt-fe/weekly
If you want to participate in the discussion, please click here , there are new topics every week, weekend or Monday release. Front-end intensive reading-to help you filter reliable content.
Follow front-end intensive reading WeChat public
<img width=200 src="https://img.alicdn.com/tfs/TB165W0MCzqK1RjSZFLXXcn2XXa-258-258.jpg">
Copyright notice: Freely reproduced-non-commercial-non-derivative-keep the signature ( creative commons 3.0 license )
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。