I believe that software development is a craftmansship. For me this boils down to:
- Learn from the past by studying - Different languages, design patterns and functional programming.
- Use modern tools to ensure baseline quality - Linting, type systems, CI/CD, testing etc.
- Talk with your users - Yes I believe developers should do that :P