Becoming proficient in a language usually involves:
- writing code with it long enough,
- collaborate in a project based on it,
- reading code other people wrote,
- keep yourself up to date by following the language evolution,
- go more in depth in language internals, compilers, etc...
I wrote C for 10+ years (mostly bare metal FW), yet I am still amazed of how little I know about it. Recently for example I learnt of all the things the dynamic linker does in Linux, how symbols memory addresses are resolved at runtime using PLT, ....
The good point about C is that it can be used for very different kind of projects, so the choices are a lot.