Sad! At the age of 30, I was deeply unemployed for 3 months. From the peak to the bottom, the older Android development must understand things!

In March 2021, my former colleague said in our group that he was going back to his hometown and asked if anyone of us could adopt his cat temporarily.
——He said that he will leave Shenzhen this weekend.

He was unemployed, had no income for more than three months, and had to pay the rent. After the Chinese New Year, he had no suitable job for almost a month.


But he is still optimistic, saying that he can just go home to accompany his parents...

He is in his 30s and has been in Shenzhen for 7 or 8 years. He has never been stunned at work. He had intermittently talked about a few love affairs. His parents persuaded him to go home. He said that he wanted to spend a few more years in Shenzhen.

Going home this time, we asked him if he would come back again? He said that he didn't know yet.

It was only when I was at the station that I discovered that there are so many people leaving the city every day.
If you want to take root, you have to add weight to yourself and pierce it down so that you won't be squeezed out.
But I seem to have been drifting all these years.

Now Internet companies, pay cuts and layoffs seem to have become the norm.
A large number of talents overflow in the market, and those who cannot continuously improve their contribution value in their posts are quickly being replaced.

As mentioned in the "Peter Principle" in management:

A person with outstanding performance in the current job should be able to continue to be promoted to a higher position;
and if a person stagnates in the same position, it means that the person may not even be able to perform the current position.

Always doing short-term, repetitive, non-innovative and brainstorming work, there are cheaper people waiting to replace you at any time in the market.

The three major problems you face in the workplace at the age of 30

  1. Future planning issues, how should your career develop to ensure that you support the burden of your family?
  2. Competence and matching issues. If you leave the current company, can you find a job with a higher salary and better pay?
  3. Knowledge structure and self-improvement issues. Can your current learning ability and self-improvement awareness support your advancement in your current job?

I believe that people who have worked for 5 or 6 years have this feeling more or less: I feel that at the specific operation level, whether it is the process, the technique or the working method, they can be proficient in mastering it.

But if you achieve a new breakthrough from your current position, or look at the problem from a higher level, you often don’t know how to start.

From relying on the old and selling the old to reward the merits, and then to the survival of the fittest by using workplace utilitarianism.
Waves of young people who are younger than us and thoughtful are squeezing you out of your job.

Two things in the workplace

1. Establish a professional spirit

In the workplace, you can gain nothing more than two things: one is reporting, and the other is growth.

Seek your job in your position, do your job to the extreme, and strive for everything you can get and learn in your job.

2. Have the ability to keep learning

The depth of your knowledge=salary income=professional height.

Without learning, your career development will just stand still. During the work, you have to do everything possible to "charge" yourself.

On-the-job learning, further education, training, etc. all need to be put on the agenda, learn to enrich one's mind with knowledge, consolidate one's position, improve personal ability and learning thinking, and prepare for the next salary increase and promotion.

How to achieve a qualitative breakthrough?

First of all, give yourself a clear career positioning and establish your own advantage strategy.
Second, see the full picture of your career development and improve your level of work.
Third, understand your own value formula and make yourself more valuable.
Fourth, create a personal strategic map to find your best career path.

Meager force

As an Android developer, next I want to share with me some generalizations and summaries of the technology over the years, and share with my notes on those skills that I need to master as an Android senior developer, hoping to help me with the technology Friends who walked all the way to the dark on this road!

1. Essential skills for architects

The development language of Android phones is Java (Kotlin is also an encapsulation of java), and the Android Framework also uses the Java language by default. Familiarity with the Java language is an essential skill for Android developers.

This article contains knowledge points:

1. In-depth Java generics
2. Annotations in simple language
3. Concurrent programming
4. Data transmission and serialization
5. Java virtual machine principles
6. Reflection and class loading
7. Efficient IO

2. Advanced UI

The knowledge of UI is currently the most users. The Android introductory training that was so popular that year, you can find a good job by learning this little piece of knowledge.

However, it is obviously not enough now. Reject the endless CV, go to the actual project, read the source code, and study the principle!

Three, Framework refined kernel analysis

As we all know, Android is an operating system based on Linux. But for the Linux kernel, Android is just an application running on the kernel, and there is no difference from other applications running on the kernel.

Therefore, Android also needs a running environment, and the Linux kernel needs to load the resources needed for the Android Framework to run after the startup is complete. Only after the Framework is initialized can the corresponding APK application be started.

The main content includes:

  • In-depth analysis of Binder
  • In-depth analysis of Handler
  • Dalvik VM process system
  • In-depth analysis of WMS
  • PackagerManagerService

Four, 360° overall performance tuning

In the hands of development engineers at different levels, because of the uneven technical level, even if many mobile phones are running with very high software performance, there will still be lag when opening applications.

In addition, with the iteration of product content, the functions become more and more complex, and the UI pages become more and more abundant, which also becomes an obstacle to smooth operation. In summary, the performance optimization of APP has become a comprehensive quality that developers should have, and it is also a guarantee for developers to complete high-quality application works.

main content:

  • 1. Design ideas and code quality optimization

  • 2. Program performance optimization,
    startup speed and execution efficiency optimization,
    layout detection and optimization,
    memory optimization,
    power consumption optimization,
    network transmission and data storage optimization,
    APK size optimization

  • 3. Development efficiency optimization
    Distributed version control system Git
    automated construction system Gradle

  • 4. Project actual combat
    Start-up speed and
    fluency
    The practice of Douyin's APK package size resource optimization practice
    Full analysis of Youku responsive layout technology
    Network optimization
    Mobile Taobao double eleven performance optimization project Secret AutoNavi
    APP full-link source code reliance analysis to
    completely kill the actual combat of OOM Experience sharing
    WeChat Android terminal memory optimization practice

Five, Android third-party framework

With the continuous development of Internet companies, there are more and more modules in product projects, and user experience requirements are getting higher and higher. It is becoming more and more difficult to achieve the purpose of small steps and fast iterations, and the interaction between applications The application of plug-in technology was born for issues such as calls.

Today's Android mobile development will not be hot-fixed, plug-inized, or componentized, and more than 80% of the interviews will not pass.

Key points of this article (page 1042)

  • Hot repair design
  • Plug-in
  • Componentized framework design
  • Picture loading frame
  • Network request framework
  • RXJava reactive programming framework design
  • IOC architecture design
  • Android architecture component Jetpack

Six, NDK module development

NDK is a native development kit. This set of tools allows Android to use C/C++ code and provides numerous platform libraries.

The main content includes:

  • NDK module development
  • JNI module
  • Native development tools
  • Linux programming
  • Low-level image processing
  • Audio and video development
  • Machine learning

Seven, Flutter learning advanced

2019 is undoubtedly a year in which Flutter technology is in full swing.

Every mobile developer is crazy about the features and concepts of "rapid development, expressive and flexible UI, native performance" brought by Flutter, from super apps to independent apps, from pure Flutter to hybrid stacks, developers We are enthusiastic about exploring and applying Flutter technology in different scenarios, and we are also facing a variety of different challenges.

Key points of this article:
1. Overview of Flutter cross-platform development
2. Flutter development environment construction in Windows
3. Writing your first Flutter APP
4. Getting started

with the Flutter Dart language system ...

Flutter learning

8. Interpretation of Android related source code

As long as it is a programmer, whether it is Java or Android, if you don't read the source code and only look at the API documentation, it will just stay on the skin. This is not good for the establishment and completeness of our knowledge system and the improvement of actual combat technology.

Interpretation of Android related source code

Interpretation of part of the Android-related source code

Due to space reasons, if you need the complete study notes pdf above, you can like + comment to support me as a worker, and then click here to pick it up for free !

Guess you like

Origin blog.csdn.net/weixin_52217015/article/details/114670575