Do it. Do it right. Do it right now!
0. List the tasks you want to do in a day
The best way to complete a complex activity is to split it into simple activities. Every morning, you can split the activities you want to complete in one day and create a calendar table to help you:
- Better understanding of this activity.
- There is a centralized goal every day.
- Improve your estimation capability. In a few days, you will find that you can predict the workload of a day.
1. Only one thing at a time
Concentrated on one task is more productive than multiple tasks at the same time. Different studies have proved this idea and published it on different media (such as CNN ).
Concentrate on 25 minutes and rest for 5 to 10 minutes. You can use popular technologies such as the tomato working method to help you manage your time. There are also tools to help you measure the time you spend on different tasks. My favorite is cooltimer, and there are also 10 good time tracking applications.
2. Do things right
The following two are the key points to check whether the tasks are completed correctly:
- Be proud of the solution, because it is not just a common solution, but a good solution. Follow the principle of "software quality pyramid"
- The solution should be checked at least once. Among your colleagues, ask a distinguished developer to check your methods and accept his sincere suggestions.
3. Never give up halfway
As we all know, if there is still a glass to be cleaned, it cannot be said that it has been washed. We also agree on the same principle when we paint walls or drive to somewhere, but we do not think so in software development. Even if we haven't completed all the unit tests, or we haven't verified whether the implementation method meets your needs, we have completed the task. This is a typical behavior from Hope driven development, which is very harmful.
The task can be completed only when you confirm that there is no need to improve the solution.
4. Instead of apologizing, it is better to remedy the problem, but giving up is the least desirable.
If you need to spend extra time testing code or refactoring unreadable classes, you can do it because it is time to invest in the future. However, if you get stuck on something or delay the project for too long, you can find an easier solution. It may not be as elegant as the solution you are currently implementing, but at least you have a solution. Ensure that records are recorded to address future risks of the project and some items need to be reviewed again.