The BIGGEST difference between the good developers and everyone else is that the best understand "deep work".
Cal Newport ( Professor of CS @ Georgetown) calls deep work the superpower of the 21rst century and wrote an entire book on the idea. I'll be summarizing Part 1 here...
Deep work is activities done in a state of concentration that push your cognitive abilities past their limit.
Writing code, learning a framework, or debugging are all examples of deep work.
Here's Part 1 on how to get better at it...
1) Ritualize - Set a time and place for when you perform Deep Work. Try to avoid doing other things in this environment (you want your brain to ONLY associate this area with deep-work), so using your kitchen table is a bad idea.
2) Eliminate distractions - Put your phone on mute, block Reddit, Twitter, Facebook, etc. Let your friends/family know so they won't disturb you during your deep work time.
3) Be Lazy - Be sure to include downtime / rest in your schedule. If you can have 4 hours of true deep work time per day, you can definitely afford a couple hours of TV/video games/whatever. You need time to rest.
https://www.linkedin.com/posts/doug-h-1445571b3_the-biggest-difference-between-the-best-developers-activity-6706531202578427906-fjFT
4) Schedule your day - Decide in advance what you're going to do every minute of your workday. Assign blocks to specific activities. 6 PM - 7 PM is scheduled for journaling... for ex.
The most important part of having a schedule is... sticking to it! Here's how you can do that...
5) Become harder to reach - You don't have to respond to every email/text/message. Establish rules of engagement i.e. "I don't check my email after 8 pm!".
6) Work like Teddy Roosevelt - Commit yourself to hard-deadlines whenever you take up a new task. If possible, make the deadline public or set a countdown timer. This constraint will motivate you to work as intensively as you can during deep work sessions.
7) Set limits - If you're truly doing deep work, you'll be exhausted after 3-4 hours. Set limits to help you stay motivated. You shouldn't try to work the entire day.
8) Productive Meditation - Train your mind to focus on a particular problem while you are occupied physically but not mentally (washing the dishes, walking the dog, doing laundry, etc.)
9) Use the 80/20 Principle - Find the 20% of work that results in 80% of your results. Nearly everyone's job fits this type of distribution. Find the 20% and double down on that!
10) Principle of Least Resistance - Human beings will naturally tend towards behaviors that are easiest in the moment. Therefore, make deep work "easy". Collect all the tools you'll need (computer, calculator, paper, pencil, etc.) in one central place. Have a clear goal on what you want to accomplish.
11) Avoid Busyness as a Proxy for Productivity - If you don't have clear goals and targets for what you need to do, you might drift into "busy" tasks to look productive. Busy tasks include things like skimming through email, reading the news, checking the stock market, etc. Avoid busy-work at all costs.
https://www.linkedin.com/posts/doug-h-1445571b3_deep-work-is-one-of-the-most-important-things-activity-6707256093623619585-erzO