Alibaba’s 35-year-old Android programmer has no hope of being promoted, what should he do, wait for suggestions from netizens online

The employees of Internet companies have always been regarded as tyrants, because their annual income is not low, especially the employees of Huawei and BAT, whose annual income is even higher than that of employees of other Internet companies. Of course, the overtime of employees of these companies is also very serious.

Recently, a 35-year-old Ali employee is hesitating about what he should do in the future. His level is p7. In the past few years, he has only saved 2 million cash and a car per set. He is 35 years old. There is little room for promotion in Ali. He does not expect to be promoted. His annual performance is only 3.5, which is the average level of Ali's performance. There are currently two options. One is to change to a lighter job, from 9 to 5, and engage in investment by the way, and the other is to participate in a startup company blog and seek advice online.

Some netizens said: The first one has already surpassed a lot of people, and this comment has been liked by more than 100 people. It can be seen that there are still many people in their 30s who still find it difficult to own 2 million in cash and a set of car assets. However, there are other programmers who have said that it is really shameful. In fact, 2 million can be lost in a year, so you should continue to make money.

At this time, you can see the gap between people. As an ordinary person, it is difficult to have such assets before the age of 35, and you have to rely on your home to buy a house. But as a programmer, having such assets at the age of 35 can only be said to be a small achievement, because there are many wealthy programmers, and their assets are more than that.

As programmers, while earning a high income, they should also consider in advance how they should go on their 35-year-old road, and don't wait until things are imminent before thinking about what to do.

The advice that many people can give to this programmer is to choose from 9 to 5. It seems that you don't have much desire. You can choose a lighter job to make an investment and live a good life. In fact, the savings of 2 million are not a lot in Hangzhou. However, with a house and a car, these two biggest expenses have been solved, and the remaining assets can be well invested, plus some of my work income, I can still meet my life needs.

Reader welfare (learning sharing)

I have been doing Android development by myself in the 5th year. In the second year after graduation, I was fortunate to join the big family of ByteDance. In the 4 years of Byte, I have witnessed too many people coming and going. I am deeply impressed by a colleague who switched jobs to Ali and directly doubled his salary. However, I also saw many people bumping into the wall covered with "big factory" gold. Technically!

I may be considered a successful example myself. I managed to achieve 2-2 from 1-1 in 4 years. Of course, the "sorrowful tears" behind this will be discussed later. In general, thanks to my continuous learning, review and summary, and improve my skills! Let me share my specific study route and notes in the past 4 years, hoping to help friends who are interested in improving technology!

  • Essential skills for architects

At present, the mainstream language for Android APP development is the Java language. The biggest feature of the Java language is to improve the possibility of software interaction. It can be said that almost all applications on Android phones are written in the Java language.

Knowledge points:
1. In-depth understanding of Java generics
2. Explaining in-depth explanations
3. Concurrent programming
4. Data transmission and serialization
5. Java virtual machine principles
6. Efficient IO

Essential skills for architects

  • Interpretation of open source framework for design thinking

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. The application of plug-in technology is born. If there is no plug-in technology, the applications that integrate a large number of "app" such as Meituan and Taobao may be as big as a few g.

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

Knowledge points:
1. Hot fix design
2. Plug-in framework design
3. Component framework design
4. Picture loading framework
5. Network access framework design
6. RXJava responsive programming framework design

Interpretation of open source framework for design thinking

  • 360° all-round 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, as product content iterates, functions become more and more complex, and 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.

1. Design ideas and code quality optimization

2. Program performance optimization

  • Optimization of startup speed and execution efficiency
  • Layout detection and optimization
  • Memory optimization
  • Power consumption optimization
  • Network transmission and data storage optimization
  • APK size optimization

3. Optimization of development efficiency

  • Distributed version control system Git
  • Automated build system Gradle

4. Project actual combat

  • Start speed
  • Fluency
  • The practice of Douyin in APK package size resource optimization
  • Full analysis of Youku's responsive layout technology
  • Network Optimization
  • Revealing the Secret of the Performance Optimization Project on Taobao Double Eleven
  • Analysis of source code dependence of AutoNavi APP full link
  • Sharing of actual combat experience of completely eliminating OOM
  • WeChat Android terminal memory optimization practice

360° all-round performance tuning

  • Android framework architecture

Android framework architecture (advanced UI+FrameWork source code) This piece of knowledge is currently the most users, we call it the technology of Android 2013~2016.

Android developers are often familiar with and unfamiliar with this frequently "used" code because they are used to copying code online: the familiar is dealing with them almost every day, copying the code every day; the unfamiliar is that although with these every day Dealing with codes, but I haven't studied the principles of these codes in depth, and the connotations of the codes.

Knowledge points in this article:
1. Advanced UI promotion
2. Android kernel components
3. Essential IPC for large projects
4. Data persistence and serialization
5. Framework kernel analysis

Android framework architecture

  • NDK module development (audio and video series)

NDK (abbreviation of Native Development Kit) is a software development kit based on native programming interface that allows you to use C and C++ code in Android applications. The program developed by this tool runs directly locally, not a virtual machine.

In Android, NDK is a collection of a series of tools, mainly used to extend the Android SDK. NDK provides a series of tools to help developers quickly develop C or C++ dynamic libraries, and can automatically package so and Java applications into an apk.

Knowledge points in this article:
1. Introduction to C/C++ developed by NDK
2. JNI module development
3. Linux programming
4. Low-level image processing
5. Audio and video development
6. Machine learning

NDK module development

  • 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 various challenges.

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

with Flutter Dart language system ...

Flutter learning

  • WeChat applet development

As one of the most popular programming development application scenarios, WeChat applets are very popular in the market, which makes many developers greedy. But for beginners, they are completely confused. I don't know what knowledge needs to be learned for the development and production of WeChat applets. Friends in need can refer to this article.

The main points of knowledge in this article:
1. Overview and introduction of
applets 2. UI development of applets
3. API operation
4. Shopping mall project combat

WeChat applet development

  • 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. of.

Android related source code interpretation

Android-related source code interpretation part of the content

Due to space reasons, if you need the above complete study notes pdf, you can like + comment to support the younger brother, click here to pick up for free !

More information about the Android architecture can be obtained for free here

Guess you like

Origin blog.csdn.net/Android578/article/details/113680812