Don’t flame people. Ask polite questions. Like can you explain this instead of I didn’t understand it
Simple things like being methodical, organized, and have a good process to build new things can take you very far.
You can't become a programmer if you don't write code. You can't become an exceptional programmer if you don't read code
Be careful who you vent to at work.Just because they listen, it doesn't mean that they are your friend or have your best interests at heart.
Approach work as a way to maximize your free time
Being inexperienced and willing to learn is better than being experienced and thinking you know it all.
Mindset is important. If you tell yourself you're an above average developer, you're more likely to improve your craft because it's part of your identity.
Do not bash any idea or belief based on your past experience. It is true until you have a clear reason to think otherwise.
Keep detailed notes when in meetings, find a system that works for you where you can easily index and search things.
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.
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.
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.
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.
Learn jq, awk and sed.
Pair with more experienced devs and if they do something that seems magical, ask how.
Hone your skills. Remember to take some time to learn things, even if it's just a new Vim command or something.
Be nice to people. People who like you may propel your career in unexpected ways. This happened to me. Help people learn and grow. Don't try to compete with people in your team.
Communicate. Learn how to do it if you have trouble. There are a lot of people with brilliant technical skills that don't end up having great careers because they can't communicate.
Work 8 hours per day. Learn how to focus on those 8 hours and actually be productive. Don't work more than that, try not to work less than that. It's all you'll ever need to be above the curve.
A second point I would make, get yourself in a position (company/team/whatever) where you get exposed to lower abstraction levels. Mid/late game in your career it’s important to have an understanding of operating systems, databases, networking, memory layout, etc. Otherwise you plateau.
Why is that a productivity hack? Because medium-to-large-scale software development is all about communication. You don't initially know what your code is supposed to do. It isn't obvious; someone has to communicate that to you. You don't know how it's supposed to work with other code; someone has to communicate that to you. Being a jerk makes other people less willing to talk to you.
Email folders and filters to sort what is important and what is just noise.