I have worked in two companies in Hangzhou since MY internship in April, 2012. Last month, I got the official SP. Now I write this article as a summary of my internship in this year.

Why did you intern for so long?

It will start from 19 years, at that time or junior last semester, come back from school to travel to sanya in December to play, that will be able to back to school to learn a month, when the plan is to find it around next semester of senior year internship, but because of an outbreak of epidemic, the family are all doctors, often won’t be home for possible suspected cases, He could not go out at home, so he waited to see when he could go back to school under the gloomy atmosphere. (Of course, I still think school is happy and free.)

Around March or April, the atmosphere began to calm down, and then the school also issued a notice, students at home online classes. Several students also got offers from good companies. I also prepared for an interview. At that time, I met an Ali company in Hangzhou and went there the next week.

It was my first time in the company

As a student who just entered the company as an intern at that time, in my subconscious mind, the company should be full of intrigue and serious employees dressed in suits. I still remember how much I shook when I was taken to my seat by HR.

The first internship, the deepest feeling is cooperation. At school, I always do the front end by myself. At most, I cooperate with the back end of the dormitory to do a big homework. Github is only used by one person, the code can only be seen by myself, the CSS important can only be seen where it is put, the naming of humps and underlines, and a lot of Magic numbers. In the first month or so, I spent half of my time in code review, focusing on naming, function extraction, code style, or. There were a lot of situations like merge code conflicts, being asked by the front end why he changed his configuration, being asked by the boss why I broke the navigation bar on the home page, etc.

Later, I actually asked the elder sister who led me why she kept helping me with code review. Isn’t she tired? She said not tired, mainly afraid you pollute my code (/ black question mark face line. JPG). In the future, I can independently complete some simple tables and forms and dismantle some components with different responsibilities on the basis of asking the location of reusable code. Of course, I still need code review. Progress is only to guess a small part of the problems that may be pointed out before code review and then get rid of them.

Growth is brought me in this company, experience in the company, the front-end work to develop a project process and matters needing attention, experience the working status of the programmer is what kind of, for the first time the feeling of making money, although the practice is less, but, after all, their own money oneself flower, was quite happy ha ha.

Job hopping in July

Internship after three months, or front executives raised, the main reason or live far away, itself may be difficult to afford the hangzhou downtown location rent, after consultation with HR didn’t also the way to me with a computer and display or a slightly higher salary, just at that time, a classmate gave a push, finished in the afternoon went to the interview, The next day he chose to quit.

Mika went to the second company

In July, I went to my second internship company. Just like the last company, it was not a business platform but the front-end development of the company’s internal tool platform. I worked full-time in the front-end for several years. Personal Experience Apart from the benefits, the job in this company is more to my liking. Code review is definitely available, and there are differences between development, stage and online environment. Phabricator is used as a code review tool. You cannot merge into the main branch without permission. In terms of technology, it is relatively new, mainly using React framework, front-end using Apollo + GraphQL for request, and middle layer using Nest + Proto. Nest technology is relatively new, I remember when I saw this and needed to develop it, I was confused. How can I do that? Fortunately, every time there is a problem, we can find someone to help solve it, so that we are not stuck in one place for a long time.

One week before I joined the company, I was always in the stage of getting familiar with the environment, such as issuing a new computer, installing the development environment, and getting familiar with the project code, etc. After a week, I started to make some small code modifications, which also required various modifications. However, sometimes I saw the encouragement of “LGTM” for commit in diff. Will still secretly laugh (although the beginning of a month to two, not later).

In this stage, BASIC operations can be completed by myself. Diff will not be called back too many times, and the development speed is a little slow. In case of Nest and performance-related problems, I still need to seek help.

In eight months after the announcement, because is responsible for most of the platform development tasks, so give a E3 sp, slowly will be more attention in this stage, and the product of the game, to maintain their personal Tag in a team of party to build a small concert, pay attention to the limits of their own time to rest and work time, don’t work in time for some personal precipitation, Do your own blog or articles or something other than technology.

More technically than before the internship

  • The selection of libraries will be considered more. In the past, as long as a good and cool library is used in the project, now before choosing a library, we will consider whether there is a lower cost alternative, as well as the cost of team use, the impact on performance, the impact on the overall code and modification cost.
  • Code itself can pay more attention to the role of a single, easy to develop their own thinking, anyway just developed, a whole function can be written more than one hundred lines, such as an upload function may include the switch Modal, modify the component state, upload code, such as too coupling, also not convenient debugging, even bad comments to describe the function of the details.
  • Avoid writing Magic numbers, which can cause headaches for your team developers. Here’s a quick example
// bad code

const canAddRange = (ranges) = > {
  return ranges.length >= 7 && ranges.length <= 16
}

// better code

const MAX_RANGE_LENGTH = 7
const MIN_RANGE_LENGTH = 16

const canAddRange = (ranges) = > {
  return ranges.length >= MIN_RANGE_LENGTH && ranges.length <= MAX_RANGE_LENGTH
}
Copy the code
  • There used to be a lot of fancy operations, but now try to replace them with simpler or more readable operations.

Now of I

Now the blogger has asked for a leave of more than a month to go back to school to write the graduation thesis. After all, graduation is more important. If he does not write the graduation thesis and thesis full-time, he is still a little nervous to complete the defense. I hope THAT DURING this period of time, I can happily walk my own way and experience the last college days.