I am fortunate to have already experienced the "Do I belong here?" feeling from graduate school. The thing to remember is this - there are always people who are going to be ahead of you just by virtue of having more experience. How you carry yourself is the most important thing though.
In this context, if you see someone who is better than you at the moment, do some work trying to improve yourself and your abilities. The best don't become the best instantaneously - they do it through hard work & maybe a little talent.
My own experience probably has helped me take on the correct perspective in my own career as a developer - I do things purely because I want to do it or improve myself. I don't care about being the most popular/well-known developer or anything like that - it is a job that I happen to like is all. Stars/likes/etc. on GitHub, those don't matter. I create stuff for fun, and if it becomes popular, so be it - I work on open source stuff in the hopes it helps people and to improve my own abilities.
I remember that feeling in my upper-division math classes in college -- PDEs, abstract algebra, etc. It seemed to me like I was struggling (which was a new experience for me in math class) and to make it worse, I sat next to this guy who always seemed to know it cold. I would score in the 80s on almost everything, and I would look over there and this guy would have perfect scores all the time. It definitely bothered me.
About halfway through the semester I ended up spending more time with this guy and I realized that he really lived and breathed mathematics. I mean, he did all the exercises in every chapter. (Who does that?) He would study for hours and hours before tests. Anyway, it kind of taught me a lesson. If you want to belong, you have to work for it. Nobody's just going to move over to make a space for you. You have to carve a space for yourself.
Ironically, one of the projects I created with what would seem like the least amount of practical use also got the most positive feedback. Sometimes when you just do what you want for fun and self-edification, it results in a project that shows more passion and finesse than something banged out for more cynical purposes.
It's one of the things I struggle most with, besides the relentless self-consciousness that comes from being a 33-yo trying to retrain in a technical profession, is feeling like all that stuff I love has rather minimal crossover with the stuff that might pay the bills ...
In this context, if you see someone who is better than you at the moment, do some work trying to improve yourself and your abilities. The best don't become the best instantaneously - they do it through hard work & maybe a little talent.
My own experience probably has helped me take on the correct perspective in my own career as a developer - I do things purely because I want to do it or improve myself. I don't care about being the most popular/well-known developer or anything like that - it is a job that I happen to like is all. Stars/likes/etc. on GitHub, those don't matter. I create stuff for fun, and if it becomes popular, so be it - I work on open source stuff in the hopes it helps people and to improve my own abilities.