For the current severe employment situation of programmers, what should we do?


foreword

insert image description here

With the rapid development of the Internet, more and more young people choose to work in the programming industry. But there are also some people who feel confused when facing the fierce competition and changing market. This article will introduce some solutions to help those "lost in employment" find their own career direction.

1. First formalize your own situation and why you were dismissed

The seriousness of the employment situation of programmers is obvious. We need to face up to our own situation first and analyze the reasons for being laid off, so that we can carry out targeted self-improvement.

  1. Analyze the reasons for being laid off: First, we need to deeply understand why we were laid off. Is it due to insufficient technical capabilities, lack of core competitiveness, or low work efficiency, unable to meet project needs? Or is it because the industry is changing rapidly and we haven't kept up with the times? Or is our position canceled because of the company's strategic adjustment? These may all be the reasons for our layoffs.

  2. Improve our own competitiveness: Knowing the reason for being laid off, we can prescribe the right medicine to improve our own competitiveness.

insert image description here

2. Find the reason and how to improve your core competitiveness

  1. Learn new skills:

    a. Make a study plan: First, we need to make a detailed study plan. The plan should include when, how, goals and expected outcomes of learning.

    b. Learning methods: Learning methods mainly include online learning and offline learning. Online learning can be conducted through various online education platforms such as Coursera, Udacity, Codecademy, etc. For offline learning, you can participate in various training courses, or join the technical community to communicate and learn with other programmers.

    c. Skill selection: Skill selection should match our career development goals and market needs. For example, if we are now working on Android development, we need to learn the popular technologies related to Android, Flutter, and Compose to strengthen actual combat. . . And the bottom layer of Deep Learning Framework.

  2. Increase work efficiency:

    a. Learn and master work efficiency improvement tools: such as version control tools (such as Git), automation tools (such as Jenkins, Bamboo, etc.), continuous integration and continuous deployment tools (such as Jenkins, Travis CI, etc.).

    b. Improve teamwork ability: Good teamwork ability can improve work efficiency. We can learn how to communicate and collaborate effectively in a team by participating in team projects.

insert image description here

3. If you want to change careers, first analyze the market to find the industry trend, combine the current needs of most companies, and finally select a few suitable goals based on yourself

  1. Analyze market trends: We need to have a deep understanding of market trends and industry needs. This can be done by reading industry reports, attending industry conferences, joining industry communities, etc.

  2. Find a suitable industry: Based on our skills and interests, we can choose several industries that are suitable for us. This can be an industry with high market demand, such as artificial intelligence, big data, blockchain, vehicle development, etc., or an industry that we are interested in, such as game development, mobile application development, etc.

Taking Android as an example here, we must collect and analyze the current direction suitable for Android to switch careers. It must be related to Android so that we can get started, and we must ensure that the employment situation in this industry is good and the salary and benefits are high.

Starting from these points, there are currently on the market suitable for Android programmers to switch careers, in-vehicle system development, Framework system development, Internet of Things (IoT) development, artificial intelligence and machine learning. . .

insert image description here

4. Entry preparation

1. First understand the inside story of the industry

Industry insider knowledge: Knowing the industry insider can help us better adapt to the working style and culture of the industry. This can be done by reading industry reports, attending industry conferences, joining industry communities, etc.

2. Learn about the industry

Learning industry knowledge: We need to learn the knowledge of this industry in order to improve our industry competitiveness. This can be done by reading professional books, watching online courses, attending industry seminars, etc.

Five, the intersection of Android programmers changing careers

There are many directions for Android programmers to change careers, but some technologies will be used after you change careers.

Learning Android Framework is of great help to changing careers in multiple industries. Android Framework is the core part of the Android operating system, including many key technologies and principles, such as process management, network communication, file system, security mechanism, device drivers, etc. Therefore, understanding and mastering the knowledge of Android Framework can help programmers find new opportunities in the following industries:

  1. Internet of Things (IoT) development : IoT devices often need to communicate with Android devices, therefore, knowledge of the Android Framework can help programmers better develop these devices. In addition, the process management and device driver knowledge of Android Framework can also be applied to the development of IoT devices.

  2. Embedded system development : Many principles and technologies of Android Framework can be applied to the development of embedded systems. For example, knowledge of process management, device drivers, and file systems can help programmers develop embedded systems with rich features and superior performance.

  3. Cloud computing and big data processing : With the development of cloud computing and big data processing, many companies need to develop cloud computing and big data processing applications that can run on Android devices. This requires programmers to understand the knowledge of the Android Framework in order to better optimize the performance and functions of the application during the development process.

  4. Secure software development : The knowledge of security mechanisms of Android Framework can be applied to the development of secure software. For example, learn how to prevent malware attacks, how to protect user privacy, and more.

  5. Artificial intelligence and machine learning : Android Framework's knowledge of process management, network communication, and device drivers can be applied to the development of artificial intelligence and machine learning. For example, use Android devices for real-time data processing and analysis, or develop artificial intelligence applications that can run on Android devices.

If you want to switch to these industries, you need to understand the Framework first. In order to help you understand the functions and structures of the Framework in the entire Android architecture, systematically learn and master the Android framework, here we specially collaborated with Ali P7 architects and Google technical teams to organize a learning material for the Android framework family bucket.

Due to the excessive content of the document, in order to avoid affecting everyone's reading experience, only some of the content is shown here with screenshots, and there is a free way to obtain the full version at the end of the article! (At the end of the article, there is also a small benefit of using the ChatGPT robot!! Don’t miss it)

"Android Framework Source Code Development Secret"

This learning manual deeply analyzes the Android system source code, explains in detail the initialization process of the Android framework and the working principle of the main components, and aims to introduce the core concepts and technologies of the Android Framework through examples and cases, so as to help developers better understand the design and development of Android applications.
This manual is suitable for programmers with certain experience in Android application development, hoping to help developers better understand and master this technology through in-depth study of Android Framework.

insert image description here

Chapter 1 System Startup Process Analysis

The complete startup process of the Android system can be divided into three stages: the Linux system layer, the Android system service layer, and the Zygote process model from the perspective of the system level; knowledge points: the first section Android startup
overview
,
the second section init.rc analysis,
the third section Zygote, and
the fourth section Interview questions

insert image description here

Chapter 2 Cross-process Communication IPC Analysis

As a mechanism for Android inter-process communication, Binder can be regarded as a driver. In Android, common inter-process communication such as system class: phone calls, alarm clocks, etc.; self-created: like WebView, video playback, audio playback, large image browsing, etc.

picture

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

Friends in need scan the QR code below to get it! ! ! !

At the same time, a WeChat group chat robot based on chatGPT was built here to answer difficult technical questions for everyone 24 hours a day .

picture

Guess you like

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