Things that have made me a better programmer:
- Mentoring
- Outsourcing my thoughts to discussions with other engineers. Help leverage their knowledge, and help myself.
- Thinking about error handling when integrating 2 systems. Expecting failure should be part of the solution.
- Making systems that are designed in the "there are obviously no problems" vs "there are no obvious problems" which I have succeeded in various degrees. Every time I hit the latter I get sad that I failed.
- Knowing when a test is absolutely critical, and when one is optional.
- Knowing how to abstract better, into more testable code.
- Knowing what "project ownership" means and practicing it heavily.
Honestly, I still use the mouse _A LOT_. I don't use VIM for coding, I like it but I prefer JetBrains for everything.