Android developers two months not find a job, or not to consider a career change?

EDITORIAL;

This epidemic this spring bucket of cold water poured down for Android developers, even more than before the so-called winter. Large numbers of people can not find work or be optimized, and even the company removed the entire department.

But from the side, the state is really a good thing;
first of all the people around that finally no longer complain about the environment as before, the industry accepted the fact that Android has passed the dividend period. More people began to complain about from the outside environment and transferred to examine their own ability, diligently practicing internal strength will come up.
Can be expected this continues, Android senior there may be a small wave of the outbreak, just give enough time, will be more of a group of senior architect for mobile development.

This year there are many Android developers have to change jobs, and some are on the way of a career change. Still hesitant, calm down and do not want to look blindly follow the trend, but to find a suitable direction.

In the end not turn it? We have to analyze;

1. If a career change, what change for the better?

Each person's own situation, the direction of rotation will be different, related to the development of artificial intelligence revolution is certainly the best, after all pigs can fly on the outlet, followed outlet understandable. Unfortunately, the artificial intelligence algorithms related to education and demanding, at least have to be a master of it, and this is just low with. Then the direction of the majority of Android developers can turn the main front-end, back-end and python, and so on. I'd probably say something:

1. Turn the front-end, I think this is the best direction of a turn, the front end of a lot of ideas are similar and Android, also as an extension of Android, to a large front-end development, if interested can turn on the interface front-end to try.

2. turn the back-end, back-end this is a complete career change, seemingly Java everyone will, but not the only back-end Java technology stack, various frameworks definitely call you a large head, a lot of people stressed the deep back-end technology, all kinds of concurrent treatment seems very high technical content, but this is just one of the few companies do. If you want a stable back end can turn to try.

3. turn python, python recently really fire, because he happened association with artificial intelligence, in fact, most of the learning python does not engage in any related artificial intelligence, are basically engaged in reptiles. Pursuit may turn the tide of python try.

2. Do not change jobs, to turn on the turn as soon as possible!

Change jobs, there are two I think is normal, one is industry disappear or decline, individuals can not display their talent. The other is not interested in the Bank, and therefore a transfer of interest of their own. Now most of the switch to purely follow suit, for that money, while ignoring the long-term development. Let's look at the following chart.

As can be seen from the figure, most people 35 years ago in accelerated phase after 35 years of rise or decline. Android developers to turn the front end, suppose a student to switch to Android A senior front-end changes to the front end of the primary, this time in front of the people are accelerating increase, in order to catch up with the front of the A students who have the same acceleration is impossible to do to, which led to his early career change is extremely passive, a students but also to ensure that front-end to become an expert before the age of 35 or Leader may not have to enter the period of decline after the age of 35, of course, then Android a student also abandoned the basic it's hard to be an expert.

If you want to go further, do not easily change jobs in the technology field, if you want to turn the sooner the better, the sooner the better, because the other competitors are accelerating increase, nobody will stop you, etc. of.

3. switch most are not qualitative change!

Development of a qualitative change can be understood as a field dramatically, or is not related to cross-border areas, for example: You can order by senior qualitative change expert, or a rose Leader of advanced development in the field of Android, or another cross community began to do some technology-related training, lectures, etc. the book was well known.

Who can help to rise into the period after the 35-year-old can be seen as a qualitative change, and career change is rarely a qualitative change, more of a step backwards back to the origin of a new start, the image point, is for a different brick then move brick it (except for high-tech). Therefore, we should pursue a qualitative change, rather than parallel or backwards, can withstand a setback, many times it is difficult to enter the back of the rise in the 35-year-old.

Future 4.Android system

See here, if you still want to switch, it is recommended not imagine what will happen. Under the direction of development for us Android engineers

.Android system is the root, without it Android engineer does not exist. In my memory, as early as 2011, said Android system to have the speech finished, when after nine years, the Android system is still strong. Currently not seen an alternative system out, because the alternative is too difficult, and now Android has been widely used in mobile phones, tablets, car networking, networking, etc. in the field of smart TV, it is a veritable dominant terminal.

We do not say the phone, said relatively small minority of smart TV and smart projectors, which have been widely used in various household, get a new system, we want developers to re-develop these customized systems and applications? Really not sell account, let alone a mobile phone. Android is not Symbian, How can it be like to be able to substitute alternative, which is like the difficulty of re-development of a PC operating system to replace the windows in general. So Android system will survive for a long time, how long specific forecast is not good, should be better than most people programmer career longer.

4.1. Select a segments

Android now segments of very large, there are application development, reverse safety, audio and video, car networking, networking, mobile development, SDK development and the development of smart TV box, etc., select one of these areas and deepening. Such as audio and video, when I just started Android 8 years ago, the audio and video is muffled fortune (PC end), higher pay staggering, now in the mobile terminal, audio and video is excel, is a very Good choice

4. 2. Try to learn long half-life of knowledge

Knowledge refers to the half-life: With the knowledge update cycle is shorter, faster fission knowledge, a knowledge behind the cycle. The long half-life of knowledge occupations are older the more valuable, such as English teacher and surgeons, slow to update their knowledge and almost never out of date. This is something we are definitely programmers than not, most of our knowledge is relatively short half-life, a frame just a few years might be eliminated, which also led to programmers need to constantly learn new knowledge, and each of us time and energy are limited, so according to the half-life of knowledge, learning strategies have become particularly important.

The above half-life figure does not entirely accurate, but it is worth considering, if you are other technical fields can also refer to the half-life drawing. This figure is not telling us not to learn RN and applets, but try to work with their own learning long half-life of knowledge.

5. What should be in-depth study in the end?

According to the half-life of knowledge, as Android application development is the most should learn Java, App development of related technology, Android system underlying source code, data structures, design patterns, and so on. Note that in-depth study. You have to understand the core principles of these techniques through practical projects. But also to know these know these. Otherwise, no matter how long you do develop, it's still just a porter!

I know still do like technology development, basically 35k or more, they will often reflect on their own what aspects of technology is not deep enough, not what is important to learn the new technology. Rather than parroting the industry complaining about not having failed to make the turn which line is more appropriate these issues.

Android developers how to upgrade themselves? Talk about my two suggestions:

1, the horizontal development: (suitable for people of their own technical expertise)

Excel in their own fields to delve into at the same time, will develop Hybrid (Flutter, RN, H5) outside, will web development, micro-channel applets, another 5 years you have nothing to worry about looking for work. However, it is indeed difficult, likely to develop full-stack sake of food, and consequently know that, and consequently do not fine!

2, vertical development :( for most people)

If you do application development, application architecture go out into the direction of development; if you do system-level development, to delve into the underlying driver.

Can learn from the following aspects:

The development of language learning:

For example Kotlin, while doing the bottom, DNK development and other C / C ++ is essential, as well as high-level object-oriented language Java is the most important one of the most easily overlooked itself

Advanced base:

For example, Advanced Custom View, Android Framework layer principle, App management mechanism and so on;

NDK and JNI development is relatively common, 5G come, recruiters are planning to own a small company video capabilities, but we do not even NDK do not understand;

Source:

Understand and are familiar with the source, familiar with its implementation principle, strive to do the three parties can own the second package library.

Mobile Architecture :

Presentation layer architecture: MVC, MVP, MVVM, Android Architecture Components;

Architecture Layer: Modular -> componentized -> pluggability -> sandbox / double open technology;

 

Direction is easy to learn programming, but if only through the fragmentation of learning, their improvement is very slow.

How systematic in-depth study Android?

I collected more over the past few years Ali, and Tencent, byte beating, Huawei, millet and other companies face questions, the required interview and technical point carded a large and "Android Architect" interview Xmind (in fact, than expect to spend a lot of time), it contains details branch of knowledge context +

 

Java language and principles;

Senior UI;

Performance tuning;
tuning it is in reality demanding. No hand good code quality and design thought, alone modify tuning effect is limited. So for design patterns, data structures, algorithms for these can not proficient in basic skills!

NDK development;

advanced technology;

I gather information from the developer finishing understanding of these techniques to master, the domestic any major city in the hand pay more than 40W.

As for the job, Ali, Tencent such a giant company, if the technical clearance, also has the ability to manage and titles not low (such as Ali P7), the annual salary is more than one million! So why not give yourself a target vision of it?

It is important to build a knowledge framework

When we learn technology, if not pay attention to build a knowledge framework, then learn later, then you will encounter a problem, feel knowledge is a mess, not a system of their own learning before, coupled with the industry technical update soon, the more knowledge you learn in the future will be more and more, and before learning is fragmented he did not finish, you will feel the grasp of this knowledge is scattered.

Just like a lot of points, lines may have become connected, but the group is not a face. When we do a big project that needs to use a lot of related technical proficiency, and even use the component technology. If you just use some common long-term technical points, then you may have a long time to stay in small companies handling code.

Online learning materials a lot of Android, but if learned fragmentation, a problem only scratch the surface, no in-depth study, it is difficult to truly upgrade their technology. We suggest that you first develop a learning plan, according to the study plan associated knowledge to form a systematic body of knowledge.

When I was building the technical framework, but also organize high-level tutorial Advanced Systems, will be better than they are learning too much fragmentation, graphite document visible; "Android architecture Video + study notes"

Finally, to borrow the primary language lesson learned words;

Learning is like rowing upstream.

Before I always suspected this sentence. After all, it is the ancients I sincerely do not bully, then engaged in the development of this line naturally believe.

 

 

Published 56 original articles · won praise 1 · views 2895

Guess you like

Origin blog.csdn.net/chuhe1989/article/details/104973043