See how the top experts program-from the novice with the programmer to think

Source: Internet
Author: User

as a programmer for a few years, although the number of time to write code, but also managed, with a part of the programmer. have been thinking about a problem, what is a programmer, programmers should do well in those things, what kind of programmer is a qualified programmer? What kind of programmer is the responsible programmer? I found a lot of employees working for the job, what's the matter? They just put my assigned work exactly, but never ask why? Some programmers like to change the needs casually, they feel good to change, changed not to do the report, and finally submitted the project only to find and demand is not the same? So silly. 
based on my experience, I have divided the programmer into the following types
1, simply no brain: this kind of staff is the most irritating one, because most of them are just getting started, or students just out of school, do not like to ask, do not know how to analyze, just blindly very obedient, why say they are simple? That's because they never ask, don't say and don't have their own ideas, you can do whatever you want, Let oneself how to do how to do, sound feel very good staff, very obedient, if just so good, terrible is they have no brain, such as you say let him complete an added function bar, they very obedient to you do out, but just an added function, He's not going to be able to add functionality to you to deal with the problem of refreshing the data, or to do some necessary validation, not to mention the extensibility of the code, it is not wildest, it is impossible. You say to make a query function, he is completely possible to give you to make a query all the functions, do not care if you want to do not according to the time, or paging, or other ways of inquiry, others can be justified, will tell you, you need not say Ah, only said to have a query function? Then you have no words.
2, have brain first cut back: This kind of programmer is basically work has a year or two years work experience, self think oneself some experience, do a few projects, feel oneself NB of incredibly. Assign a function There are always some of their own ideas, in fact, he does not know that these ideas are not mature, but the individual subjective intention, you say let others do a navigation bar, you clearly tell him is in the head, to the vertical drop type. Well get the demand, he doesn't care why you do this, in the process of doing, he found himself to do some projects have navigation bar, and very good-looking, they think, the manager is how to think, design is not as good as I design, I give him a change may also get his reward, So I pulled the vertical row of the navigation to change, straight out of the panel that kind of, because good-looking, but also do not tell the manager, want to give everyone a surprise, who knows the manager a look, said how to change the demand, customers do not, and then he reasoned with you, said such a good-looking, and what extensibility is fine, technologically Then you will be very resistant to tell him that you do really good-looking, but the customer does not pay the money to do, so there is no way in your "forced" under he had to change, so you are not satisfied with his work, the first is this person bad tube, the old own decision-making, do not take you as a matter, how to do, The big-temper manager throws out two words "fuck off" directly.
Let's analyze his psychology:
The first possibility is to feel that they have done a lot of projects, there is a bit arrogant, arrogant attitude, look down on others design things, always think their skills and code is great, because they have been in the process of the one or two years of work, but also some insight. But they do not understand that the present self is just like the current Cao Ren learning Caocao, only to learn its shape and to do his God. Most of the software, the site, can not only look at the value of the site itself, success is not successful, not their own decision, is not the manager's decision, but also to see customers, a word customers like is good things, customers do not know the technology Ah, you write again good, customers do not understand oh, so must not change the demand, Software should be combined with the market to truly reflect its value, do let people like the software, rather than the mere accumulation of technology.
the second possibility is that oneself lazy, because two years also wrote a lot of code, hand has a lot of source code, directly find a good point on the line, why to write Ah, and good looking also fast.
The third possibility is that you can not achieve, but do not want to learn, feel wasted time, so directly change it. Feel oneself if write, write good Fortunately say, write bad, delay time, a navigation a few days can not finish, will be very humiliating. So to speed up.
This kind of programmer has the brain, but does not obey, the management is the question, must have the good guidance, also hoped at this stage friends attention. Strengthen study, do project conscientiously, let oneself formalize. Don't be obsessed with the way. Take a look at the code of the senior programmer, think about why the manager should do so, listen to his reasons, in changing the needs of the same time must write a report, or directly to consult, do not make their own decisions.
3, has the brain, very obedient, very earnest, but the foundation is not good, the code has the limitation: this kind of programmer mostly is the work one to two years programmer, but and above the difference, they have the brain very good, and very listens to the manager words, does the thing very earnestly, does not have to work overtime to write, learns the new thing Also But a little bad is that they have a lot of reasons to say that they do not have time to learn the basis, these people generally do not learn at school, after coming out regret, learning very seriously, because of learning some new knowledge, high starting point, look at the basics of things, never want to see the basics of programming, see algorithms, look at the data structure, Always think I can make such a project, but also look at those small things will be very embarrassing, so in the company never look home more don't want to see, time is long, technology will have great limitations on a piece of technology is very good, but the other technology is not well, so when received a project, always like to use their existing, Technology to achieve, turn round and round finally is to write the thing out, and still work overtime, but the code performance, stability, and efficiency is far from the poor, extensibility is not, time a long, project more up, there will be many anti-work, because the demand is constantly changing, so their code will change, It is a matter of course, a project is nothing, take over the trouble, the new project just hand, the old project on the problem, not here a little bit of trouble is that the function to upgrade, so the new project put down, start to change the old project, hand can have three or four items, will be busy, changed more, There is no way to change it, you have to redesign, or directly say that this function can not be achieved.
in fact, at this stage of the friend has the potential, as long as the attention to pay attention to their own technical shortcomings, more look at the master's code, write before think about, design, natural more, do not have above his business mentality.
Let's talk about the real master NB How the characters work------------programmers
1. Do not casually change the demand: they will not change things subjectively, whether right or wrong, if they want to change the words they will be in the meeting, or privately with you, through the changes, or will be on demand.
2. Do not write no thought code: In the writing function will add some humanized function, add a little more than the fruit icon, add some verification, handling some operating habits, plus the speed of the key, processing good tab order, and so on, don't you say, they will handle it well.
3. Do not write no vision code: They write code will think, will not be a simple implementation of the function, he would like to, if other people also want to use this method to do, the future to change the time to do, the code is not reasonable to write, will affect performance, and then will be "stingy" shot.
4. Do not write irresponsible code: We write code one for the customer, two is convenient for others to see, not only is their own maintenance, to their own code is responsible, from their own hands out of the code represents their own face, code is not good, people will "hit the face." They are not willing to be beaten so they are responsible.
The master may not be much faster than the average programmer in terms of programming efficiency, because they will be stingy with every line of code they knock on. This "stingy" has two meanings, one is the architectural and holistic consideration of the project, and the other is coding from the angle of performance and optimization. In fact, the mapping here is a developer's technical perspective.
There are many technical experts who emphasize the holistic view of project execution. In the face of a project, even the ordinary members of the team, but also to look at the project as a whole structure of the development requirements, the various modules, interfaces and communications to optimize the expected and configuration. This allows for a holistic view of the technical layout of the entire project and to pre-contract possible problems.
after determining the whole, the implementation of the specific module implementation, each line of code not only has context considerations and planning, but also with the overall layout of the module. This is the technical field of view within the module, such as the definition of interface, readability of annotations, efficiency of code execution, etc. When you write the next line of code, to consider whether it will affect the entire system, whether it is convenient for other interfaces to invoke, these are a development master of the "technical subconscious."
according to some technical managers who often lead entry-level developers, most people only consider the modules they are responsible for development, lack a holistic view of the technology, and a harsh attitude to code performance, so that while the project can be completed by delivery date, it is a major impediment to project quality and developer self-improvement.
A developer is a code reader. Most technical experts code reading is a lot of ordinary programmers, code reading time is much longer than writing code. Most programmers only regard the development of the program as a job, they care about the foreground of the platform, the merits and demerits of the language, the level of remuneration; they do not want to study for a technical point, do not want to test for a bug carefully, do not want to spend more time on the improvement of their technology. And the development of the master often have a simple technical dream, willing to pay their full time for technology.
to have a simple technical dream, and pay for their own time.
Yes, all the time.
in this wish every one has a simple technical dream can become a master programmer.

See how the top experts program-from the novice with the programmer to think

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.