Seemingly controversial advice to give, but hear me out.
When coding, at least learning to code, you will not only find yourself facing brand new subject matter constantly, but often trying to implement that new thing at the same time. The code you write is always to solve a problem and there are always a multitude of ways to solve it. You’ll have to choose which path you take according to other dependencies and the structure you’re using. You’ll need to think the desired process through and break it down into small enough steps before writing a single line. Sometimes you will require the help of an extra plugin or library and therefore you will need to understand how that works in itself so that you can use it effectively. Already we’ve faced more decisions than we can shake a stick at and we don’t even have anything written to show for it.
So you start to write. Already slightly strained in the mental sense, you hit a snag. The code doesn’t seem to work the way you predicted. Frustration sets in a bit faster than usual and you go on a tangent to try and solve this unpredictable obstacle. 15 minutes you didn’t have pass and you’re back on track. Another snag…
Rinse and repeat.
This is the nature of web development.
Collins dictionary defines development as:
Number 3 is my favourite. Making a basic design gradually better. And it is just that when you’re starting out, gradual. This is why I say that it is not actually a bad thing to leave it for tomorrow. The process described above is mentally exhausting. The normal urge is to stick at it until the problem is resolved, but the problem is often rather more difficult to resolve than predicted. Do what you can, do not exhaust yourself, come back to it tomorrow.
There is a strange thing that happens when you exercise this approach. When you look upon the same project that stumped you the day before with fresh eyes, it somehow becomes much more simple and easy to overcome. Your subconscious has worked on it overnight and you are now a much more experience developer because of that and therefore much better equipped to resolve the present issue.
Over time, the necessity to do this will be reduced as you compound your experience but there will be new challenges to face as you expand your abilities and if you managed to get into good working habits and recognise when to say “enough” and take a step back, your personal development will soar.
So as un-philosophical as it may sound and as irresponsible as it may feel, leaving it for tomorrow can actually be the best thing for you. If you haven’t already, I suggest you at least give it a try and see for yourself.