Soul torture! Double non-stubborn programmers, do you want to take a postgraduate entrance examination in World War II or find a job first?

First

Hello, everyone. Yesterday, a classmate asked me a soul question on WeChat.

Briefly introduce the situation of this classmate. He is currently a senior and his school is not very good. During the university, I participated in some competitions and some internship experience in small factories. However, I did not perform very well in this year's postgraduate entrance examination. The professional courses were pressed down and the national line was not passed. Since graduation is approaching, he is very annoyed now, and he doesn't know how to choose whether to take the postgraduate entrance examination in World War II or to find a job first.

Apart from understanding, he also showed me his resume. Combining his resume and experience, I saw some problems. These problems do not seem to be his personal problems. Many students have such problems. So with today’s article, I will give you some thoughts and analysis, and hope to give some inspiration to more students who are still cultivating.

University must be partial

After reading this classmate's resume, my biggest feeling is that the experience is very rich, but there is no focus . In short, I don't know what he wants to be good at, what he is interested in, and what he wants to do.

To give a simple example, he wrote on his resume that his research direction is software technology, which is partial to the back end, but there is no description or experience related to software technology in his resume. The experience in the resume is mainly about web page production and internships. The web page production is on the front end, but the internship is involved in Android development. As soon as the internship period is over, I am confused. What development do I want to do?

The problem here is not the superficial problem of poorly written resumes. The core essence is that he did not have a clear core during the whole university period, and he does not know what goals his university has. This is not just his problem, I think most of the responsibility should be the current university education. Because the current university courses are only responsible for instilling the courses to you, but they are not responsible for telling you what is the use after learning this thing, and what career you can pursue.

This question is very critical. It can almost be said that everyone will eventually find the answer to this question, but the difference is that they have the knowledge to actively explore and cater to their own interests. Some people are safe and arranged according to fate. It's not that it's not good to go along with the situation, but if you have a clear goal from the beginning, you can save a lot of exploration time .

For example, if this classmate made it clear during the freshman year that he would be engaged in Android development in the future, he could start to understand the relevant technical fields during the freshman year. After four years, not to mention becoming an expert in this field, but at least I have a very deep understanding. Imagine, with your spare study time working in front of the screen every day, you can conquer a technique for 4 years, to what extent you can practice, not to mention as a student who only needs to practice every day. With that technical depth, will you still be confused when you graduate and don't know what kind of work you should be engaged in?

Another point is that, whether it's a postgraduate entrance examination or a job, I think I will definitely prefer people with clear goals in the interview. Because people with clear goals are more willing to work hard, they will know what they want and the price they need to pay. So bosses and mentors are also more inclined to cultivate such people, because they are often more willing to work hard and endure hardships, and are more willing to give. Think about it briefly. If you go to be a tutor, are you more willing to teach a child who is motivated to pass the 985 exam, or teach a child who doesn't care what school is going to take the exam?

Some classmates will say that I am already a senior, or that I have graduated, what good is it to say that?

In fact, it's useful, and it's not too late to make up for it. Take this classmate, for example, who has not yet graduated from his senior year, and his career development for decades has just begun. It may be a few years later than the classmates who knew their ideals in their freshman year and started to work hard, but compared to most people, it is already an early bird. Especially important is that it is never too late compared to himself.

Which is difficult for school recruitment or social recruitment to enter the big factory?

After reading the resume, I chatted with this classmate about the goal, and I asked him what your goal was.

His answer is very simple, to enter a large factory, either through the postgraduate entrance examination and then the school recruits into the large factory, or the job club first recruits into the large factory.

If you ask me this sentence two years earlier, I will definitely tell you that it is a simple social recruitment of course. Because the school recruits a small number of places, the competition is high, and it is too involuntary. Social recruitment does not value academic qualifications so much, and often lowers the threshold when there is a shortage of people. Obviously, social recruitment is easy. But when I think about it now, it’s not absolute. Dachang’s recruitment standards have not changed much. Both school recruitment and social recruitment are the same. It seems that many people who have no chance of recruiting in schools have relied on the social recruitment to enter the big factory. It seems that the latter is easy. But conversely, this group of people were equally competitive when they were recruited at school.

In World War II, I went to a good school to enter a large factory through excellent performance, and first entered an unknown small company, improved my ability during various overtime work, and moved to a large factory. In terms of possibility, it seems that there is a possibility of realization. In terms of probability, it is really difficult to say which probability is greater. So entanglement of these is not very meaningful. You look at the cases of other seniors. After you read too much, you will have the feeling that the person is right, no matter how he chooses, he can’t be wrong, the person is wrong, no matter how he chooses, he can’t choose the right one. The result comes. The key is not the choice, but the thing behind the choice.

To put it bluntly, you have to become the right person who can do things. There is no wrong option in the eyes of the bull. I have told the story of the bald brother before, starting from junior college, all the way to PhD, and finally becoming an artificial intelligence expert. I have also heard the story of a construction site brother, a construction site moving bricks, learning programming to find a job, all the way to become a technical director.

Life can't just do simple things

Having said so much, the key point has emerged: Both of these options are possible in themselves, but they are not easy either.

To put it bluntly, no matter how you choose, it is a lot of difficulties and obstacles, and a lot of hardships to eat. At this time, it doesn’t make sense to worry about which one is easier. There is a famous English saying I like very much, called Hard choices, easy life. Easy choices, hard life. Translated, seemingly simple options are often difficult life, and after difficult choices, it is often easy.

Buffett also said that slow is fast. There are no shortcuts in life, no easy options, and no casual success. Whether it’s a postgraduate entrance exam for World War II, it’s not easy to bite the bullet and find a job. But no matter how you choose, if you decide, take the road ahead, prepare for the challenge, and start your journey. When you have worked so hard to finally accomplish something, you will gradually adapt to the challenge and become stronger and stronger.

Destined to "live and learn"

It’s the 8th year since I have been doing Android development myself. I have witnessed the ups and downs of too many people. I am deeply impressed by a colleague who switched jobs to Ali and directly doubled his salary, but I also saw many people plated with "big factory" gold everywhere. Hit a wall, after all, it still fell on the technology

Let me share my specific study routes and notes documents over the past few years, hoping to help friends who are interested in improving their skills!

The following complete study notes PDF, click here to download for free !

  • Essential skills for architects

At present, the mainstream language for Android APP development is the Java language. The biggest feature of the Java language is to increase the possibility of software interaction. It can be said that almost all applications on Android phones are written in the Java language.

Knowledge points:
1. In-depth understanding of Java generics
2. Explaining in-depth explanations
3. Concurrent programming
4. Data transmission and serialization
5. Principles of Java virtual machine
6. Efficient IO

Essential skills for architects

  • Interpretation of open source framework for design thinking

With the continuous development of Internet companies, there are more and more modules in product projects, and user experience requirements are getting higher and higher. It is becoming more and more difficult to achieve the purpose of small steps and fast iterations, and the application of plug-in technology is born. If there is no plug-in technology, the applications that integrate a large number of "app" such as Meituan and Taobao may be as big as a few g.

Therefore, today's Android mobile development will not be hot-fixed, plug-inized, or componentized, and more than 80% of the interviews will not pass.

Knowledge points:
1. Hot fix design
2. Plug-in framework design
3. Component framework design
4. Picture loading framework
5. Network access framework design
6. RXJava responsive programming framework design

Interpretation of open source framework for design thinking

  • 360° all-round performance tuning

In the hands of development engineers at different levels, because of the uneven technical level, even if many mobile phones are running with very high software performance, there will still be lag when opening applications.

In addition, with the iteration of product content, the functions become more and more complex, and the UI pages become more and more abundant, which also becomes an obstacle to smooth operation. In summary, the performance optimization of APP has become a comprehensive quality that developers should have, and it is also a guarantee for developers to complete high-quality application works.

1. Design ideas and code quality optimization

2. Program performance optimization

  • Start-up speed and execution efficiency optimization
  • Layout detection and optimization
  • Memory optimization
  • Power consumption optimization
  • Network transmission and data storage optimization
  • APK size optimization

3. Optimization of development efficiency

  • Distributed version control system Git
  • Automated build system Gradle

4. Project actual combat

  • Start speed
  • Fluency
  • The practice of Douyin's APK package size resource optimization
  • Full analysis of Youku's responsive layout technology
  • Network Optimization
  • Revealing the Secret of the Performance Optimization Project on Taobao Double 11
  • Source code dependency analysis of AutoNavi APP full link
  • Sharing of actual combat experience of completely eliminating OOM
  • WeChat Android terminal memory optimization practice

360° all-round performance tuning

  • Android framework architecture

Android framework architecture (advanced UI+FrameWork source code) This piece of knowledge is currently the most users, and we call it the technology of Android from 2013 to 2016.

Android developers are often familiar and unfamiliar with this frequently "used" code because they are used to copying code online: the familiar is dealing with them almost every day, and copying the code every day; the unfamiliar is that although with these codes every day Dealing with codes, but I haven't studied the principles of these codes in depth and the connotations in the depths of the codes.

Key points of this article:
1. Advanced UI promotion
2. Android kernel components
3. Essential IPC for large projects
4. Data persistence and serialization
5. Framework kernel analysis

Android framework architecture

  • NDK module development (audio and video series)

NDK (abbreviation of Native Development Kit) is a software development kit based on a native programming interface that allows you to use C and C++ code in Android applications. The program developed by this tool runs directly locally, not a virtual machine.

In Android, NDK is a collection of a series of tools, mainly used to extend the Android SDK. NDK provides a series of tools to help developers quickly develop C or C++ dynamic libraries, and can automatically package so and Java applications into an apk.

Knowledge points in this article:
1. Introduction to C/C++ developed by NDK
2. JNI module development
3. Linux programming
4. Low-level image processing
5. Audio and video development
6. Machine learning

NDK module development

  • Flutter learning advanced

2019 is undoubtedly a year in which Flutter technology is in full swing.

Every mobile developer is crazy about the features and concepts of "rapid development, expressive and flexible UI, native performance" brought by Flutter, from super apps to independent apps, from pure Flutter to hybrid stacks, developers We are enthusiastic about exploring and applying Flutter technology in different scenarios, and we are also facing a variety of different challenges.

Key points of this article:
1. Overview of Flutter cross-platform development
2. Flutter development environment construction in Windows
3. Writing your first Flutter APP
4. Getting started

with the Flutter Dart language system ...

Flutter learning

  • WeChat applet development

As one of the most popular programming development application scenarios, WeChat applets are very popular in the market, which makes many developers greedy. But for beginners, it's completely at a loss. I don't know what knowledge needs to be learned in the development and production of WeChat applets. Friends in need can refer to this article.

The main points of knowledge in this article:
1. Overview and introduction of
applet 2. UI development of applet
3. API operation
4. Practical combat of shopping mall projects

WeChat applet development

  • Interpretation of Android-related source code
    As long as it is a programmer, whether it is Java or Android, if you don’t read the source code and only look at the API documentation, it will just stay on the skin. This is not good for the establishment and completeness of our knowledge system and the improvement of actual combat technology. of.

Interpretation of Android related source code

Interpretation of part of the Android-related source code

Due to space reasons, if you need a PDF of the above complete study notes, you can click here to pick it up for free ! !

The result is important, and the process also makes sense

Finally, what I want to say is that the results are important, but you can’t just focus on the results.

I can tell you with certainty that before you entered Dachang, you felt that Dachang was so good that you might not change jobs for a lifetime. But if you give you an offer now, and within three months of joining, all your previous visions will be forgotten. All you think about is work, performance, and overtime. You will no longer remember the joy of getting the offer or the feeling of getting what you wanted.

People are like this, easy to think and easy to forget. So don't put all your thoughts on that illusory result. The result is important, but the process is equally meaningful. Whether you are studying for graduate school or working, you have also gained tangible growth in this process, and these gains really belong to you. The background of a big factory can certainly give you blessings, but your ability is still the foundation of these gains. The offer is the same as the trophy. It is only the honor of strength, not the strength itself. Don't put the cart before the horse.

At the end of the writing, it seems that I did not give a conclusion, because I hope that the students who have this doubt will find their own answers in their hearts when they see this. It’s important to listen to other people’s advice, but it’s also crucial to find your inner desires. Come on, boys, the future is waiting for you to work hard.

That’s it for today’s article. Thank you for reading. If you like, you can give me a three-link so that the article can be shared with more people~

Guess you like

Origin blog.csdn.net/Androiddddd/article/details/115325887