The cold winter of Android developers: under the cycle of reincarnation, how many people break the cocoon, how many people sink?

Author: Liu Wang Shu

Hello everyone, I am Liu Wangshu, I'm back! Recently, I shared some videos, which belong to Wang Shu Za talk. Wang Shu Za talk will share some experiences and talk about everything.

In addition to Wangshu Zatan, there is another video branch called BATcoder. What is BATcoder? It is an extra part of the Android Advanced Trilogy, which will expand and upgrade the content of the Android Advanced Trilogy, and will share it with everyone in the form of a video.

As for why it is called BATcoder, this is because I hope that everyone can enter their favorite big factory after watching my technical video. This is the first video of BATcoder, but this time I will not share the technology, but will talk to you about where Android engineers should go.


1. Has the winter really come?

This year's market is worse than last year's overall. Many students found that many companies were hiring people and went for interviews. As a result, several companies were waiting for notifications. In fact, the number of positions recruited was limited and there were many interviewers.

Is winter really here? I don’t think it’s necessary. It’s just that mobile development is not popular anymore. The competition is more intense. There are still demands. Mobile programmers and programmers in the PC era are still different. There is no such high-frequency use that can replace mobile phones. Items.

As the once hot Android engineer, now facing the following problems:

  • The overall Internet environment is not optimistic
  • There are many Android developers but fewer positions, resulting in more and more demanding requirements
  • Big front-end trends, frequent cross-platform solutions, and small programs raging, Android is no longer the only solution for application development
  • Artificial intelligence, big data and other technologies are hot, training institutions are all out, school students are studying frantically, and colleges learning Android are very common.

From the above points, it is really not an exaggeration to say that Android engineers are embarrassed on all sides. I will analyze from the following aspects, please tap.

  1. Remove the misunderstanding of Android
  2. Whether to change career
  3. How to improve competitiveness

1. Resolve the misunderstanding of Android

Whether it is Android counterparts or other technical fields, there are obviously some misunderstandings about Android. As for Android development, if there is a misunderstanding of Android that may affect subsequent development and decisions, I need to eliminate this misunderstanding.


1.1 The future of Android

The Android system is the root, without it, Android engineers no longer exist .

In my memory, as early as 2011, it was said that the Android system was going to end. Nine years later, the Android system is still strong. The only threat to it at the moment is Google's Fuchsia. Google's real intention may be to be an alternative rather than a replacement, because the replacement is too difficult.

Now Android has been widely used in mobile phones, tablets, Internet of Vehicles, Internet of Things, smart TVs, etc., and is a veritable terminal hegemon.

Let's not talk about mobile phones, but smart TVs and smart projectors. These have long been widely used in various households. If we build a new system, do we want developers to redevelop these customized systems and applications? It's really hard to buy it, let alone a mobile phone. Fuchsia people learn Fuchsia. When you are an Android developer, you are a fool like to repeat the same mistakes?

Android is not Symbian, how can it be replaced if you want to replace it? This difficulty is like re-developing a PC operating system to replace windows. Therefore, the Android system will survive for a long time. It is difficult to predict how long it will be. It should be longer than most programmers' careers .

Recently, Hongmeng has also come out. Many students asked me if Hongmeng is a threat to Android. From other angles, the emergence of Hongmeng will actually be beneficial to Android development from the perspective of working alone, because the learning cost of other technology branches is very high. High, Android development can seamlessly cut into Hongmeng for Hongmeng development. At present, there are already Android engineers who are developing both Android and Hongmeng at the same time. If you pay one salary and do two jobs, you say your boss is not happy?


1.2 Android's future employment trends

Although the current employment situation for Android is not very good, the employment trend in other technical fields is not optimistic, because of the influx of training personnel in colleges and training institutions.

When I went to university in 2005, the software engineering major was not very popular. I learned some conventional techniques, such as algorithms and data structures, C++ programming, object-oriented methods and programming, etc. After graduation, I started to engage in C++ and Java. Web and .NET etc.

Looking at it now, IT-related majors are simply hot. Everyone feels that this industry has developed to make more money. Therefore, more and more students apply for related majors. Many universities have majors in mobile Internet application technology and artificial intelligence colleges. Every year, a large number of college graduates and training institutions come out into the market, and China’s Internet companies obviously don’t need so many talents. It is conceivable that there are more wolves and less meat.

We can probably predict that the number of people developing Android in the future will grow slowly. Taking into account the future positions of the company, the future employment trend of Android is still stable, but it is hard to say in other technical fields. After all, no field can resist the influx There are so many people.

Recently I heard that many people switched to Android? What? Joined the army in 49 years? Really not, because there are too many people in many technical branches nowadays, everything will be reversed, and there is no fuss about transferring to Android.


1.3 The ceiling of Android development

Many people think that the depth of Android technology is not deep, the technology stack is not huge, and the Android career development is limited. This is really a big misunderstanding .

First of all, technically, the Android technology stack has become larger and larger over time, and there are more and more subdivided fields, mainly including Android application development, reverse security, audio and video, Internet of Vehicles, Internet of Things, and mobile phone development. And SDK development and so on.

Each subdivision field consists of many technology stacks, and the depth is deep enough. Take the underlying source code of the Android system that is common to all subdivision fields, and you will be better off learning.

Furthermore, professionally, it is indeed difficult for Android application development to be promoted to CTO and technical director. The general CTO and technical director are mainly backends. This is mainly due to two reasons:

  1. The back-end technology stack has matured very early. When I switched to Android development 10 years ago, the 30-something Java developers were already very good. As time goes by, the back-end technology is much better than Android. The number of people is larger and more powerful. When they were technical managers, we were still moving bricks.
  2. The back-end can indeed coordinate the overall situation, which is an important position in the company's business.

But we have overlooked the most important point. If we are doing the back-end, will we be able to be the CTO and technical director? I think it's also very difficult, so don't just stare at the heights. First think about how far you can reach . It is unreasonable to stand halfway up the mountain and say that the scenery below the mountain is not open .


2. Whether to change career

Android is not popular anymore. A lot of Android development has already switched careers. Some are on the path of changing careers, and some are hesitant. Should I switch? Let's analyze it.


2.1 What is the best transfer

Everyone’s own situation is different, and the direction of turning will also be different. It seems to be the best to turn to artificial intelligence-related development, but recently artificial intelligence has not been as high as last year, and artificial intelligence-related requirements have high academic qualifications and algorithms. At least it must be a master's degree, and this is just a low profile.

Then most of the directions that Android development can turn are mainly front-end, back-end, python and so on. Let me say something about it:
1. Turn to the front end. This is the best direction I think. The concept of the front end is similar to Android. It can also be used as an extension of Android to develop towards the big front end. If you are interested in the interface, you can turn to Try the front end.

2. Turn to the back-end, the back-end is a complete transition. It seems that everyone knows Java, but the back-end technology stack is not only Java. Various frameworks will definitely make you big head. Many people emphasize the deep back-end technology. Dealing with high concurrency seems to be very technical, but this is only one of the few companies doing it. If you want to be stable, you can switch to the backend to try.

3. Switch to python. Python seems to be very popular because it is related to artificial intelligence. In fact, most people who learn python are not involved in artificial intelligence, and are basically engaged in crawlers. Those who pursue the wave can switch to python to try.


2.2 Don't change careers easily, switch as soon as possible

There are two kinds of career changes that I think are normal. One is that the industry disappears or declines, and individuals cannot display their talents. The other is that the interest is not in the bank, so turn to one that you are interested in.

And now most of the changes are purely to follow suit, for the money, and ignore long-term development. Let's take a look at the picture below.

This picture is not completely accurate, just to better illustrate some problems.

It can be seen from the figure that most people are in the acceleration period before the age of 35, and rise or fall after the age of 35.

Taking Android development to the front-end, suppose an Android senior A classmate changes to the front-end of the front-end will become the front-end elementary or intermediate. At this time, the people engaged in the front-end are accelerating.

It is very difficult for student A to catch up with the previous person with the same acceleration, which makes him extremely passive in the early stage of the transition. Student A must ensure that he becomes a front-end expert or leader before the age of 35. Does not enter the decline period later.

Of course, at this time, if student A's Android is basically abandoned without practice and learning, it is difficult to become an expert.

If you want to go further in the technical field, don’t change careers easily. If you want to switch as soon as possible, the sooner the better, because other competitors are accelerating and no one will stop waiting for you. of.


2.3 Most career changes are not qualitative changes

A qualitative change in development can be understood as a substantial improvement in a field, or a cross-border in an unrelated field. For example: it can be changed from an advanced qualitative to an expert in the Android field, or it can be promoted from an advanced development to a leader, or cross-border The industry began to do some technical-related training, speeches, books, etc. and became well-known, or entrepreneurship, sideline business, etc., broadened the channels for making money.

Anything that can help not to enter the recession after 35 years of age can be regarded as a qualitative change , while changing careers is rarely a qualitative change, more is going back to the original point and starting again. From an image point of view, it is a different brick. Only move bricks (except for high-tech ones).

Therefore, we should pursue qualitative change rather than parallel or retrogression. One retrogression can be tolerated, and it is difficult for us to enter the ascending period after 35 years of retrogression.


3. How to improve competitiveness

Seeing this, if you still want to change careers, don't read it. Let's talk about how Android can improve competitiveness.


3.1 Choose a segment

Android is now subdivided into many fields. The aforementioned are application development, reverse security, audio and video, Internet of Vehicles, Internet of Things, mobile phone development, SDK development, and smart TV box development. Choose one of these fields and continue Go deep.

For example, audio and video. When I first started Android 10 years ago, audio and video made a fortune (PC side). The salary was so high that they were surprisingly high. Now on the mobile side, audio and video are even more blue. A good choice, if you want to get started, you can see He Junlin "Android Audio and Video Development".


3.2 Try to learn knowledge with a long half-life

Knowledge half-life refers to: as the knowledge update cycle becomes shorter, the speed of knowledge fission increases, and a cycle of knowledge outdated. Occupations with a long knowledge half-life are more valuable as they become older, such as English teachers and surgeons, whose knowledge is updated slowly and is hardly outdated.

This is absolutely incomparable to our programmers. Most of our knowledge has a relatively short half-life. A framework may be eliminated in just a few years. This also causes programmers to constantly learn new knowledge, and each of us Time and energy are limited, so based on the half-life of knowledge, strategic learning becomes particularly important.

The above half-life diagram is not completely accurate, but it is worthy of reference. If you are in other technical fields, you can also refer to this half-life diagram. This picture does not tell us not to learn RN and small programs, but to learn knowledge with a long half-life in combination with our own work.


3.3 Do subtraction, try to specialize in one technique

In today's society, the division of technology is becoming more and more detailed, and the more detailed it means that most companies (except small workshops) need specialized talents (preferably proficient in multiple disciplines).

You will find that most of the technical people around you rely on one technique, but you rarely see a bunch of techniques that are not proficient.

For example, in the world of martial arts, the master showdowns all took out the martial arts at the same time. If the martial arts were not good at home and were abused every minute, the remaining martial arts would not need to be used for ugliness.

I think the real version is to go to a big company to interview Android. As a result, I don't know the Android technology deeply, and I am abused by all kinds of things. The interviewer is not interested in learning about the remaining front-end technology, back-end technology, and python.

So it’s not that the more skills you know, the better, you must do a good job of subtraction, first specialize in one subject, and then learn other techniques .


3.4 What do we need to learn in depth?

According to the half-life of knowledge, the most important thing to learn as an Android application development is the basics of Java, App development related technologies, the underlying source code of the Android system, data structures, design patterns, network related and so on.

I also followed this idea and published "Android Advanced Light" in 2017, which introduced design patterns, network-related, Java, and App development related technologies.

This is obviously not enough, because there is one most important knowledge that has not been mentioned, that is, the underlying source code of the Android system. This is a knowledge with a long half-life and general knowledge. No matter which segment of Android you are engaged in, the underlying source code of the Android system is all you need. Master it, and it will make you have a strong competitiveness, this is because a longer time of learning can only master the skin.

To this end, I published the second part of the Android Advanced Trilogy "Android Advanced Decryption" in 2018, and this year I published the third "Android Advanced Guide to the North".


4. Lead everyone to learn together

Now I have returned to the public account and blog, and will lead everyone to learn together in the form of video + text.

Finally, here I also share a piece of dry goods. The Android learning PDF + architecture video + source notes collected by the big guys , as well as advanced architecture technology advanced brain maps, Android development interview special materials, advanced advanced architecture materials to help everyone learn and improve Advanced, it also saves everyone's time to search for information on the Internet to learn, and you can also share with friends around you to learn together

If you need it, you can click to get it

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/110455489