I've been writing c my whole career. If you are interested in kernel/driver development or firmware development you're on the right track. But once you have one language down it's a lot easier to pick up others.
At the beginning of your career I would worry less about theory and reading specs and worry more about design patterns, understanding computer architecture, and practicing writing code.
Damn don't talk yourself down like this, maintaining guix packages is cool as hell. It doesn't matter whether your internship gave you a certificate, it's work experience on your resume.
IME design patterns are useless and have heavily fallen out of favor in industry, especially in the past decade where there has been widespread realization that inheritance is absolutely terrible and should be avoided, with the exception of using interfaces.
Are you backing this up with like a general computer science education or is this language the only thing you are learning?
Knowing C is good. Hell, all types of learning are good. And the more programming languages you learn the easier it is to pick up new ones. C probably is not the one I would pick as a first programming language to learn but your motivation to learn a specific topic trumps making the "optimal" choice for a career or whatever.
That's okay, it's hard to get a good head of steam going before spending time in a job where you can grow and learn all the tiny things that go into being an effective software engineer. Being a self-starter here is very very difficult.
C is a great language to learn CS fundamentals, but in order to find a job I'd rather go for something like Java which is very versatile and widely used for web development.
There are other domains than web dev that use different languages and frameworks etc. but I mention web dev first because it has a lot of demand in the market and should make job searching easier.
I'd still recommend you learn C well first though, any other language you learn will make a lot more sense once you understand stuff with C.