It will take years to master C and Assembly. This time also increases especially for Assembly when you start learning new architectures (e.g. MIPS, PowerPC, SPARC, ARM, etc.). The best way to speed up the learning process is to use an applied approach (e.g. game development, systems programming, network programming, microcontroller programming, etc.).
I would recommend getting into building things that have already been built before (bootloaders, ISO creator's, GUI frameworks, bandwidth monitors, firewall, kernel modules, etc.) so you have some real world projects under your belt. As by widening what you work on outside of just textbooks makes you a better engineer and normally only learned through personal projects or working for an employer.