I was always a straight-A student until I came to university, where I could never seem to care about the course material or putting effort into my classes. As a result I never even finished my bachelors degree, and I'm now in my early 30s and regretting it a lot.
Fortunately I was able to land a job in tech, an industry which cares a little bit less about credentials, and I've now held a number of jobs in software. I'm paid well and I think I'm pretty good at what I do. But then I look around and see the cool jobs in 3D graphics, in distributed systems, in machine learning, or other "hard computer science" fields, and it feels like I will never be qualified without a graduate degree.
It really bums me out and constantly thinking about it is starting to wear me out mentally. Putting my career on hold for a few years to go back to school has a very high opportunity cost right now, and even if I were to do that I would still feel like a massive screw-up for going back to university in my 30s. At the same time, I feel like I'm throwing away my potential and my curiosity about deeper technical topics.
Has anyone here been in a similar situation? What should I do?
That's not an option for everyone (aging parents, needy kids, ...), but for software engineers with modern salaries, it's often approachable.
Ex: We'd bite if someone demoed us some impressive GLSL JS work, discussed how they'd get another 100X of scale, and their code style looks like it'd be practical for us to collaborate around. We require the same from someone with a degree. To your advantage, it shows (a) you can hit the ground running (b) you've got the "slope" / drive we're looking for when choosing to invest in someone new to the area.
A degree does unlock some things for us. Some US Gov grants needs it. But more important, degree or no degree, is the independent projects/papers/grants/etc. along the way that demonstrate they can do more of the same. But much of that is about going beyond research engineering (=> RFPs, ...), and you get much of that experience on-the-job... if you've already show you can do the core coding.