Android advanced exploration Why do others grow so fast?

Everyone knows that we improve our learning methods, generally divided into

  1. Self-study, a process of self-improvement;

  2. Following the growth of the company's projects is what we call the process of business iteration.

Forget it, I’ve been working for almost three years. In the past three years, I have different cognitions in different periods and I wasted a lot of learning opportunities. However, I also summarized some good learning habits. Today I will share with you how to do it right. Use the work environment to learn.

1. Online incurable diseases

First of all, in the working environment, it is different from self-study. This is actual combat, which is to apply your knowledge online. After countless users verify your code, in different configurations of models, different usage habits, Under different network environments, there will be many problems:

  1. crash, generally add monitoring and actively report to the application

  2. Compatibility issues are generally reported by users

The above two types of problems caused by general business can be solved.

Finally, on the platform, there will be some very difficult to solve, with little impact, we call it online intractable diseases.

I think everyone will encounter this kind of problem. Many times, our attitude is:

"No impact, everyone has"

"It's not me, don't care"

Such an attitude is extremely incorrect, and these problems are very good materials for learning.

A long time ago, I once participated in an interview. The question is: Have you encountered some difficult exceptions and how to solve them?

At that time, I didn't participate in business development much. I was speechless for a while, and I didn't seem to pay much attention to it.

Thinking about it now, it is extremely inappropriate.

Many times, we complain that our business has not grown, on the contrary:

In the course of our business, we face millions or even tens of millions of users, and we will always encounter various difficult problems. These problems happen to be very good learning materials to help us grow, and we are often lazy or evaded by ourselves. The mentality of giving up such learning opportunities.

So, if you read this article, you might as well pay more attention to these issues.

The good news is that for these solutions, some major manufacturers in the industry will pursue the ultimate, and often share some technical articles explaining how to solve them. I will give a few examples:

  1. finalize time out Exception

Didi once shared:

  • Didi Chuxing's solution to finalize time out on Android
  1. bad token Exception

bugly also shared a window article, which also explains the token:

  • Analysis of the Android window

There are also some very good individual developers who open source their own solutions for toast bad token exception:

https://github.com/PureWriter/ToastCompat

  1. Anr caused by SharedPreference

The headline technical team analyzes and solves the ANR problem caused by SharedPreference apply.

Analysis of ANR problems caused by SharedPreference apply

  1. Some crashes and compatibility issues of webview

  2. Some strange problems caused by improper use of RxJava

...

These intractable diseases are right in front of you, and there are so many solutions that you can try to solve, and the online environment can support you to verify.

Might as well pursue the ultimate, try to fix these problems.

These can't be learned in a self-study environment. Even if you learn the solutions to these problems on your own, there are not enough conditions for you to verify online.

In addition, if you have any ideas for the ultimate in your work, such as some ultimate optimization solutions, don't hide them, try to do a wave, and go online to verify a wave.

Those who are not verified online are paper tigers, and you will never know the stability of the solution.

Regarding the search for related articles of Dachang, I also made a series for everyone:

Android These Things You Should Know | Issue 3

Android Information You May Miss | Issue 2

Android Quality Technology Sharing Phase 1

2. Offline incurable diseases

In addition, during the normal business iteration process, we or our colleagues occasionally encounter some difficult or extremely non-expected problems, usually:

  1. Difficult requirements encountered in the normal development process;

  2. Extreme mismatch with expectations during the realization process;

  3. The relatively occasional bug reported by qa;

These problems can be appropriately paid attention to. Of course, this is not a problem. You can understand the problem, try to solve it yourself, or think about why this is the case. If you have a conclusion, you can discuss it with your colleagues and solve it together.

There is no conclusion, as unknown knowledge, the follow-up colleagues solved it, asked a wave, and then looked at the code, it is considered to have learned.

Not all needs can meet intractable diseases. Don't shrink back when you encounter them. Instead, you should be fortunate. I feel that I have learned and earned it again today.

I remember that once, we encountered a very strange online problem. We worked with colleagues for many days and sent multiple versions for verification. In response to the problems encountered, various guesses and verifications were made. After resolving the pressure, looking back on this period later, they will say:

This wave is not a loss, I learned it.

In a team, this does not set boundaries, in addition to learning more, but also getting along with colleagues more harmoniously.

**

  1. to sum up**

Many times, a classmate asked me

"Hongyang, what knowledge can I learn to become a senior engineer?"

No.

The ranks are all given to you by the company. There is no knowledge to be a senior engineer after you have learned it. It is more to combine the actual project experience, so choose a company that you recognize, continue to learn and accumulate, follow the project to grow, and finally get recognized , Give you "advanced" title.

For rapid growth, the article gives two solutions that can be used for reference.

Secondly, in our industry, most of the problems do not need to fight IQ, 90% of the problems you encounter, others have encountered, can be solved by search engines.

But after each solution, if you are interested, explore the principles behind:

1. Why is there this problem?

2. What is the essence of this solution?

3. After understanding the essence, is there a better solution?

If things go on like this, the gap will slowly become apparent.

"Some students encounter problems and still rely on search engines"

"Some students encounter various problems, basically take a look at the error report, combined with the context, can immediately think of the nature of the problem."

If you want rapid technological growth, you should correct your attitude and prepare for long-term accumulation.

Why didn’t I take a break from tweets on Saturday?

Because of the recent advertising push occupies some push opportunities, so I will spend extra time to make up some articles for everyone, these articles are usually in the next article or weekend.

Recommended reading:

Recently, Flutter is struggling! Flutter can also do such cool animations

Open source an Android image compression framework

I’m sharing Android in a group, it seems that no one talks anymore... Issue 2

Guess you like

Origin blog.51cto.com/15064646/2572807