“The only way to go fast, is to go well.”
Robert C. Martin, Clean Architecture
I read a post here which has a number of good observations and some good suggestions around software engineering best practices. Although it is specifically about rust, a lot of the suggestions and comments are more widely applicable.
I would particularly call out Architecture Decision Records as being good practice.