Software engineering jobs in MSRA first week blog


1. Self-introduction

Hello everyone ~ I was Chen Haifeng, the Harbin Institute of Technology School of Computer a senior, senior began an internship at the KC MSRA group. As a standard of "fat house", to me, the main point of interest in sports would have no interest in programming and focus on the game (liver energy can krypton). Hearthstone, bird soul, collapse, Ark ... beside the point.
In the first three years, most of my experience are placed on top of the algorithm contest. ACM contest exciting race atmosphere, quirky algorithm thinking I was very fascinated. I had a hand in the ranks algorithm to provide problem-solving ideas for the team. After last year's regional tournament to get the runner-up this year into the World Finals, and try to transform into a carry-bit (algorithm + Code) a team. Algorithm thinking and feeling, I should be a bright spot. But it also leads to a problem that I have not been involved in large-scale projects, engineering in college. I believe this program can learn a lot and I think there is no contact angle before.


2. Status experience and plans

(1) how to choose this professional?

Mainly algorithm, love of programming it. After thinking I feel that they can immediately come up with a hands-proven feel good. And thinking algorithm makes me feel very interesting.

Skills Questionnaire:

skill Level Desired level Means of improving
Program Understanding 5 7 Read the open source as efficiently as possible
programming 7 8 Also regularly involved in programming competitions and training
Effectiveness Analysis and improvement 5 8 Greater access to performance analysis tools and familiar
Individual management source 1 6 Try to standardize as much as possible to manage their own code base
unit test 2 7 More unit test method proposed in Reference
(2) a) Why come to class and seriously involved?

Skills can be self-taught. I think the class, more in order to feel how teachers perceive these skills, they learn how. Everyone on the industry, an understanding of the skills are not the same, no doubt these teachers to understand more deeply than we are. I think we can understand that a deeper understanding of the industry for a better way to learn these skills through school.

(2) b) student Relationship

I think the university teacher-student relationship is two-way, each person's goals, direction, focus is not the same. Students can get teachers to teach experience, teachers can also learn about some of the different perspectives by students. For work, I think it best for you, if you really can not do, no reluctantly. Teacher's work is unified, but in fact something for everyone expect for this class is not the same, not to mention everyone have different basis. Try to finish the job, to reach their expectations, I think that would be sufficient.

(2) c) understanding of plagiarism

Reference needs to be explicitly stated in this part of the surface to know the results of others, respect intellectual property rights of others. While others say the outcome preceded his name, it is plagiarism.

(3) prepare for future

Now there is no clear future is not to carry out scientific research. After all, three years before the university he has not been to the lab. After I decided to MSRA practice for some time to learn about the scientific method roughly, and then consider whether I am qualified research. The advantages of others, should be the basis for programming it more solid grasp of basic arithmetic better. Drawback is that the more students who might experience on project development much less.

(4) learning plan

As efficiently as possible to complete the task given by the teacher it. I hope that after completion of this course to achieve a given problem, they can design a good degree of complete project framework and processes.
The amount of code:

Language The amount of code
C/C++ 80000
Python 5000
Java 3000
Pascal 2000

Accuracy. . No accuracy. I do not think that is a measure of the amount of code a programmer level standard. 10 lines of code may well want to come up with three hours of violence than 200 lines of code written to be more than good. (Often encountered competition) so I did not plan the amount of code of the course for themselves. To complete the task of ensuring the premise of code quality try another job, right ~

(5) blog feelings

Reference blog: https://book.douban.com/subject/4006425/discussion/22803961/

Thoughts: Look bloggers confused when he talked to school, and I feel a lot of time feeling very similar. Industry University (believe almost all schools are) a lot like linear algebra this very important basic computer courses by students of the Department of Mathematics to teach. This leads to a very serious consequences: do not know this stuff completing what purpose. Until junior started to learn a variety of courses, beginning to use mathematical knowledge, only to find previous knowledge forgot, then tried to go back up classes. Be sure to learn something and be able to practice with the project or methods relying combined with less.


3. "Building of the law," there are quality problems

Paper Airplane / HM <-> write exercise program data structures / algorithms : the impact is limited to myself, If the attempt fails, people's interest will diminish. Such knowledge is also the game, but after the game, how to master the maintainability of these algorithms written procedures? Some people will be holding a release program to become a commercial software? Chapter 1 Introduction --P21

I do not agree with this view. First, the study of algorithms game is quick ability to analyze and solve problems. In the examination room can not necessarily take into account the maintainability of software written in other standards. For this program to assess its maintainability is meaningless. Then, my point is: the software system compared to mature aviation industry, the data structure / algorithm is precise when assembling each aircraft parts, aircraft and even the skeleton. Reference "headlines today," "vibrato" recommendation algorithm is the soul of the whole software. Program does not become a commercial software, but it will become the heart of the software. I think as a successful algorithm can affect the entire company, or even industry.

A mature software engineers should be able to reduce the delivery time of the task standard deviation . Growth --P62 Chapter 3 Software Engineer

I do not quite understand this sentence. "Smiled very Allure" was mentioned (I know it's TV, but I feel very good right, teachers do not hit me QAQ) optimization is endless, man should pursue. For a task, I think the delivery time and code quality are related. When the code quality is very high, due to the high degree of difficulty, its delivery time is often too large deviation, it is difficult to predict. And the programming Well, there is not a program or software to realize his pit often only a test will be clear. There are very normal deviation prediction time. I do not know the size of a variance and the ability to engineer how many links.

The first principle of MSF: All the information is preserved and made public. --P140 Chapter 7 MSF

We expect that: All the information can provide help for future work. However, to save all information as Big Data, the previous record is certainly not an artificial one by one to see it. I doubt that all data is saved, will not cause can not be found when I want to find a useful message? Or, will the back of a lot of work wasted on low nutritional value of the record is there? Like a diary, if the important thing is recorded every day after that I could look down at leisure diary before. But if I put a few to eat, what to eat, a few work, I have written what all down, like running account, I might look a little diary of desire are gone.

Several programmers they never used the technology to achieve a previously they have not met the needs of their estimated time will be very uncertain . Chapter 8 --P179 needs analysis

This sentence easy to understand, obviously. But that just tells us: When programmers no experience, the time is estimated to be poorly estimated. Discussion on this formula to an abrupt end the book here, and did not give a way to reduce or even avoid the risk of such "uncertainty" caused by (or rather, I feel like there is no way). So in this context, if the programmer of the new requirements do not have much experience (and this situation often seems to happen), we estimate there is much sense of time? We all know that inaccurate estimates also need to estimate it?

The third quadrant : It is recommended to take "maintaining" approach, with the lowest cost of maintaining this feature. The fourth quadrant : It is recommended to take "maintaining" approach, or now " do " and wait for a good time. --P355 Chapter 16 IT industry innovation

The third and fourth quadrants refer to all non-essential aid needs, the difference is the third quadrant everyone can do, and fourth quadrants only we can do. I do not understand is: even the auxiliary demand, highlighting our unique can do it should not also good? Why is this in the case of the third quadrant from the first quadrant of the "farthest" The needs are maintained, the fourth quadrant can "do" mean? I am in my very favorite game "World of Goo" Example: For the third quadrant, can be designed for each level "hard mode", which is very common in the same type of game. But for the fourth quadrant, can be designed to "sandbox" Custom mode, can not do a lot of games, but in this game because of its special gameplay design, you can do it. In my opinion, this function than the fourth quadrant third quadrant for high returns bring the game (playability).

Guess you like

Origin www.cnblogs.com/xpchf/p/11484935.html