The 37-year-old Android programmer was laid off, was rejected for interviews with big companies, and cut his salary to go to a small company.

Seeing such a post in the workplace forum, programmer A was laid off by the former company. After the layoffs, he was not particularly discouraged. He planned to start all over again, but was hit by reality.

When he graduated from college, he joined a well-known Internet company to work. During his work, he continued to study and improve his abilities. However, when he was 37 years old, he was laid off by the company.

He began to submit his resume to large Internet companies, but he refused because of his age. After looking for a job for four months, this was not an option. For the sake of his family and children, he began to compromise and submit resumes to small Internet companies. What I thought was that HR even disliked his ability to work. When he heard this sentence, he was probably out of anger!

Seeing what happened to this netizen, other netizens also started discussions.

Now employees over 35 are in danger! Because employees of this age are mostly labeled as moderate employees, stagnant motivation, lazy work attitude, etc.!

Even if you are excellent, your professional knowledge or technical level cannot keep up with the development speed of artificial intelligence!

Nowadays, both large and small companies value the comprehensive abilities of employees and not just their academic qualifications!

More important is your output value! Therefore, we can no longer pamper ourselves, we must always have a sense of crisis, maintain a lifelong learning attitude, and leave the comfort zone. It is really more choice than effort!

At the age of 37, he was considered old by those recruiting companies. I think those recruiting people take the elixir of life, do they stay young forever?

Think of yourself when you dislike others, unless you are the boss, otherwise everyone has that day.

I don't think that 37 is middle-aged, and the retirement policy is delayed according to future plans. At most, this age is young. Why do you always think that only young people are capable? Some things need to be accumulated and experience too. Losing these people is a loss.

On the other hand, if we study hard while working, we still accumulate more economic foundation.

Now it is also demanding to delay retirement. I'm afraid after thinking about it. When some companies see such older workers, they often have unfair treatment in terms of wages and benefits. Why does the country have no policy to stop this 35-year-old one-size-fits-all policy?

In the past, some people called jobs that were only suitable for young people to eat youth rice. Does the IT industry also eat youth rice? In fact, it is not. It's just that the IT industry has developed too fast over the years, and it feels a bit too late.

Way out

As a programmer, if you still don’t know anything in the face of new knowledge and new technology, and you still have a legacy of more than ten years ago, then you must be behind in knowledge and technology. If you fail to enter the management level, then you It will definitely be shot on the beach by the back waves of the Yangtze River.

Many programmers who are advancing with the times and good at learning are still the backbone of the industry. This just means that today's world has traveled all over the world with one trick, and the era of life-long eating has passed. A person must live and learn before he can walk in the world.

In my spare time at work, I will also turn over the interview questions of Dachang, so that I can always maintain the interview skills, and at the same time, I can understand the needs of Dachang for technology in order to prepare for emergencies, "Born in trouble, died in peace "The ancients don't deceive me.

Let me share with you a systematic growth and advancement route that I have summarized over the years of my own work, and share it for your reference.

Android advanced learning route

Learning route and information 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 with gold plated with "big factory". 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 complete study notes pdf above, you can like and comment to support the editor, click here to pick it up for free !

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

This is just a general direction for learning. You still have to learn consciously, track technological changes, accumulate technology at work, and build personal core competitiveness.

In the busy work, perseverance, continuous learning and progress is an arduous task that requires strong perseverance and firm determination. Take action and stay motivated, and you can get what you want.

Guess you like

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