01 36 years old Android developer, worked for the company for 8 years, yesterday HR said the company is not ready to renew

The night before last, a reader left me a comment about something he was angry about, feeling wronged and unworthy.

This friend wishes to remain anonymous, but will be called Mr. H.

Mr. H is a typical student with excellent academic performance. His university is also a 211 brand, and he is majoring in computer science.

After graduate school, I joined my current company as an Android developer.

At that time, there were three companies to accept him, and he chose the current company with good profits and development prospects.

After entering the company, he began working overtime like all programmers to catch up on programs.

02 Worked hard for 8 years to solve countless technical problems for the company

Perhaps because of his talent and intelligence, or because he is particularly suitable for the work of programmers, Mr. H has been able to lead a team independently after working for two years.

Mr. H himself said that since he began to lead the team, he almost never took a weekend off. He often forgot the time when he was working, and led his small team to work for more than ten hours. As a young man, he no longer had much hair on his head.

He made the effect is also very good, for the company to solve countless technical problems.

The only disadvantage is that his health is getting worse and worse. In recent months, he can not stay up late, and sometimes he needs to go home early from work.

Yesterday, HR said that the company had studied and decided not to renew the contract

Some time ago, it was time for the company to renew the contract. Unexpectedly, Mr. H, who had paid so long for the company, was interviewed by the HR of the company and said that the company would not renew the contract for him.

Mr. H was stunned on the spot. At this moment, HR did not stop talking. She gave several examples of Mr. H asking for leave because of illness, and then explained that Mr. H might not be suitable to work here recently.

Mr. H is very aggrieved. In these years of work, he has devoted his youth to the company, but he did not expect to end up like this.

Ah…

Eight pieces of advice for young Programmers

First, no matter how busy you are, you can’t forget your health. Must be willing to invest in their own health, not only to invest money, but also to invest time, take a certain amount of time every day to let their rest adjustment, physical exercise, not because of work and overwhelm their spirit.

Two, to find a good retreat. Company before going to don’t you, there will be a variety of warning, no matter from the attitude to you, or your salary level, may be reflected, and take a look at the company’s attitude toward other older employees, can be seen is the basic attitude to you later, if your own negative, will be a wily rabbit has three burrows, ahead of their buyers.

Don’t say a skill is useless. Any skill you have has value, but learn to find situations where you can use it. If you fall overboard one day, you may be glad you learned to swim before.

4. If you want to move up in your career, you should be willing to take on troublesome and challenging tasks. When you push away problems, you push away opportunities.

Five, a lot of people like to keep doing things, but will not stop to think, lack of summarizing the ability to review, in fact, the stage summary of the review, not only can solidify the experience in front, but also can comb the direction behind; To do things right is important, but to do the right thing is even more important; In addition, don’t be greedy for fast, slow is fast in the right direction.

Six, the workplace self-presentation is very important, especially programmers, often is a weakness in this respect, if you can, you can strengthen these soft skills through practice, training, very helpful to the workplace in the late.

Seven keep curiosity, work life, don’t sceptical about what many opportunity is hidden in the small details, such as twenty years ago someone tell you that the future can shopping on the Internet, someone tell you that the future can use mobile payment, you don’t take him directly to cheat, calm down to think of it, all things have the curiosity, but to have my own judgment.

Eight, if you do not agree with a company’s corporate culture, you are likely to dry not long, dry not to the middle and senior management, IT people you do not timely breakthrough to the middle and senior management soon you will face a lot of problems; There are two main types of people in the recruitment of the company, one is qualified person, the other is suitable person, qualified person refers to qualified skills, suitable person refers to identify with the culture. Enterprise recruitment is the first qualified people to find in, and then through daily propaganda, imperceptibly eliminate the unsuitable people.

05 Advanced learning route

Android has a long way to go, and we’re all on our way. Below are the latest learning materials, which have been uploaded to the open source project”Lot”Help yourself to a friend in need.

Jetpack Architectural Components 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
  • .

Advanced JetPack Enhanced Combat

  • First view of ConstraintLayout’s implementation login page
  • Navigation practice implementation APP main framework and Navigation related introduction
  • Network data requests using Coroutines, Retrofit, and Moshi
  • Use TabLayout, ViewPager2, RecyclerView to achieve the song list square page
  • Song sheet page MVVM architecture transformation and the use of ViewModel and LiveData introduction
  • The Paging implementation loads more and pulls down to refresh, rerequesting after errors
  • Vlayout nesting horizontal RecyclerView and Banner home page display, custom Moshi JsonAdapter
  • Room database to achieve add, delete, change, check and transaction processing
  • Room database Migration
  • ExoPlayer for video playback implementation
  • .

Advancements in Flutter Technology

  • Why is Flutter the ultimate cross-platform development choice
  • Build Flutter development environment on Windows
  • Write your first Flutter App
  • Build and debug the Flutter development environment
  • Basic Grammar for Dart Grammar Part 1
  • Use of the Dart Syntax set and Source Code Parsing (part 2)
  • Dart Set Operator Functions and Source Code Analysis (part 3)
  • Use of functions in Dart Syntax chapter (4)
  • Object-oriented Basics for Dart Syntax (part 5)
  • Object-oriented Inheritance and Mixins in Dart Syntax part 6
  • Dart Syntax: Type System and Generics (part 7)
  • Widgets in Flutter,
  • .

Advanced UI

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!

“Framework Refined Kernel Analysis”

  • In-depth analysis of Binder
  • Parsing Handler in depth
  • Dalvik VM process system
  • Parse WMS in depth
  • PackagerManagerService

“360° All-round Performance Tuning”

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

Android Third-party Frameworks

Content of this article (1042 pages)

  • Thermal repair design
  • pluggable
  • Component frame design
  • Image loading frame
  • Network Request Framework
  • RXJava responsive programming framework design
  • IOC Architecture Design
  • Android architecture component Jetpack

NDK Module Development

The main contents include:

  • NDK module development
  • JNI module
  • Native development tools
  • Linux programming
  • Underlying image processing
  • Audio and Video development
  • Machine learning

All materials have been uploaded to the open source project“Lot”Help yourself to a friend in need.

What are the career paths of older programmers?

Like most careers, either you dig into technology. Today, technology is still the optimal path for programmers.

And there are very few engineers who can actually take on projects — these are the very few senior engineers who build the Internet services we use most every day.

But we also see a lot of competition for older programmers, even in the beginner’s circle, competing with the base crowd.

The bottom of the pyramid is doomed to death.

For the Internet industry, programmers are not difficult to find, it is difficult to find high-level programmers, in contrast, the initial programmer “surplus” is reasonable.

In the end, this is not because of “overstaffing”, but because of “technology shortage”.

In the digital age, only lifelong learners are likely to be winners. Especially for the workplace, to maintain professional competitiveness, more need to continue to learn.