In this post I'll go over some of the key productivity principles that I've picked up over time.
Jump into your work as soon as possible. Don't spend too much time in tasks that only make you feel productive such as spending too much time thinking about what tools would be best for your work, instead of actually working. Don't plan prematurely. Don't think too far off into the future. JUST START.
Testing yourself puts your true deficiencies to light. It is very easy to get complacent without a feedback loop. Only when you do something without external support, you come across gaps in your skills. Don't absorb knowledge passively.
For example, if you are studying for a test, instead of passively reading pages from your text book, create a question bank and quiz yourself. If you are programming a video game, instead of blindly following a complex tutorial online, recreate a simpler game completely on your own.
When you look at something that you like, try to recreate it. This allows you to pursue a top-down approach and keeps your interest levels high.
For example, if you would like to learn how to draw, instead of following "how to draw tutorials", collect and recreate drawings that you like. It may be difficult at first, but going through that will also then help you find the kind of tutorials you actually need.
Plan sessions by tasks rather than time. Instead of having a strict timing for your work, try to stretch your sessions as long as you can before your focus starts dwindling.
When we plan our sessions by time, we tend to approach work just for the sake of filling up time. So instead of planning your work by hours, break it down into flexible chunks based on the actual tasks you need to do.