preface

I remember that when I was looking for a job in 2017, I rarely saw the recruitment of front-end architects. However, three years later, you can see that there are many titles about front-end architects in BOSS Direct Employment, which also shows that in these three years, Front-end practitioners have changed dramatically both in terms of their size and the challenges they face. A lot of front-end concepts actually come from the back end. It’s true that software architects have always existed for software engineering. It also opens up a new path for front-line front-end development as an alternative to management, becoming a front-end architect

I explained my understanding of the concept of front-end architecture in Front End Architecture – Let’s Start with Architecture. I have interviewed a number of front-end architects over the years, and I have put some of my experience into the front end interview – How to test a candidate’s architectural ability

This article is about how to go from a front-line developer to an architect

Let’s start with the harsh reality

If you’ve only been working for a few years, are young, enthusiastic about technology, and want to move forward in your career, then I’m going to have to give you chicken soup first. Reality is harsh, because reality is not a game.

Those of you who have played Diablo games should know that there is a career transfer system in these RPGS. Basically, you can transfer your career to a certain level of skill point, and the strength of your career depends on your skill point. In fact, in real life, there is a similar system. Some skills will have a bonus to other skills, or some skills will affect the play of some skills, as an old driver, I will talk about later is actually how to point, how to point more efficient, more useful, but you have to know the fact that the game is different from the game, you spend money to buy a Copy of their own, Resources are infinite, and the only thing you have to do is figure out how to get more resources with less time, but in the real world, people share a society, resources are shared, and most of the time you spend doesn’t necessarily translate into resources, and being a front-end architect takes a lot of resources, right

And ordinary line development is different, you get in a line of development of resources including the development of skills and knowledge, because open source coupled with the convenience of Internet information searching technology, most of one line of development, or graduate students compete is still the time cost, the basis of the different stages of people’s advantage is students accumulate effective addition to gain skills, Of course there is the potential opportunity cost of competing for jobs, but overall it is still a phase that can be made up over time, for example

Suppose you want to go to Dachang, but your educational background is not very good. You will face all kinds of opponents, such as students from Northern Qing Dynasty or players from the wild road, but people always have seven emotions and six desires. If you are extremely disciplined, do not fall in love, do not check douyin, do not hang out, and through the extreme use and exploitation of time, You still have a chance to get the same job opportunity as a big factory line developer.

However, dachang front-line development can not work for more than a few years, if the continuous upward transfer, is facing such a route

22- 30From junior engineer to senior engineer30- 35From senior engineer to veteran engineer35- 40, escape from big factories, into small and medium-sized companies to eat40- 50 ?
Copy the code

In fact, once you get past 35, it’s all up to you, because most of the job demand is coming from startups, but when the economy is bad, you don’t have startups, you don’t have those jobs, like now

However, recently I have found that many traditional companies have started to transform, which has created some demand for programmers, which may be another growth point of demand for programmers in the future. But I doubt whether the generation of programmers who have adapted to the Internet model can adapt to traditional companies. It remains to be seen

So if you don’t want to be an architect or a manager, I suggest that you save the money you earn before 35, learn something about investing, and agree with your partner as much as possible to delay having kids and focus on making money, which will leave you with other possibilities in your life.

Typically, a 10-20 person front-end team needs one or two architects, and at this rate, the architect needs more than the TL, about 10% to 20%. That means only one out of 10 senior front-end engineers will make the transition, and nine will fail.

So why did it fail? Shouldn’t everyone be able to succeed through constant technical investment, such as starting from the beginner to the advanced level?

The key to this is that being an architect is a hands-on profession, and it takes a lot of resources to develop an architect. Let’s take a front-end infrastructure architect, for example, and assume that you are fortunate enough to have the responsibility of designing infrastructure within your team

  • The effort of TL’s colleagues who will match you, assist you in development and assist you in development will be paid by the company. Assume that one senior developer is 25000/ month, excluding other extra costs, and four senior developers will cooperate with you with 50% of the effort. In order to practice your design and complete your work, assume that the project lasts for a year. This branch alone cost you $600,000 to become an architect. Is that more than your annual salary?
  • Let’s say your architecture is implemented in a different business in the second year, and the business r&d needs to work with you…

So it takes a company tens of millions of resources to train an experienced architect. If the core architecture in a large factory is probably in the hundreds of millions, can the company invest this kind of resources in every advanced development?

The answer is obviously no. That’s the harsh reality behind the 90% elimination rate. To move, you need to compete, beat 90% of your colleagues, your peers, and step on them to get ahead.

That’s the kind of intense competition that’s hidden in the context of the beautiful collaboration that we have on a daily basis, and this may sound harsh, but it helps you understand that reality

Becoming an architect and successfully transferring your job does not mean that your career is safe. The competition of architects is only more brutal than the competition of front-line development. From the primary to the senior to the senior architecture, each step needs to eliminate competitors and grab resources.

One of ali’s slang words, “wanting sex”, is a strong sense of competition.

How do you qualify yourself to compete

Make it an obsession to change careers as architects

When we play games, night, just to point full skills as soon as possible, and then experience a luxury ability of monsters, you that state at that time is a kind of strong desire, want from a line of development to change your job to the architect, first not talk about thinking, is the most basic desire, your heart will have a strong impulse and desire to become an architect, Make this desire with you, that only this obsession can drive you to meet the challenge, fight for resources, and active learning, most of the time you don’t need to know how to do, or do you even don’t know what is the front before the architect must have this kind of obsession, the obsession will let you ahead, win the future competition.

When someone asks you what your career plan is, don’t hesitate to say “I want to be a front-end architect”. You probably don’t know what a front-end architect is anyway 😀

Start with an architectural mindset

There are a lot of open source frameworks on the front end, such as React Vue. There are a lot of source code in each framework. There are a lot of interpretations of the source code on the Internet, but you’ll find that few people interpret the framework from an architectural perspective. Of course not. Not only is there, there is a great architectural design to keep such a large open source project in balance as it evolves. In fact, Vue3 specifically addresses the architectural problems of Vue2 and how Vue3 can be solved. Opening is part of the interpretation about architectural design, the React in official document also joined the architecture design of Fiber, the point of view of these documents and general source reading completely different, more abstract and dynamic, change the development thinking, the general source the interpretation of the interpretation of the article will focus on the algorithm, the processing of logic flow, But the architectural interpretation focuses on explaining where the boundaries are within the framework, how the Spaces separated by the boundaries work effectively with each other, what are the problems in the face of the scene, how can they be improved, and so on, which is a completely different way of thinking, right

When you’ve been doing front-end development for years, have a wealth of experience, a solid technical foundation, and a strong desire to move on, the next thing you need to do is to develop an architectural mindset and deliberately train that mindset to reverse the mindset of years of front-line development

Habit is a powerful force. I have seen many advanced developers fail in the process of establishing their thinking. Many of them have prestigious backgrounds, are smart and excellent, but fail in habit. Because after a line more than 5 years development, we will tend to any thinking about the problems of limited in one area, or explore one detail, read it, take the above source code are habitual from an API to read, how to get inside and see how to walk, and accumulated a lot of details in his mind. This habit is the biggest obstacle to a career change

The human brain has very limited processing capacity

China’s leaders, as the architects of the whole country, have to deal with problems of unprecedented complexity in the history of mankind. If he had to pay attention to the proper placement of signs on every street before he could make plans, I can’t imagine how to do that. Or if he had a lot of signs in his head. That’s probably a street structure at best. Not necessarily well designed.

Therefore, we should realize that the processing capacity of the human brain is extremely limited. Studies have shown that more than three groups of information in the process of memory is prone to forgetting

We need to abstract the details enough to form basic analytical architectural units, and then break them down and analyze them again. Take the React internal architecture as an example. The React internal architecture includes ReactCore, ReactDom, and Fiber. What you need to think about is the relationship between these sub-architectures, and if hooks are going to be added in version 16, how do you keep the existing architecture and add it to it? Then break it down to the architecture inside Fiber, and you have current, workInProgress, etc.

The biggest characteristic of an architecture is that it has internal boundaries. When we disassemble to a certain extent and see no boundaries, we can consider the closest architectural unit with boundaries to be the smallest architectural unit of the current architecture

So the architecture is a top-down thinking, rather than we used to that kind of bottom-up way of thinking, this completely reverse way of thinking is a great challenge to our habits, and this is why many advanced development in the cause of the failure in this step, after all, if you can’t get up early, can’t lose weight, can’t do not eat spicy and so on is a challenge to self habit, The power of habit is so powerful that we can hardly change our own habits without a belief drive

That’s why I put “Make it your obsession to switch architects” at number one

Deliberate practice competes with opportunity

I won’t tell you much about architecture theory, but the two core principles for dealing with architecture work are extremely simple

  • Look for established boundaries to design and organize the architecture
  • Keep the balance inside and outside the border so that all sides reach consensus

If architecture design is flat, the actual architecture is running in a multidimensional space, you can take the front-end architecture as a three-dimensional structure, you need to deal with people in different positions, such as product, the UI and the backend, etc., you need to cooperate with team members, you need to master all kinds of other soft skills, these I am not there

All you have to remember, the ability of architecture need to deliberate practice, you need to take the initiative to undertake the work of architecture design, strive for the opportunity of architecture on the maintenance, to think in your architecture to analyze the existing architecture of the project, find out the problems to be improved, of course, you also need continuous learning knowledge and skills in the field of the front-end to expand his toolbox of architecture, To deal with more complex and broader issues

The latter

I’m not here to discuss about the differences between a line of development and architectural skills, because I never think that it is the core of the difference, as the social widespread 2/8 principle, and we want to believe that 90% of people can’t become an architect, this is the law, no one can break, like I said the cruelty of reality, even if I tell you how to do, But there’s still a 90% chance you’ll fail, because the process is so complicated, there are so many variables, even your coworkers, your boss, the industry you work in can have a profound impact on how you grow up, but I hope this article reveals something

  • Ninety percent will fail
  • Most people don’t succeed in building structural thinking because of habit
  • Even if you develop an architectural mindset, you may not be able to become an architect because you are getting older, because you lose out on opportunities, or because your luck is bad

If you know these obstacles and are still determined to go down this path, start challenging yourself by breaking the habit of thinking. Good luck!!

This article is formatted using MDNICE