Own your calendar. Have enough time carved out for "deep-focus" time, 2-4 hours of uninterrupted time, plan dev tasks to line up with these and aggressively block out time as needed.<p>Keep detailed notes when in meetings, find a system that works for you where you can easily index and search things.<p>Keep detailed notes about your contributions, what you've done, how you've helped others, discussions led, etc. Invaluable for performance reviews and promotions and in general seeing where you're spending time. I used to keep this in a public .plan file, now-a-days it's shared doc that I let my managers see.<p>Do not sacrifice your health. Carve out time for exercise. Carve out time for learning. It's sometimes nice to work late for that big block of quiet uninterrupted time, but schedule it on your terms and only once or twice a week.<p>Know your toolsets. You should be able to easily execute, test, profile, and debug. If this is painful, then investments need to be made on your codebase.<p>When building systems, focus on interconnectivity and getting a base skeleton working first and then fill in details. Avoid "big-bang" integrations, they never work, and can result in last minute surprises. Strive to have the skeleton component building and working daily as you add in details.