How can we quickly grow to be a master of technology? Ali Senior Technical Experts summary of the brilliant!

Source: Internet
Author: User
Tags garbage collection


It's written in front.


Whether it is the development, testing, operation, every technical staff in the heart of more or less have a technology to become the dream of Daniel, after all, "The dream is always there, in case the realization of it." It is the pursuit of technological dreams that motivates us to constantly strive and improve ourselves.

But "The dream is good, the reality is cruel", many students in the actual work will find that the dream is to become Daniel, but do not look like Daniel, for example, the programmer said, "write business code every day also overtime, how to become a technology Daniel," Test said "every day there are not run out of test cases", Yun-Wei said, "The machine to pick up the network line to knock Shell command, this is not what I want to carry the life."

I am also a programmer, so I hope to help you solve these puzzles by following some examples based on program development. The principles are interlinked, testing, operation and maintenance can be used for reference.


a few typical misunderstandings


Daniel is a teacher


Some people think that to become a technology Daniel the simplest direct, fast and effective way is "worship team technology Daniel as a teacher", so that they usually give you opens, to assign you some difficult tasks.


I am personally opposed to this method, the main reasons are several:


Daniel is very busy and unlikely to give you opens alone. It is not possible to give you 1 hours of special treatment a day, and a team inside, if Daniel often give you opens, will inevitably arouse the doubts of other team members, I personally think that if the team Daniel if the real heart, more to the team training is the best. However, the training of all know that preparation of a training is time-consuming, courseware and materials at least 2 hours (can not be fragmented time), 1 hours, Daniel one months to do a training is very high frequency.


Because the first reason, so generally want to look for Daniel, are with questions to consult or discuss. Because the answer or explore the problem without too much time, more rely on experience and accumulation, this case Daniel is very happy, after all, influence is an important indicator of Daniel. However, pay special attention to: if you often ask those books or Google can easily find the knowledge, Daniel will be very impatient, after all, time is precious. Some netizens often ask me questions such as "How the JVM's-XMN parameters are configured." I directly answer the "Please go to Google", because such a problem is too much, if you do not go to the system to learn, each should ask is very wasteful of their own time and others.

Daniel is not much, and it is unlikely that every team has technology. Can only say that there will be higher than you in the team, even if he gave you opens every day, eventually you can only ascend to his level, and if it is a team of technology Daniel, due to the organization of work and distribution reasons, direct counseling and coaching opportunities are relatively small, It is unlikely that we will become a technical Daniel by taking part in some of Daniel's training alone.


In combination with the above reasons, I think for most people, to become a technology Daniel, first of all to understand the "mainly on their own" This truth, do not expect to have a martial arts master like the hand step by step to teach you. When appropriate, you can improve yourself by consulting Daniel or Daniel, but most of the time it is a systematic and targeted upgrade.


business code is just as good.


Some people think that writing business code can be very good, the reason is that business code can have a variety of skills, such as the use of encapsulation and abstraction to make business code more scalable, and products can be more communication to better understand and implement the business, logging good problem positioning efficiency can be increased 10 times times and so on.


Business code has the same technical content, this is certain, the business code in the technology is the basis of each programmer, but only mastered these skills, and can not become a technology Daniel, like the game in the upgrade to play strange, the beginning dozen small strange, experience value is very high, the more to the back of the experience value less, dozen little monsters can not improve experience value, This time you need to play some more advanced strange, brush some of the challenges of the copy, did not see which game as long as the small monster can be promoted to the top. It's a similar way to be a technology Daniel, you have to continue to improve your level, and then face a greater challenge, by coping with these challenges so that you can level up, and then so reciprocating, finally reached the technology of Daniel and even the industry Daniel's realm, writing business code is just the challenge on the upgrade road, And I think it's a relatively elementary challenge.


So I think: The business code is not good programmers can not be technical Daniel, but only the business code to write good programmers can not become a technology Daniel.


too busy at work, no time to study by myself


Many people think that they have not become technology Daniel is not that they are not smart, not their own efforts, but the Chinese environment, the technical staff too much overtime, resulting in no extra time to study.


This reason has a certain objectivity, after all, compared with Europe and the United States, we do have more overtime, but this factor is just a need to overcome the problem is not insurmountable Gulf, after all, we still have so many Daniel is also in China this environment grew up.


I think there are several misconceptions that have led to the formation of this view:


1 To work is to repeat the work, in order to promote the need to learn their own extra


The main reason for this misunderstanding is that "write business code is not technical content", and I now work is to write business code, so I can not upgrade in the work.

2 learning requires a long period of continuous time


A lot of people think to study like school, give you a whole day to class only to study, and we usually work overtime and more, the weekend tired only want to sleep, or just want to see a movie play games to relax, so there is no time to learn.


In practice, the opposite is the case: first of all, we should learn and promote in our work, because we can learn by applying or having practical reference, the effect of learning is the best; second, after work, learning does not need a large period of time, but to squeeze time, use time debris to learn.


the right approach


Todo


Do more and do more than the task your supervisor has assigned you.


When I was in HW, I was responsible for a version of the development, this version of the workload is about 2000 lines, but I finish this function, but also will be associated with the functions of all clear, the code (about 10000 lines) also read all over, after this version, I am familiar with the whole business of this edition. After one or two meetings, I was found to be the most familiar with this piece of control, then it is interesting: product discussion needs to find me, test has problems also find me, the eldest brother external support also find me; later, I was not responsible for the features they also look for me, even if I did not know, I will look at the code or find a document to help them answer. In the end, I became the "expert" on my system. Although I still do business at this time, or write business code, but I have been very familiar with the whole business.


The above is just a simple example, in fact, is to say: to have the opportunity, first you have to come out of the crowd, to get out, you have to be different, to be different, you need to do more.


How to do it more. You can start with the following:


1 familiar with more business, whether or not you are responsible; be familiar with more code, whether you write it or not.

There are a number of benefits to this, with a few simple examples:


Demand analysis is more accurate and can identify risks, impacts, and difficulties in the demand phase

Problem handling faster, because the relevant business and code are familiar with, can quickly determine the possible causes of the problem and to troubleshoot

Project design time to consider more comprehensive, due to the global business understanding, can design a better solution


2 familiar with end to end


For example, you are responsible for web background development, but in fact, the user launched an HTTP request, through a number of intermediate steps to your server (such as browser caching, DNS, Nginx, etc.), the server will generally go through a lot of processing before you write that part of the code (routing, permissions, and so on) many of the systems or steps in the process, most people are unlikely to be involved in writing code, but mastering this knowledge has a great effect on your overall level, such as project design, online fault handling these more gold-content technical work requires comprehensive technical level.


"Systemic", "overall", "comprehensive" These words look more empty, but in fact are the necessary qualities of technology Daniel, to achieve such a realm, must be familiar with more systems, business, code.


3) self-study


Generally in the more mature team, because the framework or components have been carried out a large number of encapsulation, there are really fewer technologies for writing business code, but we have to understand that "the only thing that's constant is change", that the framework may be improved, that components may be replaced, or that you have a different company, that the new company has neither components nor frameworks, I want you to start from scratch. These are both opportunities and challenges, and opportunities and challenges will only be allocated to those who are prepared, so in this case we need to learn more, because there is no time to wait until the time comes.


In Java, for example, most of the business code is the If-else database operation, but we can learn more Java knowledge, such as garbage collection, tuning, network programming, etc., these may be temporarily useless, but really need to use, not Google a click on it, At this time who has mastered the relevant knowledge and skills, the opportunity is whose.


Take the garbage collection as an example, I usually have time to learn this knowledge, learned 1 years are useless, but later used a few times, each time to solve the big problem of the card, and some students, wrote a few years of Java code, for Stop-the-world is what the concept is not known, let alone to optimize.


Do better


To know that there is no perfect thing in the world, you are responsible for the system and business, there are always unreasonable and can improve the place, these "unreasonable" and "can improve" place, are the higher level of monsters, after playing can add more experience value. Identify these places, and give the solution, and then to the supervisor, not once two times, mention several times, as long as once landed, this is your opportunity.


For example:

Too many duplicate codes to introduce design patterns.

System performance in general, can be optimized.

is currently a stand-alone, if the double machine is better.

The quality of version development is not high, whether the introduction of efficient unit testing and integration test scenarios.

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.