Under the current Internet market, programmer jobs in 2023 are really hard to find

foreword

Years later, I heard that several colleagues had the idea of ​​leaving, and some of them were already looking for a job. , the salary in this industry relies on job-hopping to accelerate growth. However, after several months of interviews and re-examinations, several colleagues who proposed to resign in the early stage gradually changed their minds. It is becoming more and more difficult to find, and the situation where the offer was randomly selected in the past has disappeared.

insert image description here

Are programmer jobs really hard to find in 2023?

There may be several reasons for the difficulty of finding programmer jobs in 2023, including technological advancements, global economic conditions, policy changes, and more. However, if we assume that current trends will continue, programmers may face the following challenges in the coming years:

1) Intensified competition : Most programmers are just simple business software development. The threshold for such programmers is extremely low. As more and more people learn programming and software development, the number of programmers is also increasing. This can lead to more competition in the market, making it harder to find a good job.

2) Changes in skill requirements : The technical field is changing very fast, new programming languages ​​and frameworks are constantly emerging, and some old technologies will gradually be eliminated. This means that programmers need to constantly learn new skills to maintain their competitiveness. Many programmers do not have the idea of ​​actively accepting and learning new technologies.

3) Technological development and progress : With the development of technologies such as artificial intelligence and machine learning, some programming tasks that originally required manual work may be automated. This may cause some programmers to lose job opportunities, and the emergence of ChatGPT has verified this point.

4) Geographical restrictions : Some regions may have a saturated technology market, while others may have a shrinking technology market.

In conclusion, while programming is currently a high-demand occupation, it may face some challenges in the coming years. Therefore, I suggest that programmers keep learning new skills to maintain their competitiveness, and pay attention to changes in the technical field, and slowly turn to requirements, architecture, management, etc. in order to make better career planning.

Which technologies to learn

1)Android Framework

If you want to gain a foothold among the many Android developers, you must have a detailed and in-depth understanding of FrameWork. Nowadays, junior android developers need to learn Framework. Destined to be optimized!

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 is a copy of " Android Framework Source Code Development Revealed " compiled by Ali P7 architects, and you can get it at the end of the article if you need it

2) Vehicle

Although it is the Internet winter, computer talents are saturated. However, as the country vigorously promotes new energy vehicles, many domestic traditional car companies have transformed and developed new energy vehicles (such as BYD, Geely, etc.), and many new car companies have been born, which means that a large number of new energy vehicles are needed Technical development talents.

In order to provide some learning ideas for novices and avoid detours, here is a copy of " Android Vehicle Operating System Development Secret", which is free at the end of the article

3) Kotlin language

Kotlin is a modern, statically typed programming language that can replace the Java language in Android development. Kotlin has the advantages of being more concise, safer, and more interoperable. Learning it can improve code quality and development efficiency.

4) Jetpack component
Jetpack is a set of libraries, tools and guidelines designed to help developers develop Android applications more easily and quickly. Jetpack components include LiveData, ViewModel, Room, Navigation, etc., which can improve application performance, reliability, and security.

Learning materials display

" Android framework source code development secret "

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

Android system startup process

Students who understand the Framework may more or less know that AMS, WMS, class loading, hotfix Sophix, plug-in, etc. all involve the system startup process.

The key processes involved from the start of the mobile phone can generally be divided into the following five steps :

  1. The mobile phone is turned on to execute the Boot ROM and the boot chip starts to execute.
  2. Load the boot program Boot Loader to RAM, and the Boot Loader is generally customized by the manufacturer.
  3. Execute the bootloader: initialize the stack, hardware, network memory and other operations.
  4. Start the Android kernel, look for init key files, and start the init process
  5. After the Kernel starts, start the init process in the user space, which is the first process in the user space, and call the main method in the init process to start the Zygote process.

It is impossible to master the specific technology only by the process. I believe that the complete source code analysis and case sharing can save everyone a lot of time.

insert image description here

Inter-process communication IPC

IPC (inter-Process-Communication) inter-process communication is used for the process of data interaction between two processes. Any operating system has an IPC mechanism, but different operating systems have different communication methods. The Android system is based on The mobile operating system of the Linux kernel, Linux's cross-process communication is mainly realized through pipelines, shared memory, memory mapping, etc., but Android has its own inter-process communication mechanism, the most representative one is Binder.

insert image description here

The content of the whole manual mainly covers: system startup process analysis, cross-process communication IPC, Handler, AMS, WMS, SurfaceFlinger, PKMS and other 10 chapters, with a total of 442 pages. At the end of the chapter, there are related interview questions to help you better Learn the Framework carefully and pass the interview difficulties.

insert image description here

"Android Vehicle Operating System Development Secret"

The book is divided into seven parts :

[Vehicle Architecture] [Kernel] [System Debugging] [LMKD] [Android Car Combat] [Architecture Communication]

The first half introduces the basic structure of domestic mainstream vehicle operating systems;

The second half puts the theory into practice, explaining the Android car image display system, building the Android Auto instant messaging application, and actually developing the SOA architecture communication. And help readers solve common programming problems and confusion. This book is suitable for readers of any level who are interested in the automotive industry.

insert image description here

at last

In the last sentence, the biggest reason why programmers can't find a job is due to their own lack of strength. I hope that the above information can help you strengthen your own strength and improve your own competitiveness.

The above information has been organized into PDF documents, scan the QR code below, and you can get it for free! !

Guess you like

Origin blog.csdn.net/weixin_43440181/article/details/130205616