Run/Right/Fast. The classic problem partitioning strategy, taught to me by my dear departed Pappy on the first day I started programming, is to make the code work then make is clean then make it fast (if necessary). Solving the “correct/clean/performant code” problem all at once can be overwhelming. Don’t be overwhelmed. Solve one at a time.
There is a lot of great advice in this post but the above is something I try to practice every time I seat down to write code.