Programmers are so busy and finding employment is so difficult, why are you still a programmer?

Preface

This is a problem we saw a long time ago. The situation should be the same as this year at that time, but it was not as serious as it is now, because in the past it was only a problem on one side of the company that caused the trend of layoffs; but by 2023 it will not only be because of The problem of business downturn due to reasons such as the epidemic is more that there are too many programmers.

Yes, IT jobs have increased by 300% compared to 10 years ago, but there are at least nearly 10 times more people working in this field.

When the relationship between supply and demand cannot reach a balance, the supplier will become cheap.

Insert image description here

It’s so difficult, why are you still a programmer?

Let’s put it this way, some people nowadays who have no family background and average personal qualifications can really achieve an annual income of 500,000 by the age of about 30 through “involvement”. For other industries, to achieve this income, one must either There is a certain threshold, either you have to have connections in your family, you have to be your own boss and do business, or you have to deal with people from all walks of life.

Nowadays, if you are from an average family and have average personal ability, then you have to take the second major in computer science to get a second degree in computer science in a so-called small town. This is relatively easy. In fact, you can also get three majors. If you work harder, after graduating from a second or third degree school, you can Then I can enter a better school through the postgraduate entrance examination.

Nowadays, even if the market is average, a fresh graduate with two or three computer science degrees, if he finds a job in a big city, can generally earn nearly 200,000 yuan per year after working for 3 years. If he works for 5 years, it will be more ordinary to change jobs. A person who can earn 25k a month, that is, an annual income of 30k, usually works for 7 or 8 years, that is, when he is around 30 years old, can make an annual income of 40k to 50k, and when he has 10 years of work experience, there are also some who can make 50k. Probability.

Therefore, for graduates of computer majors, when they are around 30 years old, although there are layoffs in various large companies and although they work overtime really well, it is a tangible thing to make 500,000 per year.

Comparing the income of other industries, for example, middle school teachers, if they are 35 or 40 years old, and have the title of senior teacher, plus various subsidies, they may only earn 20,000 per month. It is really not easy to earn 300,000 per year. And now I can’t make up classes.

For example, if you are at the associate professor level in a university and work everywhere, it is estimated that it is not easy to earn 300,000 yuan a year. Generally, you can only earn 250,000 yuan a year. If you want to earn 500,000 yuan a year in college, you basically have to be at the professor level, the school is good, and you have to be famous enough to get something done.

As for the executives of some companies, I know some of them. For example, in a company with No. 50 people, at the director level, as long as they are not the boss, their monthly income is generally just over 20,000.

All in all, programmers have almost reached the income ceiling that ordinary people can earn.

future development

During this period, some people also asked in private messages: The current environment for Android programmers is so poor, where should ordinary programmers develop?

In fact, the essence of this problem still lies in itself. You must know that with the crazy influx of college students who change careers and graduates into the Android industry. If you want to get better treatment and opportunities, you need to constantly master new skills.

But no matter what level of Android engineer you are interviewing for, source code is always the most critical? "Those who are still stuck at the application development level and do not improve their technology can only accept the dilemma and eventually even face elimination.

Therefore, how to achieve the goal of technical improvement from application to system is a stage that many junior and intermediate Android people must go through. As someone who has experienced this, I have a deep understanding of the difficulties in the learning process. Therefore, I am keen on collecting and organizing resources and recording the process from stepping on pitfalls to climbing pitfalls. I hope to record what I have learned, the techniques used in actual work, self-study methods, experiences, and some pitfalls I have encountered. One is to organize yourself better, and the other is to be able to share better with the community.

"Android Framework Source Code Development Revealed"

This study manual deeply analyzes the Android system source code, explains in detail the initialization process of the Android framework and the working principles of the main components. It aims to introduce the core concepts and technologies of the Android Framework through examples and cases, thereby helping developers better understand Android applications. Program design and development. This manual is suitable for programmers with some experience in Android application development. It is hoped that through in-depth study of the Android Framework, it can help developers better understand and master this technology.

img

Insert image description here

Chapter 1 System Startup Process Analysis

The complete startup process of the Android system can be divided into three stages from the perspective of system level: Linux system layer, Android system service layer, and Zygote process model; Knowledge points:

Section 1 Android startup overview,

Section 2 init.rc analysis,

Section 3 Zygote,

Section 4 Interview Questions

img

Chapter 2 Cross-process Communication IPC Analysis

Binder, as the communication mechanism between Android processes, can be regarded as a driver. In Android, common inter-process communications include system-based ones: phone calls, alarm clocks, etc.; self-created ones like WebView, video playback, audio playback, large picture browsing, etc.

img

Chapter 3 Handler source code analysis

Section 1 Source code analysis

Section 2 Difficult Questions

Section 3 Handler frequently asked interview questions

Insert image description here

A WeChat group chat robot based on chatGPT has been built to answer difficult technical questions for everyone 24 hours a day. If needed, you can scan the QR code to join the group.

picture

Guess you like

Origin blog.csdn.net/Android23333/article/details/134826308