This thing only extremely passionate software engineer only can can do...
Moderate software developers learn passively. Strong software developers learn actively. Exceptional software developers teach.
Learn passively
No-one starts out exceptional. Moderate developers at least manage to learn the thing they’re taught, can look details up on stack overflow, but that’s about it.
Learn actively
Strong developers - those that look like they’re going places, those you want on your team - develop themselves. ‘Reflective practice’ describes a cycle of learning stuff, applying it for real, and reflecting on what happened before going round again. The term comes from the world of health care, but describes what strong developers do and how they get stronger.
Teach
Once you’ve become a strong developer, you run into the limits of how much software one person can write. Exceptional developers drag their team up with them by teaching. It’s a mixture of teaching by example and more explicit teaching by instruction. Mostly this is done humbly one-to-one.
One tell-tale sign of a truly exception developer is that person that always wants to pair, and whose team mates always want to pair with them.