Why do many people work for 3 years but only have 1 year of experience?

Author : Senior Mingming Ruyue, CSDN Blog Expert, Dachang Senior Java Engineer, Author of "Performance Optimization Methodology", "Unlocking Dachang's Thinking: Analysis of "Alibaba Java Development Manual", "Re-learning Classics: Exclusive Analysis of "EffectiveJava"" Columnist.

Recommended popular articles :

Why do many people work for 3 years but only have 1 year of experience(2).png

I. Introduction

Listen to a story first:
Programmer Mingming: "Master, as a person with 3 years of work experience, why are others better than me with 2 years of work experience?
" Years of experience"
Programmer Mingming: "What does the master say?"
The master replied: "It's a long story..., you should go directly to the article of senior Mingming Ruyue..."

I don’t know if you have ever thought about it, but also in the software development industry for 3 years, why some people have rich experience and can be independent, while some people are still similar to those who have worked for a year? Why do many people in the same group of people who work together have been promoted to the position of team leader, while many people are still ordinary developers?
image.png
If you are interested in this topic and want to know how to grow faster, let me take it slowly.

Two, why?

image.png

2.1 Objective reasons: simple, boring and repetitive work

An important reason why many people grow slowly is that they always do relatively simple, boring and repetitive tasks.

When I was an interviewer, I interviewed some outsourcing students. Many projects on the resume asked about the value of the project, which was "arranged by others", and asked about the technology, which was "adjusting the interface packaged by others". Technology precipitation. There are also some programmers who work in state-owned enterprises and want to come to Internet companies to develop. They have worked for four or five years and their technology stack is relatively old. It is still the SSH set. They have never even used distributed cache and distributed message queue, and they are not clear about the principle. . The results needless to say.

2.2 Subjective reason: unwilling to leave the comfort zone

As the saying goes, "The main idea is not slippery, there are always more ways than difficulties."

Although various objective conditions can restrict a person's development, what essentially restricts a person is subjective reasons. One of the very important reasons is that many people are unwilling to step out of their comfort zone.

image.png
The comfort zone, learning zone and panic zone are theories put forward by American psychologist Noel Tichy to describe the way humans perceive and process the external world. The so-called comfort zone refers to an area or task that we are familiar with and can easily deal with. It does not require much learning and thinking, and usually brings a sense of comfort and satisfaction. In the comfort zone, we don’t need to put in too much effort or take too many risks, because we already have the relevant knowledge and skills to deal with various situations. The so-called learning area refers to the fields or tasks that we are not familiar with and need to learn and explore, and need to spend more time and energy to master relevant knowledge and skills. In the learning area, we need to continue to learn and practice in order to make progress and improve. Learning zones often present a level of challenge and discomfort, but also a sense of accomplishment and satisfaction. The so-called panic zone refers to an area or task that we are completely unfamiliar with and unable to cope with. It requires great effort and great risk to be able to deal with it. In the panic zone, we experience extreme insecurity and fear because we don't know how to respond and solve problems. Panic zones often bring about extreme feelings of stress and anxiety that can lead us to negative emotional and behavioral responses.
image.png
Constantly stepping out of the comfort zone refers to stepping out of the scope of the original comfort zone and incorporating the scope of the original learning zone into the comfort zone. For example, although the technology used by your company is a bit outdated, no one prevents you from learning new technology. You can take the initiative to master the technology required for interviews in big factories; although everyone is writing "CRUD" code, some students However, they can take the initiative to study code specifications and strive to write high-quality code; some students can actively learn the experience of code review, and can give very critical and reliable suggestions in code review; although they are all doing traditional business development, Some students can grasp every BUG, ​​go deep into its principle, and thoroughly master a certain knowledge; although some technical live broadcasts or speeches may be a bit boring, some students can always learn something from them, such as learning the typesetting of other people's PPT, learning People's speech skills, etc.; although everyone is doing relatively simple business, some people can think about the value of the product, can put forward their own optimization suggestions, can find their own shortcomings in each project, and continue to improve. For example, in the first few years when IDEA first came out, many people could always find various reasons to say that IDEA was "not easy to use" because they were used to using Eclipse, but some people could become the first batch of people to use IDEA. For example, with the advent of the AI ​​era, it is clear that AI can greatly improve efficiency, but many people always mention the shortcomings of AI and refuse to use it, while some people can study prompt word skills and make full use of AI to improve the efficiency of life and work.

3. How to do it?

There are many ways to grow fast, and everyone may have their own version.
In my opinion, the key to the problem is whether you have the willingness to take the initiative to step out of the comfort zone, and whether you can have clear goals, find motivation, persevere, find effective methods, and continue to improve .
image.png
I think we must first know where the target is in order to be targeted. Then constantly breaking through the comfort zone requires anti-instinct, initiative , active learning, active thinking, active review, and improving hard skills as well as soft skills.

3.1 Clear goals, targeted

image.png
For students who have not yet graduated, read more about the requirements for internships and school recruitment in large factories. Achieve " I have what others don't have, and I am superior to what others have ".
For example, many students in school have never used Redis and HBase. If you have never used Redis and HBase, you can build a simple environment and try to use it yourself, and buy books that explain the principles to study repeatedly. You can calmly deal with interviews, which will have many advantages.
For example, many students have participated in well-known open source projects. You can participate in some major open source projects and get certain results. The competitive advantage is very large.
For example, if you can participate in some important national or even international software competitions and get a good ranking, you can get rid of a lot of competitors.

image.png
For students who are already working, you can study the requirements for the next one and two ranks that are disclosed by the company or the public.
For example, some of the multi-threaded programming, design patterns, Java virtual machine mentioned here; the principle of middleware; abstraction ability; risk awareness; analysis and solution ability of complex problems;

3.2 Break through the comfort zone and continue to grow

3.2.1 Do slightly challenging tasks

There is a saying in "The Analects of Confucius": "If you want to seek the middle, you must seek the top; if you want to seek the top, you must seek the upper and lower; if you want the upper and lower, you must seek the truth." Only by constantly doing more challenging things and determining higher Development goals, in order to achieve their goals in constant competition.
There was a junior who took the initiative to participate in well-known open source projects in China before graduation. After contributing some good features, he became an MVP. School recruitment has a great advantage in finding a job, and in the end he easily received offers from many major companies.

image.png
I know an outstanding classmate who quickly rose from P5 to P6. The projects he usually undertakes are complex and challenging. In just one year, he has achieved rapid growth by designing complex technical solutions.
You can actively strive to undertake some slightly challenging tasks. Even if you don’t have the opportunity to be fully responsible for a challenging project, but only participate in one part of it, don’t just care about your own "two acres and three points of land", but take the initiative to understand the design of the entire project.

3.2.2 Continuous learning (solid foundation, learning from people around you, making good use of tools)

As the saying goes: "If the foundation is not solid, the earth will shake." In the process of work, it is necessary to constantly consolidate the professional foundation in order to go further. After several years of work, you will find that most of the daily program design and the solution of some difficult problems ultimately rely on professional foundations, such as operating systems, computer networks, data structures and algorithms, computer composition principles, and some classic knowledge theories in software engineering . If you can master the design ideas of classic middleware, such as Redis, Hbase, ElasticSearch, RocketMQ, etc., you will also have a qualitative improvement in your solution design. Personally, I suggest choosing a classic book for each technology and reading it several times, so that the principles can be easily grasped. Such as "How MySQL Works", "Redis Deep Adventure", "HBase Sleepless Book", "In-depth Understanding of Apache Dubbo and Actual Combat", "In-depth Understanding of Kafka Core Design and Practice Principles", "ElasticSearch Actual Combat", "Design Patterns" Zen", "In-depth Understanding of Java Virtual Machine" and so on.
insert image description here

The so-called: "Threesomes, there must be my teacher Yan." Only by learning from the excellent colleagues around us can we grow faster. For example, some students are very good at doing PPT, they can observe and ask for advice, and strive to improve their PPT level; For example, some students know a lot of AI tools and prompt word skills, so they can take the initiative to ask for advice, so that AI can also improve the efficiency of their life and work. For example, some students do high-quality projects with few failures and bugs. You can ask him for some experience and skills. For example, some students can always quickly locate the cause of the problem, and they can learn from him the ideas and tool instructions for troubleshooting.

Use good tools. Especially now that the AI ​​era is coming, it is especially important to make good use of tools. AI tools greatly reduce the cost of learning, you can keep asking a question and quickly get the answer you want, you can let AI give you examples, let AI explain to you in easy-to-understand language, etc. With the blessing of AI, we can learn knowledge faster and solve problems faster. I recommend reading my other article: "From Disappointment to Mastery: Mastering and Using Skills of AI Large Models" . There are also some other tools, such as some IDEA plug-ins that can improve efficiency (some plug-ins can visualize the class structure with one click, some plug-ins can construct JSON strings based on classes with one click, etc.), and arthas that is convenient for troubleshooting (some problems Using arthas may solve the problem in an instant, but many people would rather change the code to log and publish several times), various commonly used Linux commands (some people use grep command to view logs, never use -A to check logs is very laborious), etc. .

3.2.3 Continuous Thinking

The so-called: "Learning instead of learning" , fast growth is inseparable from continuous thinking about business and technology.
image.png
We can't just be the executors of the project, we need to think about the value of the project, have a certain product thinking, think about how to make the product better, avoid some detours, and think about how to achieve better between business development and technology realization trade-off.

image.png

Continue to think, dig out the essence, and increase the depth; continue to learn, consolidate the foundation, connect knowledge, and increase the breadth. It is becoming more and more integrated.

In daily development, it is inevitable to encounter some BUGs. Many people are anxious to find solutions to the problems and neglect to explore the root causes of the problems. I think this is an important reason why many people cannot grow rapidly. In my opinion, every BUG is an excellent opportunity to test and improve your skills . When encountering a problem (except for emergency scenarios, where emergency needs to reduce business impact first, rather than root cause), you must find out the root cause, and you can even write an article and share it, so as to drive a deep understanding of a certain knowledge through each problem , In this way, more and more problems are encountered, and your mastery of knowledge is getting better and better. But the problems that a person can encounter are limited. If you want to have two years of experience in one year, you also need to encounter two years of pitfalls in one year. You need to take the initiative to understand some failures and bugs inside and outside the company through various methods. The reason, so that you can accumulate more experience.

3.2.4 Continuous review

I think the most fundamental reason for many people working for three years or one year is the lack of review. If you have been doing things in a similar way, there is a high probability that you will get similar results. Just as the time and space complexities of different algorithms are determined, if the algorithm cannot be replaced, it is difficult to make a qualitative leap. Just as the capabilities of different AI models are relatively fixed, it is difficult to make essential differences if you cannot change to different models or different versions of the same model. I read this sentence before: "Stupid people always hope to use the same method, but get different results every time." Many slow-growing people seldom actively think about the deficiencies in their current work, actively seek solutions, and constantly iterate on methods to achieve better results.
image.png
For example, you can conduct a review after completing each large-scale project. If some requirements are not clear at the beginning and cause rework later, then the next project should pay attention to requirements alignment; if the front-end workload of this project is not large, when you contact her for joint debugging She just said that she wants to develop, and next time you can ask whether the joint debugging can be done normally a day or two before the joint debugging; Do not have similar problems anymore; for example, a BUG appears after the project goes online, and this BUG can be discovered in advance through unit testing, so the next time you do a project, you must pay attention to the unit test coverage and the unit test of the boundary conditions; for example, The release plan of this project is relatively rough, which leads to the need to find someone to add some configuration information during the release. The next release plan should be more detailed; for example, if you encounter a difficult and miscellaneous disease in this development, ask a big boss around you. The big boss used arthas to quickly find out the root cause, so you have to learn to use arthas yourself, and even take the initiative to learn some advanced techniques.

Not only do you have to review the project, but you need to continue to review your own learning methods, your own problem-solving methods, and your communication methods with your colleagues, and find effective ways to improve it, so that you can do it every time. Get better and grow faster and comprehensively.

3.2.5 Enhancing soft power

For technological growth, it is not enough to improve "hard power", but also need to improve "soft power".

For example, the ability to write documents, articles, PPT and speeches; the ability to communicate and coordinate resources across teams; the ability to plan time and tasks reasonably.
It also includes mastering some classic thinking frameworks and methods, such as structured thinking, essential thinking, reverse thinking, innovative thinking, critical thinking, SWOT analysis, 3W2H method, etc. (This article will not expand in detail)
image.png
In short, promotion to a higher rank means that you need to focus on a single task (point), to manage the entire project process (line), to fully grasp business and team coordination (face), and even Cross-departmental cooperation, and then to cross-company cooperation. While requiring stronger hardware capabilities (coding ability, professional foundation), there are better requirements for soft skills (ability to do PPT, logical thinking ability, communication and collaboration ability).

Four. Summary

All in all, if you want to grow faster than others, you need to constantly step out of your comfort zone and accept more challenging tasks. You need continuous thinking, continuous review, and continuous learning to improve hard power and soft power at the same time.

If this article is helpful to you, please like and comment, your support is the biggest motivation for my creation!

Guess you like

Origin blog.csdn.net/w605283073/article/details/132550856