5. Top non-technical mistakes made by programmers)
A good software developer needs to develop two skills: technical skills and non-technical skills. Unfortunately, some developers only pay attention to the technology, so as to develop some bad habits. Below are the five most common non-technical errors:
0. Lack of self-discipline
Jim Rohn once said: self-discipline is a bridge between goals and achievements. I have always believed that self-discipline is one of the most precious skills, whether it is to become a software developer or to succeed in any other field of life. In fact, few people have both wisdom and self-discipline.
Steve Pavlina emphasized the five basic principles of self-discipline: Acceptance, willpower, hard work, industry, and persistence ). Propose the first letter of each word to form a acronyms: a whip ). This makes it easier to remember, because many people always associate self-discipline with spur themselves ......." I recommend you read a series of articles about self-discipline written by Steve Pavlina.
As I explained in my previous article five suggestions for writing good code every day, my personal practice for self-discipline is to follow the steps below every day
- List the tasks you want to do in a day.
- Only one thing at a time.
- Do things right.
- Never give up halfway.
- Instead of apologizing, it is better to remedy the problem, but giving up is the least desirable.
1. Self-awareness
In my experience, programmers are somewhat self-conscious, but it is hard for anyone who is too self-conscious to realize this. The following indicators can help you realize whether or not you are self-conscious.
- You think you are the best programmer.
- You conflict with each other.
- You need to check the code to show off, not to get constructive suggestions.
There are a lot of articles on programmers and their self-principles on the Internet. I would like to recommend two articles here, one from Mike bernat's "egoless programmin". another article is from stackoverflow.com, which is related to "how do you control arrogance ".
2. Poor communication
Woodrow Wilson said: "If I want to say that the last ten minutes, it will take a week to prepare; if it is 15 minutes, it will take three days; if it is half an hour, it will take two days; if it is an hour, I will be ready now."
Communication is our main activity for humans. It is not easy to be an excellent communicator, but it is an essential skill for our profession. We are always talking about design, code, peer evaluation, document writing, trying to convince others of their own design is the best, writing code, and so on.
People who are good at communication usually describe things like this:
- Focus-they only talk about what needs to be understood.
- Clear-easy to understand.
- Concise-adding a Sub-item is too much, but not enough.
I have two suggestions for becoming a better communicator:
- If you think you are not a good communicator, make full preparations in advance until you meet the centralized, clear, and concise requirements.
- When talking, first listen, think right, and then give your own opinions.
In my previous article "seven best practices for making decisions in the development team", I have more tips on improving communication skills.
3. Ignore users
"If we don't care about users, we care about them ." The only reason you are here is to serve users, but sometimes it is easy to forget this message. My former team only focuses on technologies and platforms, rather than satisfying users. We spent more than a month creating a framework, but failed to bring any value to users. When we started to use it, we found that it was not suitable for users.
4. Unable to arrange work properly
Developers are always gold plated for themselves, they research new or more interesting technologies, and do all the cool engineering solutions. This undoubtedly hinders the project, but I am not saying that it is not normal to invest in other activities from time to time. It is true that we all need to be distracted, but if you find that you are always in the State mentioned above, you need to reconsider your preferred approach to work. I recommend that you read the article five suggestions for writing code every day.