In the last month of 2020, after being laid off at the age of 35, Android development will tell you from my real experience, what are we missing?

background

Everyone is talking about layoffs at Dachang recently. A friend of Eel, 35 years old, works for Tencent. At the end of this year, Tencent laid off employees. Unfortunately, he is one of them. This is a bolt from the blue.

For a man who has just bought a house in Shenzhen and has just given birth to a second child, this is undoubtedly worse. Not to mention the expenses of the family, the monthly payment alone will get 1W+, that is, lying down without eating or drinking each It costs at least 1W+ per month. Originally, buying a house plus a happy son should be regarded as a winner in life. Before I had time to be happy, I was beaten to hell!

After all, it’s a person from a big factory. It’s not that simple to find a job later. The first age is here, and the second person has a bit of good face. If you can’t make a mistake, it’s caused. He was fired for a few months. The status quo of bringing children at home , over time, it is impossible for family members not to complain. It is difficult for a man to raise the mortgage, and it is difficult for men to not complain!

He said that their department adjusted, and they had to be laid off before reaching a certain level at the age of 35, and he was very anxious.

People who are not far-sighted must have immediate worries. He was hit this time and wanted to improve himself so as not to have a similar panic next time. But how to improve?

Of course, the first thing programmers consider is technology, but now I really don’t know what to learn: after seven or eight years of development, there is no problem with the sloppy work at hand.

Even if there is a problem, it is also a business logic problem. The system is too complicated to understand; or some outdated and rare technology in the system, I really feel that there is no need to spend time and energy to research, just can deal with it, right ? Anyway, there is a 99.99% chance that the next unit will not use these things.

Then there are some new technologies. The new technologies are very mixed. I don’t know what to learn. The framework libraries have no technical content. You can get started in one or two weeks. What about after you get started? Learn in the deep?

In fact, the same problem as the old technology, who knows if the next job will need it! And it’s boring, probably because it’s not challenging, anyway, it’s the same .


Learning bottleneck

I have been talking till here, I understand very well. I am a veteran farmer of more than ten years, and I have a deeper experience than him. In fact, after a few years of work, it looks like this. It looks like "decreased enthusiasm for learning" and "too lazy to learn", but in essence, there are two reasons:

1. My own skills are enhanced, able to cope with daily work, and there is no more pressure than when I first entered the industry.
2. The marginal benefit of learning is diminishing, so start to consider the investment/return ratio.

When you first entered the industry, a little advancement in technology can bring a great sense of accomplishment, at least you can get less scolding, right? When the accumulation reaches a certain time, you can change jobs and increase your salary. But after three to five years,
I have already met:

  • Familiar with the Android OS system architecture and framework layer;
  • Good knowledge of Java technology, proficient in Java underlying technologies such as multithreading, socket communication, and file operations;
  • Proficient in the use of basic components of Android, proficient in the use of various Android layouts and controls, and proficient in the use of various animation effects;
  • Familiar with the drawing principle of View, proficient in custom animation and the development of custom View
  • Rich experience in Android performance optimization, good at solving system crashes, memory overflow and compatibility issues;
  • Familiar with JNI technology and code obfuscation;
  • Experience in unit testing, automated testing and related frameworks;
  • Have good code habits, require clear structure, standardized naming, strong logic, low code redundancy, and clear code comments;

Learn to turn around gracefully

Next, I would like to share with you my transformation path for so many years. Just listen to it:

1. Transformation technology management

From the second half of 2007 to the beginning of 2009, I slowly turned to the role of technology management and started to manage a research and development department. The route I take is "skills and excellence are managed."
To put it simply, it means that you can easily solve all kinds of problems, start to lead people, then lead the team to manage the project, and then it is logical that the company will be pushed to transform into a technical manager.
This route is also a route taken by more than half of technical managers. If you want to transform technology management, you can consider this.

The main point of "skills and superiority is managed" is: there is plenty of power in action .
What does it mean? Focus on the present and handle your tasks efficiently. When you are more than enough, the leader will give you more difficult tasks. When you can get it done efficiently and seem to have enough energy, the leader will give you more important tasks...

In this cycle, you become more and more important, and you will bring people and opportunities for projects.
If you can't finish all the work you have at hand, you can't follow this route. But there are other routes.


2. Join the ranks of entrepreneurs

In September 2014, due to some kind of opportunity, I left the company where I had worked for 7 years and reconsidered my direction. At the end of the solar calendar, accept the invitation of a friend to start a business with him.
The reason I am willing to try is because:

1. The future possibilities of starting a business and going to work are quite different. If the business succeeds, your influence and financial return will rise to a higher level.
2. People who work together are reliable.
3. The product made has a clear profit model.

Of course, unfortunate things always happen-we fail.

I personally do not regret this failure experience, because when you are responsible for the company from the perspective and height of the master, your perception of work will change dramatically! This change will have an important positive impact on subsequent work and life.
If you are skilled and reliable, many entrepreneurs will invite you to join their team. Don't be hotheaded, take a closer look:

1. Assess whether the product to be made is reliable
2. See if the people you will be working with are reliable
3. Assuming that there is no income in the past 2 years, can you and your family's living standards be maintained
4. Assume that you are fully committed to starting a business for yourself and your family What is the impact on your life, can you and your family accept it?


3. Return to development position

I started to do technical management in 2009 and failed to start my business at the end of 2015, which lasted 7 years. But in the face of many better management opportunities, I resolutely chose to return to a technical position to continue development.

why?

This is because the purpose of our work, in addition to making money, is self-realization.
Self-actualization includes several aspects:

  • growing up
  • achievement
  • Will

Growth refers to the positive changes you want before and after you do something.
If you have been developing for ten years, and your technical level and problem-solving ability are still the same as when you first entered the industry, then you have not grown!

Achievement means that you have made achievements and gained recognition from relevant stakeholders.
You are responsible for a module, using the latest technology and the most powerful design, can also run, to achieve user needs. You personally think it is very successful, but the technical framework you use is too complicated and the maintenance cost is high. If the operation and maintenance team and the secondary development team do not approve it, it is not a real achievement.

Intention is easy to understand. It is what you are willing to invest your time and energy in, and what you do will feel happy .

For example, when I re-employed after a failed business venture, it was because I felt that I was excited and invested in developing software and solving problems by myself, so I chose to return to the development position.
Many developers will encounter the question of whether to switch to management or to continue to work on technology. The key to choosing the answer lies in your personal wishes and your feelings about doing something.
Some people may ask, if you have been doing development and getting older, how do you fight with young people?
I drew a picture before and posted it for everyone to see:

As you can see from this picture, the developer creates the software in two stages. The first creation is done in the mind and belongs to the thinking level; the second creation is the realization of coding and the physicalization of mental work.
If you want to go beyond age, you have to work harder on the abilities required for the first creation:

  • Build your own knowledge system around specific business areas
  • Refine imagination, abstraction, induction, analysis, integration, design, etc.

This way you can think more, do less, do the key, do well, and you can go beyond the age limit. Otherwise, if you just pay attention to crackling and typing code like young people all day long, it is definitely worthless and will be removed soon.

The so-called senior engineer is obtained by gradual precipitation in technology and gradually mastering the core technology.

The direction of our programmers is nothing more than managers and architects. To become a manager, one should have certain management knowledge, high emotional intelligence, and good organizational and coordination skills.

If you want to become a mobile architect, you have to shoulder both technical and organizational responsibilities. It is especially important to build your own complete technical system.

Of course, in terms of results, the salary of an architect with outstanding ability will also rise, and it is normal that an Android architect can get an annual salary of 400,000.

Programmer career roadmap

The introduction of the responsibilities of Android architects has been overwhelming on the Internet, so I will not repeat them. Today I will mainly share with you the technical abilities that you should master to become an Android architect, the knowledge you need to learn, and how to learn more efficiently.


study method

1. Watch more actual project videos

2. Brush some more algorithmic questions

Because some big companies still value the algorithm very much, I recommend you to read the book "Sword Finger Offer".

3. Brush the book

I feel that reading is very obvious for the improvement. Of course, there is not much dry content to read. Here is the book I have read:

  • "Android custom control entry and actual combat"
  • "Big Talk Design Pattern"
  • "Andorid design pattern source code analysis"
  • "In-depth understanding of JVM"
  • "Android Advanced Decryption"

4. Read more

Watching the interview can give you some insights into the company’s interviews and the questions interviewers like to ask, especially recent interviews.


At last

Because the Internet and IT industry is a fast-developing and ever-changing industry, and we programmers must continue to learn and make progress in order not to be eliminated.

Finally, I will share with you what a great friend in the technology circle said to me.

He said that we can compare the career of our programmers with the four stages in Gu Long's novels:

1. There is no sword in the hand and no sword in the heart . Programmers at this stage mainly imitate. They are more technologically based and are easily influenced by authority or public opinion.

2. There is a sword in his hand, but no sword in his heart . At this stage, programmers feel that they are omnipotent. They are familiar with a certain field, look down on other fields, and begin to challenge authority.

3. There is a sword in the hand and a sword in the heart . Programmers at this stage begin to become humble, start to summarize frequently, and selectively absorb the authority and technical system into their own knowledge system.

4. There is no sword in his hand, but a sword in his heart . At this stage, programmers are no longer bound by experience and can find the best solution according to the environment and needs. They have become an authority.

What stage are you in?

Alright, that’s all for today’s sharing. I hope you all ask more questions and discuss together.

The videos, e-books and interview materials I used for my studies above can be shared with everyone, and friends who need it can privately message me [data] or [click here] to receive it for free

If this article is helpful to everyone, please like, follow, and forward. Thank you!

Guess you like

Origin blog.csdn.net/ajsliu1233/article/details/110354994