【Breakthrough the bottleneck】—Confused about technology iteration? Android senior architect teaches you how to break this situation!

insert image description here

foreword

Once a programmer is anxious or confused, his sense of accomplishment will be greatly reduced. In the long run, this will lead to lack of motivation. But reality anxiety also exists objectively. So how should we face it?

In the process of technological change, if you blindly follow the new technology, have you ever thought about what is the purpose of following the new technology? Is it for job hopping or job transfer ? Or is it to increase salary to realize life ideal and self-worth ? Both of these reasons are correct. One thing to pay attention to is not to blindly follow new technologies . Blindly following will only lead to eventually becoming a slave to technology. We need to be the masters of technology and face technology changes more calmly.

how to choose?

It may be a bit "blind" to learn some knowledge that may not be used in your own work without changing jobs and without goals. The process of learning these knowledge may not be efficient enough. When inefficient learning meets the rapid growth of others, new anxiety will arise after comparison.

I have personal experience here

When you've been working on a project and the development work is saturated, sometimes you get bored with the project. Conversely, if you're working on multiple projects at the same time it helps keep you motivated, and if you get bored with one project, you can move on to others. This way, you will always be on the move and be able to continuously develop your application.

However, the biggest benefit of working on multiple projects at the same time is that your growth rate is very fast. You have multiple points of view, multiple ideas, multiple ways to solve problems, and most importantly, you can gain a lot of motivation.

Learning is never wrong. What is wrong is choosing an inefficient, time-consuming and energy-consuming direction. There are two sources of confusion. One is that you can’t see your value to the company, and the other is that you can’t see your future development path.

Let me talk about the source of confusion first

Can't see its own value. Many people write business in the company every day, commonly known as "moving bricks". They move every day, and feel that they have not made any progress. Looking back at the people in the framework department or the researchers in their own department, they are researching or making some frameworks or tools every day. It's very rewarding when used by a large number of people. And I think the business has no technical content, and the logic and process in the business will not have any advantages after changing a company. This kind of thinking is actually wrong, and it is wrong and one-sided.

Let’s talk about the second source of confusion

Can't see where the future lies. I think this confusion comes from the unclear positioning of myself. A teacher told me that in the first 5 years after graduation, you can choose various developments, front-end, back-end or mobile, you can choose whatever you want. What is this for? It is to find the direction that you are interested in and your own strengths and plan to continue doing it for the rest of your life. If you still can't see your future development path, then you can consider taking a wider view to find the direction you are really interested in. The so-called real interest refers to staying up late and playing games without sleepiness. If you can achieve a certain direction without the company forcing you to work overtime, and you can write code late at night or all night without getting tired, then this must be what you are interested in. Once the direction is determined, you will not be confused, let's run towards the goal.
insert image description here

Then, the question becomes "how to improve your competitiveness in the Android market"

Improve general technical capabilities

A technology with a long half-life needs to lay a solid foundation, that is, a more general technology.

First, general technologies such as data structures and algorithms, computer networks, operating systems, computer system structures, etc., are of great help to a deep understanding of technology. Second, such technologies are common when switching between different languages ​​and technical directions.

Enhance soft power

Soft power is actually a general skill, even more general than the first one.

Good communication can shorten the duration of meetings, save communication costs between each other, and make teamwork more enjoyable. Good document expression ability can save a lot of repeated communication.

If you know how to plan your own time, you can complete tasks in a more orderly manner when you are at work, and you can efficiently plan your spare time studies after get off work.

Know how to reflect: Why is this task expected to be completed in five hours, but it has become three days; why is this required, is it the most reasonable, and is there a better way?

Thinking more about problems, business and yourself will help you better play and demonstrate your technical strength.

Choose a subdivision and continue to deepen

Personally, I think a better learning method is to give priority to breadth traversal first, that is, to have a rough understanding of all aspects of knowledge in your field, and then to prioritize deep traversal, that is, to choose a direction that you are interested in or think is worth digging in, and wait until you have almost learned and researched in this direction, and then go in-depth technical knowledge in the next direction. For example:

Advanced technologies such as plug-in technology, responsive programming, component framework, and system architecture support the basic framework under the business, enabling developers to respond faster and act more gracefully in the face of changes in requirements and functions. With the increasingly mature business logic, user experience is becoming more and more important. Sudden software crashes or loading icons for 5 seconds are obstacles to high-quality applications. Rendering speed, network request experience, I/O optimization, hot repair technology, and power consumption optimization are all points that need to be paid attention to in performance optimization. Android now has many subdivided fields, such as reverse security, audio and video, Internet of Things, SDK development, etc., you can choose one of these fields and continue to deepen.

If you consider it from the perspective of the background of the times, it would be a good choice for Android development to learn the Framework in depth.

It will involve a lot of Android underlying knowledge, which is very helpful for one's own attack and career change!

Break the ground and learn in depth!

We can't just sigh, let alone sit and wait for death, but should think about how to survive in this bad environment? Think about the future direction of development? Where is the future? How to go on? How can I grow myself more smoothly?

If you are engaged in Android development and have more than 2 years of work experience; if you want to understand Framework in a simple way, and are eager to achieve double breakthroughs in technology and career growth, here is a benefit to share with you, completely free:

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.

img

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 summary,

The second section init.rc analysis,

Section III Zygote,

Section 4 Interview Questions

img

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.

img

Chapter 3 Handler Source Code Analysis

Section 1 Source Code Analysis

Difficult questions in the second quarter

Section 3 Handler Frequently Asked Interview Questions

insert image description here

A WeChat group chat robot based on chatGPT was 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/131802882