Been at My company for 4 years. I am no longer the Junior.
I still let senior Devs "drive" when showing me something. in the same way I "drive" when showing them things i have learned.
most important tip I have ever gotten and what I believe should always be implemented by everyone, no matter the experience:
"Never be afraid to learn something new, the world we live in is always changing, change with it."
I subscribe to 4 different blogs just on the language I write in, I read them everyday, because someone, somewhere has already struggled with the problem you have right now.
then my personal tip, TEST. then TEST again. then go out of your way to break your own system, then TEST some more.
then find the person with the least knowledge in the system you are building, OUTSIDE the dev team if possible, and let them run through the system without giving them ANY training, see what people will do wrong, and build for that.
then give it to the guy who breaks every system, and let him find your logic holes then fill them.
the biggest problem we face as Dev's is that we understand what the code is supposed to do, so we will never test in a way that the code is forced to do something it is not supposed to do.
with my SO in marketing and me in dev, for different companies in different fields of interest, I can let her run through my systems to see what a brand new user might do. you would be surprised at the amount of times I have gone "the system is not built for that, but still people will try doing that, lets prevent that with a nice little pop up message here..." and then she goes and does something even more unexpected and gets around all the traps I put in place.....