preface

This period of time, and the Internet winter, you see news flying everywhere. In a flash, layoffs, refute rumors, is very lively. This makes us programmers very uncomfortable, the original pressure is big, but also always someone in your ear to stir up a fire to create panic. I say: can’t you just give it a rest? I vividly remember the Internet winter of 2017, and the winter of 2018 is here again. So as an Android programmer how to winter, how to become a competitive programmer?

People are always scarce. Winter is relative

This winter we often see a scenario of layoffs and optimization of various companies, which can be defined as talent is always scarce, and winter is relative, this sentence can be understood as the company because the economy may continue to decline this year, so no matter in all walks of life, have been a big impact. But for us to continue to charge, to learn, to the wind waiting for the opportunity to hover. When there is a cold winter, we may face new opportunities and challenges, we may have some anxiety, this is a status quo of the industry, but because there are opportunities, so it is a good opportunity for most people.

How to stand out in a saturated market?

For the same position, there may be many people competing, so for the interview or candidate, what aspects of the interviewer to judge whether you are suitable for a certain position? So we have to be different from others, mainly reflected in the following four points.

  1. Practice sword, precipitation this need to practice more at ordinary times, slowly precipitation into their knowledge reserve, when necessary, it will let the interviewer shine, but not only limited to say, can use, to be more clear about the details of the inside, the market demand for this is constantly higher.
  2. Improve some of their influence for those who have a certain amount of influence related to the accumulation of people, he will have extra points in the interview, because those influence is some precipitation and accumulation, it is obvious to all. And the way to increase some of your influence is to write books and articles.
  3. When you are competing for the same position, you need to stand out from the other candidates. It is better to have a background in a big company, or a background in a big company, which is a recognition of the ability of the person in a big company. Of course, there are people in big companies who muddle along, but generally they recognize people who come from big companies.
  4. Interview preparation, brush questions, review and summary before the interview need to prepare more, for large factories, data structure and algorithm is more important, need to brush questions, and then review, summary, at least half a month of preparation period.

How to build field depth capability?

The ability to dig deep in the field is mainly to understand some things in the depth of knowledge points. If you know more details than others, others’ evaluation and views on you will be different. It is mainly characterized by the following five aspects:

  1. Read the source code of the relevant field, the framework we are engaged in the first line of work, must read the source code of the relevant field, and understand some of the relevant content inside.
  2. Summary output document after reading the source code, their own experience, clear inside the logic and process, and then output some documents. If the company doesn’t use other company frameworks, you need to write one yourself. You must know how to write it.
  3. When we come across something we don’t understand or code we don’t understand, it’s time to write a Demo to verify the final result.
  4. Take the initiative to learn the technology you are interested in. You generally take the initiative to learn the technology you are interested in. You don’t need others to force you to learn. When you take the initiative to learn, your subjective initiative will be stronger. When you don’t know something, you will want to explore it more deeply and learn more deeply.
  5. Ask why? Learn to ask why, for example, why the framework is designed the way it is, why it is written the way it is, why there is such a process in the middle, and only when you ask why, will you find the answer, will you understand the knowledge point more deeply. That way, when you’re in an interview and the interviewer asks you why you’re doing it, you’ll be able to respond.

How is the Android market?

  1. First of all, the market share of mobile devices is very large, and artificial intelligence and other new technologies are still in the embryonic stage. To implement them, there are still a lot of things to do, so although the market is saturated with mobile devices, there are still a lot of things that can be done.
  2. The Android market is saturated with many senior, senior and expert engineer positions, while the junior and intermediate positions will appear to be very few. Because the whole industry is moving forward, the person who used to work for one or two years has now worked for four or five years, or at least is a senior engineer.
  3. 15-30K varies, and the salary of more posts above 30K is generally between 15-30K. Because there are more senior and expert posts, there are more posts above 30K.
  4. The past into the high threshold, a consortium giant too much now, water, a little effort can into a giant The threshold of the giant now out past high, general technical three to four, do not rule out WeChat this core, the focus of the department is generally to 7, 8 rounds, because our technology is also in constant ascension, giant also want to hire a lot of people go to work, Do some product iterations. Those who are experienced and expert are likely to focus a little more on frameworks and performance.
  5. We should pay attention to keep improving and new technologies for us, we must for technical excellence, and should always pay attention to some new technology, because of the emergence of a new technology, there must be some of its historical reasons, it can be solved in the past some can’t solve the problem of pain points, but perhaps it is not perfect, also not mature enough, Still, we need to pay attention.

Where are Android developers heading?

  1. Application layer development, not limited to various products, mainly Android or iOS native development, mainly various performance optimizations.
  2. Embedded development, not limited to various development boards, Internet of things, smart home.
  3. Security development, not limited to a variety of anti-reverse, disassembly, looking for security holes.
  4. Audio and video development, not limited to live broadcast, on-demand, audio and video call, audio and video conference, short video, etc.
  5. Plug-in, component, hotfix development, not limited to self-development and use of open source framework integration development.
  6. System development (Android), not limited to Rom maintenance and Framework layer customization requirements
  7. Graphic image development, not limited to OpenGL ES, EGL, GLSurfaceView, filters, beauty
  8. Big front-end development, Flutter, RN, Weex, Cordova, applets, JS

How to learn Android Audio and Video Development

Learning listing

  • Books: Android audio and video development, a new generation of video compression and coding standard –h.264/avc(second edition) bi houjie, h.265 /HEVC– new video coding standard and its extension, C++ Primer
  • Blog: github.com/hejunlin201…
  • Knowledge base: C/C++(mandatory), Java, Objective-C
  • Don’t do everything. Pick one direction, okay
    • Live streaming (Huya, Inke, Momo)
    • Short video (Douyin, Kuaishou)
    • Audio and Video calling (WEBRTC)
    • Android Multimedia Framework (ROM)
    • Codec standard (H.265/H.266)

How to Prepare for a midlife crisis?

Technical personnel career cycle

  • Precipitation accumulation period: five years before graduation and work, we need to accumulate and store knowledge, including depth and breadth of precipitation.
  • Budding period: 5-8 years, do some related things alone or take charge of some modules and work independently.
  • Peak years: 8-13 years, when you have a clear idea of yourself, including some understanding and opinions about the workplace, whether you think you will be able to do technology for the rest of your life, and whether you should change careers. Instead of sticking to some of the techniques of the past, it’s more important to do something else or related, to use some of your strengths or do more valuable things.
  • Stable regression period: 13-N years, many people joined the leadership, and those who did not were technical experts or related ones. They mostly exported the past sorting and inventory, trained new people to do things, and passed on their own value.

How to do it?

  • Go to the big factory to upgrade and beat monsters, mix good management

    • Record of formal schooling
    • Rank promotion
    • Technical ability
    • Soft power, communication, familiarity with the implicit rules of the workplace
  • Do personal IP, build influence, tap sideline income

    • The sooner it is established, the better
    • Expand diversified income system
  • A career change doesn’t avoid the problem at all, it’s just a field to start over, whether in Java or C/C++, which is not inherently avoidable.

Summary of a recent interview (Don’t quit naked)

  • Fully prepared, don’t try so hard the interview, understand the characteristics of the interview, such as which company like surface algorithm or computer network protocols, such as a BAT, drops, Meituan, headlines, quickly, the unicorn bill company like surface algorithm, the general company is based on the interview, projects you’ve done, for example, from the project instance, to ask, examine your background)
  • There are more opportunities to seize
  • Get the e-offer first. Don’t have too many
  • If the price is not agreed upon, it does not count as an Offer.
  • Be honest about your project and company experience. Don’t lie
  • Figure out where your career is going and don’t jump ship too often

Early pay attention to the accumulation of technology, late pay attention to the accumulation of contacts

First of all, we should pay attention to the accumulation of some technology, at least 5 years or five to eight years before this direction must be right, and pay attention to the accumulation is behind some of the contacts, such as better than you know some people or bad man than you, maybe later you will get his attention, he is recognized you, you can go directly to his work there.

Resume attention

One or two pages should be enough. Write about your project experience, including some of the things you did that you thought were great. This is key, because the interviewer likes to see the highlights, and that will help him or her narrow down the list.