Senior engineer should have the ability

Source: Internet
Author: User

Cat Chen
Links: http://www.zhihu.com/question/22420900/answer/21458811
Source: Know
Copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please specify the source.

I think that any aspect of the specific experience is not important, the most important is the way of thinking and learning ability. First of all, the way of thinking, that is not to set limits for themselves, do not think that they are front-end engineers, so the back end of things I do not touch. Facebook's engineers, the higher the level, the greater the impact it needs to maintain. How to create greater influence is to find the most obvious lever effect problem to solve. If you solve some of the problems, you can get $1000 per hour for the time you put in, and some of the problems you've solved, the time you put into it will be $1 million per hour. However, which problems are more worthy of resolution, which is dynamic, often there are attenuation effects. If the performance bottleneck in the backend, you do a quarter of two quarterly optimization, the bottleneck is no longer on the back end, you can optimize the attenuation effect will become more and more obvious. When the bottleneck becomes the front end, do you say you don't want to touch it because you don't understand? That's the equivalent of looking at the company has a front-end understanding of performance optimization of the people to solve, but if the company does not have such a person, then no one to solve.

One of Facebook's many posters says "any Facebook problem is not someone else's problem." If there is a problem, you need to assess whether it is worth solving. If it is worth solving, you should start to solve it rather than assume that there is someone else in the company that is more appropriate than you to solve the problem. It's very likely that you'll need to do something you've never done before, and you need to learn techniques that you might not have understood at all. If you're a PhD who specializes in mathematical models, joining Facebook originally intended to be optimized for search results and found that this is not the most urgent problem to solve, JavaScript performance is the most need to solve the problem, what do you do? If you think that what Facebook needs is a mathematical model of your experience, then you're wrong. What Facebook needs is your ability to complete a PhD. You've never done JavaScript and you think JavaScript is disgusting? The right thing to do is to buy a few JavaScript-ready Books Online, read them overnight, and start analyzing performance bottlenecks and solving them. After you've completed the manual optimization, you can also think about whether this can be automated, for example, by parsing the JavaScript syntax tree at code submission and pointing out where it might be a performance bottleneck, or by collecting performance data from the user's browser and throwing it into Hive and then analyzing the characteristics that create the bottleneck. These may involve something you haven't done or learned, but the problem is there and you need to solve it, no matter what it requires you to delve into. This is what I call learning ability.

This is the main gap between the senior engineer and the junior engineers. While American engineers and Chinese engineers overlap in the high-to-primary dimension, American education systems and industry traditions make American graduates more inclined to the top end than the average Chinese engineer. The advantage of American students is that their education system makes them accustomed to facing open problems. One of the myriad problems of a company, at this moment which is the most worth solving? This is not a problem that Chinese engineers are good at, because it is too open. Chinese education makes people good at solving problems under given conditions, too open to know where to start. In addition, because most of the literature is in English, so what to study for people who can read English can be very systematic learning, which is bad for many Chinese engineers who refuse to read English. Refusing to read English means that you will never be able to accept other's second-hand information, and that understanding of many concepts can only remain on the technician's level, not on the level of engineers or scientists.

Senior engineer should have the ability

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.