This is a joke made by a colleague in a forum:
I’ve been there for about five years, but I feel like I’ve only been there for two or three years.
I feel that I am not suitable to be a programmer, mainly because the acceptance of new things is slower than others, and Android technology updates quickly, I always feel that I can’t keep up. Some old, thinking for a long time will have a headache, can not work overtime, overtime efficiency is very low.
For reasons like me, the leader always gives me some unskilled chores, which makes it more difficult to improve, and my skills are limited to a certain level and cannot be improved.
And then it slowly became what it is now. Now there are old and young, energy is nibbled more severe, work efficiency is lower, leadership is going to dismiss me, very anxious……
Some thoughts
I am one of the most common programmers, currently doing development in a large factory in Beijing, living a monotonous life, sitting helplessly painful work, but every rational to think about the reality of the deep suffering, and will feel their work is good (I go, accidentally bet on ha ha).
Well, back to above the colleague’s question, I think we will go to the dialectical view of so-called programmers a mid-life crisis, anxiety, anxiety, tension feeling because you want to seek better job prospects and higher salary, oppressive feeling when people in efforts to the pursuit of progress, or anxiety increases, The fact that you feel like you have a crisis is proof that you’re in the middle of something big. Trust yourself that you’re still a teenager. Give yourself a manual “like”.
The Internet industry is indeed developing rapidly at present, and we are in a stage of qualitative change. Meanwhile, we should feel lucky. The more we gain, the more pressure we bear. But it is precisely this kind of discomfort that will unconsciously change our future life.
A midlife crisis, is we lest they should be replaced by others, be replaced by the young people of youthful than us, that you ever think about, what they have to replace you, you have five or even 10 years of work experience, project experience, most of them entered society, entering the workplace, if you can be their alternative, meaning should reflect on their many years of work in where.
So dear colleagues comrades, self-pity and chicken soup can’t change the cruel reality, not a wife to feed the child, whether a mid-life crisis or middle-aged anxiety at the end of the day is its own insecurity and lack of ability, we should do is not in the fear of being replaced every day, but in a mature and calm, slow and steady is self-motivated, keep up with the change of the Internet industry, Don’t be left behind, let oneself in more than 20 years old to do more than 20 years old things, more than 30 years old to do more than 30 years old things, I believe that the potential contained in a person’s efforts, far beyond self-imagination, refueling fellow programmers old iron, we will say and the crisis never see again.
The last
In every industry, there are both good and bad ones. As long as you keep learning and making progress, you can pick the fruit that others can’t pick.
For programmers, there are too many knowledge content and technology to learn. Many people always encounter some problems when they just contact this industry or when they meet the bottleneck period. For example, after learning for a period of time, they feel directionless and do not know where to start to learn. They can pay attention to me and update various technical products every day.
At this point, as an Android developer, next I want to share these years, I for the technology of some summary and summary, and their own as an Android senior developer need to master those skills to share notes, I hope to help to the heart of the road to the black friends!
1. Advanced UI, custom View
The UI piece of knowledge is the most widely used today. That year the popular Android training, learn this small piece of knowledge can casually find a good job.
But obviously now is far from enough, refused to endless CV, personally to project combat, read the source code, research principle!
2.NDK module development
The content mainly involves the following aspects:
- NDK module development
- JNI module
- Native development tools
- Linux programming
- Underlying image processing
- Audio and Video development
- Machine learning
3. Data structure and algorithm
Why study data structures?
This is because all programs are essentially data processing, how to efficiently process data, which depends on the structure of the data itself (such as type (integer, floating point, etc.), dimension, whether it is a complex type (structure type, class type, etc.) and the logical relationship between the data (linear, nonlinear, etc.).
The data structure is inseparable from the algorithm, the design of the data structure is to make the algorithm smooth and convenient implementation.
4.Java advanced and kernel principle
The content mainly involves the following aspects:
- HashMap
- ArrayList
- LinkedList
- Hashset source code analysis
- The memory model
- Garbage Collection algorithm (JVM)
- The difference between garbage collection and calling System.gc()
- Class loading process
- reflection
- Multithreading and thread pools
- Design patterns
- Java generics
And so on…
5. Advancement of Flutter technology
Knowledge points of this article:
Create your first Flutter APP. 4. Get started with the Flutter Dart language system
6.360 degree full performance tuning
As product content iterates, features become more complex, and UI pages become richer, it becomes a barrier to smooth operation. To sum up, APP performance optimization has become a comprehensive quality that developers should have, and it is also a guarantee that developers can complete high-quality application works.
1. Design ideas and code quality optimization
2. Program performance optimization
- Optimization of startup speed and execution efficiency
- Layout detection and optimization
- Memory optimization
- Optimize the power consumption
- Network transmission and data storage optimization
- APK size optimization
3. Optimization of development efficiency
- Git, a distributed version control system
- Automated build system Gradle
4. Actual project combat
- startup
- fluency
- The practice of Douyin in APK packet size resource optimization
- Youku responsive layout technology full analysis
- Network optimization
- Mobile Taobao Double 11 performance optimization project revealed
- Autonavi APP full link source code dependency analysis
- Complete the OOM experience sharing
- Wechat Android terminal memory optimization practice
7.Framework refined kernel parsing
The main contents include:
- In-depth analysis of Binder
- Parsing Handler in depth
- Dalvik VM process system
- Parse WMS in depth
- PackagerManagerService
8.Jetpack architectural components go from beginner to master
- Android Jetpack – Navigation
- Android Jetpack – Data Binding
- Android Jetpack – ViewModel & LiveData
- Android Jetpack – Room
- Android Jetpack – Paging
- Android Jetpack – WorkManger
- Lifecycle for Android Jetpack architecture components
- Jetpack Compose for Android
9.2020 Big factory interview high-frequency knowledge points
One, picture two, network and security mechanism three, database four, plug-in, modular, component, hot repair, incremental update, Gradle five, architecture design and design mode six, performance optimization seven, Android Framework eight, Android excellent tripartite library source code
Due to space reasons, the above complete version of the PDF if necessary, you can like + comment support me and then join this side of the penguin dress, front: 110, middle: 240,, last: 5044 resources free to share, be there or be square oh!Copy the code