I write my code for future maintainers. I optimize for clarity, testability, and readability.
I've become a huge fan of dependency injection. That does not mean I like DI frameworks (Guice). I tend to do it manually with regular code.
When I maintain code and I sit there wondering what it actually does, I write a unit test for it right then and there
And so on