Life is a process of making choices. To be a good front-end engineer, you need to make key choices in your career, and the key choices are just a few: timing, company selection, and management team.

Time to Jump ship

In recent years, the idea of “stepping out of your comfort zone” has often been mentioned and promoted. However, upon closer examination, this argument seems questionable. Why do people want to step out of their comfort zone?

What is a comfort zone? Working in a comfort zone generally has the following characteristics:

  • High degree of repetition, do not need too much thinking and analysis, according to previous experience on the line;
  • High substitutability, the market can easily find the same type of talent to replace your work;
  • The work content is relaxed, and the current job is not helpful for personal ability improvement.

Once you’ve defined your comfort zone, return to the question you posed at the beginning: Why go outside your comfort zone?

Because most of the time staying in your comfort zone means sacrificing long-term benefits for short-term gains, leading to unseen risks. For example, in the case of crisis layoffs, the company will give priority to employees with insufficient workload and strong substitutability. These laid-off employees are in the comfort zone for a long time, and their ability does not grow with age, and it is difficult to find satisfactory jobs. Even if the company is doing well, employees in the comfort zone may lose the opportunity to be promoted because they are doing repetitive work for a long time, resulting in low output value or inability to improve their ability to keep up with the company’s development speed.

So be rational about “more money, less work, closer to home”. More money and closer to home are certainly good, but less work is a disadvantage for personal growth and promotion, and it’s easy to get stuck in your comfort zone.

The correct approach should be to first actively identify the comfort zone, do “sunny roof repair”. For example, annual/monthly summaries at work and updating your resume every six months are good practices. When you realize you’re in your comfort zone, make adjustments, such as changing your course of study and applying for more challenging jobs. If your current work environment doesn’t allow you to increase your skills or your salary effectively, consider moving on, even if you’re still at a high point.

Anything that helps you grow will eventually become a hindrance to you. Rapid personal growth can be achieved by reviewing regularly to judge and get out of your comfort zone.

How to Choose a company

When we choose whether to join a company, we can consider from the following four aspects, in order of weight:

Job Responsibilities > Direct leadership > Company prospect > Industry trend

responsibility

The ideal job is one that is part of the company’s core business and one that allows you to grow. It is easy to understand that core business refers to the business that can create greater value for the company. Some positions may not belong to specific business, such as architecture group and technology center, so you can see what business projects it serves.

In the first three or even five years of work, the core focus is technology. However, the further you go, the more you should pay attention to your comprehensive ability, such as management ability, product thinking and communication ability.

Job description information is usually not very specific, so in the interview process to communicate with the interviewer to understand, for example, the project is used in the stack? What are the technical difficulties? Who is the target audience for the product? What is the revenue or active user base of the product?

Directly under the leadership

Direct leadership is a factor that many engineers tend to overlook, but it is crucial. Because your immediate supervisor’s attention and help will directly affect your growth rate and promotion rate, we often refer to your immediate supervisor as “boss”. The ideal direct leader should have three characteristics.

  • Focus on coaching. The work gets the attention of the leader, the performance is easier to see, and the problems are easier to correct and improve in time. If you are just an ordinary member of the team and do not receive too much attention, then you can do your job well on the basis of upward management skills, such as taking the initiative to report to the leader, timely communication of problems encountered in the work and other ways to attract attention.
  • Technical ability. You can learn more by working with a leader who is technically competent.
  • Have a voice. Only when the leader’s voice is big enough can he strive for more benefits for you.

The information about the direct leader can be obtained through communication and inquiry during the interview stage. For example, by asking about the organizational structure, products and business of the company, the right to speak can be deduced. For example, by asking about the resume of the direct leader from other interviewers, the technical ability can be judged.

Company prospects

You should be careful when choosing a company every time you change jobs. The main reason is not only for fear of being cheated, but also because every company you choose will become your name card, and your career history will directly reflect your judgment, career planning and working ability. The development prospects of the company can be generally judged from the following two aspects.

  • What is the mission of the company? It reflects the development pattern of the company. If the company only wants to make money through listing or financing, it will be difficult for such a company that only focuses on interests to succeed. Even if it succeeds, there will not be much room for development.
  • Who are the users of the company’s products? If the company’s product is for the enterprise, then consider the revenue capacity of the customer enterprise and the budget for the product. If your company’s product is targeted at individuals, consider how many people you’re targeting and how often you’re using the product.

Two additional points:

  • I do not recommend outsourcing companies, because outsourcing companies have high work intensity and do not pay attention to technology, which is bad for personal growth.
  • Don’t judge by the company name; some software companies may not be technology-focused.

Industry trends

“Pigs can fly if they stand on the draught.” It’s a phrase many of us have probably heard, but few of us have thought about, what would happen if the wind stopped? The answer is that birds fly high and pigs fall hard.

Therefore, the industry can only be regarded as the catalyst for the development of the company. It is not necessary to think that the company will succeed if it is in a good industry. The industry can only determine the upper limit of the company’s development.

A few common mistakes must guard against.

  • Don’t think blue sea is good, red sea is bad. Although the red Sea competition pressure, but it shows that the opportunity to enter the industry has been mature, has been recognized by the market; The blue ocean market is likely due to immature technology, small user scale or high cost of product implementation. China’s e-commerce industry is a typical example. When it was blue ocean, e-commerce enterprises like 8848 did not succeed, while Alibaba succeeded. When it was red sea, Pinduoduo rose again.
  • Do not think that the market is broad, the development of the company must be good. Business can not completely rely on imagination, the company can not necessarily become the industry’s leading enterprises, even if it is difficult to achieve a monopoly.
  • More realistically, if the cake gets bigger, how much can you split it? Compensation and benefits can be estimated with reference to similar large companies. Stock options are more difficult to estimate, but can be estimated based on the market value and proportion.

In a word, luck is also a kind of strength. The correct interpretation of this sentence should be: First of all, one should have enough ability to recognize opportunities and pits, and then have enough ability to seize opportunities after recognizing opportunities. So joining a company with good growth prospects is considered by some to be luck, and is probably the result of other people’s active thinking.

How to manage well

We often see an argument on the Internet: “Programmers with average technical level should consider transferring to management when they are old.” This view is a classic misrepresentation.

First of all, let’s switch to the perspective of the boss. If you are the boss, would you like to promote an engineer with outstanding ability and performance, or an engineer who wants to transfer to management because of his lack of ability? Most of the time it should be the former.

Secondly, as an engineer, do you want to choose a leader with strong skills, or a leader who is not good enough to do management? I believe that most candidates want to work and learn with a strong leader.

Therefore, management is not a passive escape of technical incompetence, but an active choice based on personal career planning.

So how to manage well? There are a couple of things.

  • Assign tasks. Divide the project development tasks, set the development schedule, and allocate them reasonably according to the urgency of the project, the development ability and workload of the team members.
  • Technical selection. Generally speaking, it is recommended to use mature and mainstream technical frameworks for core projects. Due to the good ecology of these technical frameworks, there are many third-party libraries and solutions based on them that can be used directly, thus ensuring the rapid development and launching of projects. For small, non-core projects, such as tools used internally by the team, explore new technologies.
  • Coordinate and guide. Identify problems in team members’ work and coordinate or provide resources to solve them. Most engineers do not like to be good at making work reports, which will lead to many negative results. The achievements made are not easy to be seen by the leaders, and the problems encountered are not easy to be found. Therefore, in view of this situation, in addition to the common weekly meeting system, we can join the daily mechanism during team management, set the most important work objectives for today (no more than 3) when we go to work in the morning, and summarize the achievement of today’s work objectives when we leave work in the evening. In this way, as a manager, the progress can be well controlled. Once problems are found, the manager can ask for guidance in time and praise the outstanding situation in time. It should be noted that whether weekly or daily, we must control the content and length of the meeting, not a mere formality.
  • Set norms. Hold the team to the highest possible standard to ensure project code quality; At the same time, actively explore and implement some tools and methods to improve team efficiency.
  • Team building. Identify problems in team members’ work and point them out, then help them improve. For example, let team members set their own OKR or KPI according to the company’s goals and their own development, and then review it on a regular basis one-on-one. One bad way is not to communicate with team members at ordinary times, only to find the problem in the semi-annual assessment, and inform the assessment of the poor rating.
  • Fight for benefits. Use less punishment and more positive motivation to boost team morale. Timely help outstanding team members to be promoted and paid, on the one hand, can avoid staff turnover, on the other hand, can encourage other team members to grow.

In short, the biggest difference between managers and developers is not the need to focus on technology or write code, but the shift in thinking. To transition from an individual to a team, the team’s output equals your output, the team’s growth equals your growth, and the team’s problems equals your problems.


Public account “Grace Front end”

For every aspiring “front-end ER” to lead the way, build dream aspirations.

Just to be an excellent front end Engineer!