You’ve been stuck on this task for hours. Well, in reality, you already solved it; now you just need to look for a way to make it better. Your mind is stuck in a solve-refactor cycle because you keep justifying to yourself that there is a better solution. So, you stay thinking, and as a result, never actually get around to solving the problem.
Have you ever felt this way? You aren’t alone. It is a common fear that your solution is slower, more rigid, or less readable than one your co-worker wrote or the answer you found on StackOverflow. This leads you to believe that if someone’s solution is better than yours, you may as well not try at all.
It is not wrong to want to be perfect; everyone wants to be able to write the most elegant, efficient, and readable solutions that would blow others away. This strive for perfection is what keeps
If you ever feel this way, just remember that code can always be changed. Nothing is set in stone, and there is always something that can make it better. By writing whatever comes to your head and refactoring later, you improve both your performance and learn more about the task at hand. Naturally, you will improve over time; even if it seems like your code isn’t up to standard.
Don’t sacrifice your time worrying about the quality of your solutions. Every keystroke can be destroyed just as it was created. Write now, improve later.