7 common features of an efficient programmer

Source: Internet
Author: User

7 common features of an efficient programmer

Guide: To be a great programmer, you need more than just the ability to write code that works. Justin James gives a few typical traits that programmers who can be the top players in the industry should have.
To be an efficient programmer, you need to have a comprehensive quality that allows you to write effective code with the skills, experience and knowledge you possess. Some developers have some technical skills, but they can never become efficient programmers because they lack the other qualities they need. This article will give you the 7 qualities you must have to be a great programmer.



1. Active learning of new technical and non-technical knowledge

Bad programmers begin to learn knowledge only when they are not. Good programmers take the initiative to learn new technical knowledge. Great programmers will not only learn new technical knowledge by themselves, but also learn non-technical knowledge and have an open mind to various sources of knowledge, rather than being complacent like some people.
Specifically, bad programmers begin to learn XAML only when they participate in projects that use WPF; Good programmers learned XAML a year ago because he felt it was interesting, and great programmers read the design guidelines for WPF applications, Usability (usability) theory or something like that, so he can create a distinctive UI.


2. Pragmatic and not dogmatic

Strict adherence to those unwritten "programming rules" is often a luxury, and not many developers can afford. If your specification is not written by a top developer or written under the guidance of a top developer, I can assure you that you may not be able to afford it.
I have often been able to meet some programmers who cannot or refuse to do a task simply because the practice of accomplishing this task is not usually accepted by best practice. Business requirements are rarely constrained by the technology used to implement the requirements; no one would say, "We shouldn't write this requirement into the spec, because the programmer has to write a very smelly piece of code to achieve this requirement." ”
At the end of the day, the programmer's task is to build an effective application, not to be technically perfect. I'm not defending the junk code. What I want to say is that there will always be times when you'll write some code that you'll never use as an example to show others the right way to do things. If there is only one way of writing, then this code is not bad code-but make sure you have exhausted all the other possible scenarios.


3. Know how to find answers through research

Finding answers through research is not just a matter of typing a few keywords into a search engine, or posting a question to a Web site like stack overflow or MSDN forums. I had a problem with the search engine that couldn't find the answer, and then I didn't have a decent answer to all the questions posted on my stack Overflow or MSDN forums, but I solved the problem that I had to keep the job going. I'm not a magician-I just know how to find the answer and how to find the root cause of the problem.
If you rely on a search engine or a forum, you'll waste a lot of time in various links and ultimately you won't get a real answer. To learn how to do root cause analysis, learn the knowledge of the underlying system to find other clues and solutions, but also to learn if there is a global understanding of the problem before it in-depth analysis.


4. Have passion

If you don't like the job, you can't be the top player in the industry. There are also some programmers who just think of programming as a normal job, but if that's the case, you're less likely to do everything that leads to success. This view makes a lot of guys unhappy because they think it's a personal insult. "I am a very good programmer, but I have other important things to do, and I can't make the job my whole life." "I fully understand, and I have other, more important things." Although I hate to say that, when we are passionate about my work, I am willing (though not eager) to abandon my other more important things to finish the work at hand first. It is true that you do not want to be a master, not a personal insult.
Your passion cannot be just one aspect of programming-you have to be passionate about your work, the technology you use, your boss, your projects, and so on. I've seen some very good and even great programmers who are mediocre in their performance, just because there are some conditions that are not appropriate. For example, they don't like the project at hand, or the technology used in the project makes them annoying. I used to be a programmer, and I worked with programmers like that. I don't like programmers from any angle. If you find this to be the case, you need to solve the problem immediately, either by digging out the work at hand or the interesting part of the project so that you can adjust your mood, or do not do it. Blame is not worth it.


5. Leave your ego outside the door

Many developers are very conceited. Just being smarter, more knowledgeable or more experienced than some people doesn't mean you're a good person compared to those people. You have to respect others, listen to and think about other people's opinions, ask for help when you need them, and don't underestimate others. You should also be more concerned about the team's victory and defeat, not just the honor and loss of your work.
6. A spirit of entrepreneurship

The best developers will not be idle people. For them, the success of the product means more than just a fall in their salary. Because they are enthusiastic in their work, they work for a better development of the project and will indomitable.




7. Measure two times, the knife once ... But do not measure more than three times

One of the worst mistakes a developer could make is not knowing what to do, just a opposing into the code. (It's even worse when they call it agile development, as if the word "agile" can make things better.) When great developers jump into the code, it's because the requirements specification is very similar to what they've done before. Great programmers are thinking, planning, and researching when they are faced with new problems.
The most outstanding developer is not falling into the "analysis paralysis" trap. They learn to be cautious about certain things (such as when it comes to money or personal data), and only these special areas are suitable for what I call "measuring three times". Anything more than three times will mean you're wasting your time (unless in rare cases, such as nuclear reactors, spaceships, hedge-fund accounting systems).
It is important to stop planning at a specific point in time, start coding, and then see where your plan needs to be adjusted accordingly. That, by the way, is one of the reasons why I became a fan of agile methods. The best developers I know will be willing to give up their plans when they are no longer appropriate or if they find their plans flawed.

7 common features of an efficient programmer

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.