preface

Jin SAN Yin Four just past, it is estimated that many students have found satisfactory jobs. But at this point, it’s time not to relax, but to think about leaving.

As we all know, there are two things that are important in the job search process:

  • Resume: You can read it as a job report. It is a record of the projects you worked on and the knowledge you used.
  • Technical skills: During the interview, it’s important to measure your technical skills, but it’s usually based on the projects you’ve worked on.

To sum up the above two points, the core is: project technical points.

Skill point learning

Therefore, after we join a company, we need to get familiar with the project as soon as possible, sort out its operation process and what technology points are used. If you can, record the technical difficulties, and break it, after all, these tend to be the company’s technical core competitiveness, so, after occupies an important position in a big company, often need to sign a non-compete agreement, namely after the departure of a certain time (not more than two years) being at present, the company shall not be hired as a competition of enterprise.

Is there a way to quickly get to know the company’s projects and learn their technical points?

Of course, the simplest way is to wait for the superior to assign tasks, in the process of completing the task, which technical points involved, to learn to use. However, I do not recommend this method! Because this way is too passive, especially the larger the project, are you responsible for only a function of the plate, and if in small and medium-sized companies, also easy to another dilemma, that is job content just to write business logic code, to the underlying architecture design basic will not assigned to you to modify, so will cause: Knowing what you know and not knowing why, colloquially speaking, is years of work and one year of experience.

Here, I also share my own personal approach. That is to say, use idle time to understand the whole project framework, and its process can be divided into:

  • Project catalog analysis. Analyze the connection between each Module and the architecture based on which the whole project is built.
  • This section describes the application startup process. From the Application –> Startup page –> MainActivity.
  • Analyze the structure of the Activity. Because each company basically has its own encapsulated activities and fragments, it needs to clarify its operation process, using MVC? The MVP? The MVVM?
  • Understand the mechanics of core utility classes. For example, how to initialize, filter, write logs, and report logs in the most common log system.
  • Study the core business code. For example, the core of a camera App is, of course, the realization of the camera, taking out various special effects and filters, and generating video clips.

Along the way, you can document the flow, not overtly, of course, and if it’s really good, consider submitting it to your superiors as a README for your project.

Why do I stress leaving?

Because most of the time, we are easy to fall into the vortex of business logic, write code basically Copy, Copy, Paste, Paste, this is not helpful for our future employment, because in the interview, basically, please tell me your understanding of ××; How it is implemented internally; What are the ways to optimize it? Why do system developers write it this way? Can we implement it in a different way? If you don’t understand it well, it’s easy to shut down.

In addition, not every company has bole, in other words, even with bole, but the company for various kinds of economic and historical reasons, pay attention to you is not good, you a promotion, or even, companies are likely to collapse, department of business line cancel, at this time, if not always well prepared, let oneself in the struggle, so when the crisis hit, regret later.

Write in the last

Of course, I don’t want to encourage you to change jobs quickly, but I emphasize the importance of in-depth understanding of project technology. If you don’t understand the project you are currently in charge of, it is very dangerous to think of changing jobs to get a raise. Please be careful.

With this article, and your mutual encouragement!


Guess you like

  • Dart single-threaded understanding (completely different from Java)
  • Synchronous barriers with asynchronous messages, from entry to abandonment
  • Interviewer: How can Message be prioritized
  • Make an App that never crashes
  • Here, I want you to write a performance check

It’s not easy, and your likes are my biggest support.