A new wave of unemployment is sweeping, and the new trend of mobile Internet

foreword

The IT Internet industry is developing very fast. No matter what kind of hot people's development is, it is relatively hot at the beginning, because the technical requirements for recruitment are relatively low, and there is a shortage of talents, so naturally the salary is relatively high. But after a few years, more and more people know these skills, and the market gradually has higher and higher requirements for technical level and work experience, and the salary and technical ability requirements match.

The same is true for Android development. When the market lacked Android development talents, the salaries of junior Android developers were relatively high at that time, but now as Android developers have more talents, the market has gradually included them. It is more difficult for an Android junior development engineer to find a salary that is suitable for him and his salary. If you have reached the level of an Android senior development engineer or architect, this is more popular.

I have been in the Android industry for several years, and I have been paying close attention to its development. After all, this is a guy who eats by himself, and he has also thought about the current market and future development. Regarding the issue that mobile apps are approaching saturation, we must first clarify two concepts, one is "popular" and the other is "saturation".

These two concepts are easy to understand, but it also depends on what kind of people are targeted. For those who have just finished training (including self-study) and have no actual development experience, these two concepts represent job gaps. Android developers are in short supply, and jobs will be easy to find, that is, "popular", not "
saturated , if you understand these two words in this way, then as far as the current market situation is concerned, android is no longer popular, and you may also find that it is more difficult to find a job than before, and the salary level is lower than before, but This does not mean that Android has gone downhill. It can only be said that this is a normal development of the industry. The blowout period of Android has passed. The days when you can get a high salary as long as you can click on Android are gone forever. Now, the market is becoming more and more rational, no longer blindly absorbing, but selectively absorbing.

insert image description here

Reasons why mobile apps are approaching saturation

The current terminal development has begun to enter a stable period. At this stage, there is a lot of pressure on large manufacturers and even smaller factories will be squeezed. The apps that people use are becoming more and more fixed. Even for large manufacturers, a few years ago, a push from a platform-level application would be enough. It can drain hundreds of thousands, and now the effect of these is getting smaller and smaller.

1. The threshold for developers is getting higher and higher:

There are fewer opportunities for small factories, and the business of large factories tends to be stable. In the short term, there will be no explosive growth on the mobile terminal. Then, the mobile terminal recruitment will become more and more rational, and the threshold will rise. In the past two years, looking at the department’s mobile terminal school recruitment, in addition to the solid technology itself, all 985/211 academic masters + competition results + various awards + NB internship experience, social recruitment is basically concentrated in major domestic Internet companies and several major mobile phones in the company. And now most companies are limited by their own business scale and investment in the mobile terminal. The gap between technology and major domestic Internet companies is getting wider and wider. In other words, it will become more and more difficult for small companies to survive. It will also become increasingly difficult for companies to switch jobs.

2. The requirements for developers are getting higher and higher:

It is becoming more and more difficult for small factories to survive, which will inevitably put higher demands on developers. Compared with before, the technical requirements for terminal developers will become wider and wider. It is best to be a generalist and a big front-end. The internal pressure of large factories is also very high, and it is becoming more and more difficult to greatly improve the data. Therefore, more directions and more demands are inevitable.

Today's terminal developers are dealing with more and more complex problems than before. They need to cover a wider range, learn faster and deeper, and need to have enough soft power support in addition to technology. Under such requirements, in many cases, the gap in ability can no longer be made up by hard work, and most people can't talk about how diligent they are.

Recently, I saw a high-voted answer to this question about whether she could find a job after learning Android on her own with zero foundation. She told how she chose Android from the beginning, after studying and struggling very hard, but finally had to give up in the face of the current environment. . After reading it, I really felt sorry for her. If I had entered the industry two years earlier, the result would have been much better than now, but unfortunately, this is the reality, and the requirements are higher now.

"Actually, it's not difficult to understand. The current Internet environment is not good. What the company wants to recruit is someone who can help the company fight tough battles, not someone who needs to be taught by others." When Xiaodong summed up his failure experience, he thought that he could Insufficient "hardware" with working years is also a major flaw for the lack of underlying core technology and basic principles.

"In the past, when a company recruited mobile programmers, it mainly depended on what projects you had done, whether you could draw the UI, write the interface and business logic. But now the interview not only asks about your project experience, but also asks questions about the underlying and principles, and even It will extend to the company's business and data. If you usually just bury your head in typing the code, you will definitely know nothing about it."

insert image description here

Mobile needs are always there. But in the future, mobile programmers need to go to the bottom and study the principles. For programmers, at a certain stage, they should not be limited by language and platform. "

At the same time, they all pointed out that even if the existing mobile technology is really replaced one day, it will not pose any threat to the truly "profound" mobile programmers. Because the technologies are interlinked, previous development experience can be reused and migrated.

In order to help everyone get a deeper understanding of the underlying principles and understand the source code of the Framework, I will share a framework learning manual for Ali's own use on the intranet, which includes system startup process analysis, cross-process communication IPC, Handler source code, AMS analysis, WMS analysis, and Surface source code , PKMS source code and many other source code analysis.

Therefore, in order to facilitate everyone to read the source code of the Framework layer, I will share a Framework learning manual for Ali's own use, which includes system startup process analysis, cross-process communication IPC, Handler source code, AMS analysis, WMS analysis, Surface source code, PKMS source code And many other source code analysis.

Chapter 1 System Startup Process Analysis

  • The first section Android startup overview
  • Section 2 init.rc analysis
  • Section 3 Zygote
  • Section 4 Interview Questions

picture

Chapter 2 Cross-process Communication IPC Analysis

  • The first section Sercice can also be understood in this way
  • Section 2 Binder Basics
  • Section III Binder Application
  • Section 4 AIDL Application (Part 1)
  • Section 5 AIDL Application (Part 2)
  • Section 6 Messenger Principles and Applications
  • Section 7 Server Callback
  • Section 8 Get Service (IBinder)
  • Section 9 Full Analysis of Binder Interview Questions

picture

Chapter 3 Handler Source Code Analysis

  • Section 1 Source Code Analysis
  • Difficult questions in the second quarter
  • Section 3 Handler Frequently Asked Interview Questions

picture

Chapter 4 AMS Source Code Analysis

  • Section 1 Introduction
  • Section 2 Android Architecture
  • Section 3 Communication Methods
  • Section 4 System Startup Series
  • Section 5 AMS
  • Section 6 Analysis of AMS Interview Questions

picture

Chapter 5 WMS source code analysis

  • Section 1 WMS and activity startup process
  • Section 2 WMS Drawing Principle
  • Section 3 WMS role and instantiation process
  • Section 4 WMS Working Principle

picture

Chapter 6 Surface source code analysis

  • Section 1 Creation process and software and hardware drawing
  • Section 2 Double Buffering and SurfaceView Analysis
  • Section 3 Overview of Android Graphics System

picture

Chapter 7 Analysis of SurfaceFlinger Source Code Based on Android 12.0

  • The first section application establishes a communication bridge with SurfaceFlinger
  • Section 2 SurfaceFlinger's startup and message queue processing mechanism
  • Section 3 SurfaceFlinger's VSync (Part 1)
  • Section 4 SurfaceFlinger's VSync (middle)
  • VSync of SurfaceFlinger in the fifth section (below)

picture

Chapter 8 PKMS source code analysis

  • Section 1 PKMS calling method

  • Section 2 PKMS Startup Process Analysis

  • Section 3 APK Scanning

  • Section 4 APK Installation

  • Section 5 PKMS Permission Scanning

  • Section 6 Silent Installation

  • Section 7 requestPermissions source code process analysis

  • Section 8 PKMS Interview Questions

picture

Chapter 9 InputManagerService Source Code Analysis

  • The first section Android Input input event processing flow (1)
  • The first section Android Input input event processing flow (2)
  • The first section Android Input input event processing flow (3)

picture

Chapter 10 DisplayManagerService Source Code Analysis

  • The first section DisplayManagerService starts
  • Section 2 Creation of DisplayAdapter and DisplayDevice
  • The third section DMS part of the process of turning on and off the screen
  • Section 4 Brightness Adjustment
  • Section 5 Proximity Sensor off-screen principle
  • Section 6 Update of Logical Display and Physical Display Configuration

picture

Guess you like

Origin blog.csdn.net/Eqiqi/article/details/131177512