The most important lesson I've learned is simplify . Simplify everything. Simplify your problem. Simpilfy your approach. Simplify your architecture. Simpilfy your data model. Simplify your build process. Simplify your release process. Complicated things break. Simple things also break, but a lot less often.
The problem is "simplify" means different things to different people. For some it's write everything in vanilla JS. For others it's install libraries for everything, write the least code.