Okay, Joe,<p><i>I had to drop out at age 20 to financially provide for my mother (who was experiencing a major depressive episode and could not work)...</i><p>It's possible that you are experiencing the same thing. I have no qualifications to offer in this respect, but don't take this possibility lightly.<p><i>...and my two younger siblings (ages 2 and 6 at the time). ... There I was at age 20 providing for a sizable family... being a good son for my mother and being a good brother for my siblings. I was performing the role of the man my father and my siblings' fathers refused to be. I was entering the workforce as a real programmer. I was proud.</i><p>Oh, and rightly so! A real man is someone who steps up like this--someone like you--not someone who implements file systems in assembly.<p>So here is where I might have some qualifications to offer. I've been a pro developer since before you were born. I've done orbital calculations, nuclear weapons effect mitigation, realtime hardware, done standards committee work...in so many languages (Fortran, Lisp, C, C++,...up through Swift), but there have been times when the development platform I've chosen has been one that was held in low esteem by a lot of programmers (BASIC, Perl 4 CGI years after Perl 5 w/mod_perl was common), or not even considered programming at all (e.g., Excel, FileMaker).<p>I chose these as the best tools for the particular job under whatever normal or bizarre circumstances existed, and whatever tool, X, I was working with at the time, I was known as "the X guy" by my coworkers. And those coworkers have changed again, and again, and again, so remember me as an X guy, others a Y or Z guy.<p>I eventually learned to just focus on being as valuable as I could. Usually, what people need most from me is not arcane physics or CS knowledge (darn it! I worked hard on that) but just my ability to find them a solution that is most helpful to <i>them</i>. The most helpful solutions are usually not technologically impressive, as it turns out. I'd rather build them some microservices in Go but sign them up for SquareSpace instead and fill in a template.<p>Turn your attention, not to other programmers, but to the people you can help with your skills and to their problems. Try to get a lot more of your professional satisfaction from being useful to people who need you and less from how elite you think you are perceived to be by other programmers.<p>Web dev gives you all sorts of ways to be extremely useful to people. Do it. Feel good about solving their problems and let it motivate you to keep improving your ability to come up with valuable solutions. Yes, I understand that building yet another CRUD web app to sell dog food or whatever doesn't feel like curing cancer, but those people are trying to support their families, too, and it's not easy, and they need your help.<p>At the same time, yes, I can relate to a personal desire to do technically demanding work (but do it for the personal satisfaction of taking on the challenge, not to impress other programmers), but the way most people get into that is not usually to get an advanced degree. They prove themselves valuable at less technically demanding work, work on side projects in areas that interest them to develop new skills and, at some point, they spot an opening to utilize (make useful) those new skills for their employer. If it works out, their job responsibilities might change. Do it again and again, and eventually they will change.<p>I hope that turning your focus toward the people who need you and away from other programmers can help restore your self-respect and motivation. Good luck.