I don’t really have anything grounding me anywhere (friends, family, meaningful relationships, property, etc.), and occasionally I’ll take a peek at other industries and wonder what it’d be like to do something else instead. I’ve looked at all sorts of things, from other technical fields to relatively high paying business fields. Some of them seem interesting, but will result in low pay, or a lower salary potential than just sticking with what I do now. Others seem miserable but pay pretty good alongside other benefits that I don’t feel like I’m getting now. But in 90% of cases, they rely heavily on credentials. I’ve done the research on going back to school, but the odds are generally not in my favor. If I did, I would likely end up being in my late 20s by the time I could complete and bachelors and in my early 30s by the time I could complete any sort of graduate program (which in many fields seems to be a pretty strong requirement, especially since I wouldn’t get many of the benefits someone 5 years younger than me would from a bachelors program). That seems a bit old to be entering any fields really and I feel like it would work against me, but as I mentioned earlier, I feel pretty miserable with my current career trajectory.
- having several years of professional experience at 23 is really valuable
- you're overestimating the extent to which ageism plays a role in software
- you don't need to spend your whole software development career in one company (you're implying that you might do that)
- provided that you have the aptitude, you can pick any field at this point; there are no options that it's too late for
- a bachelor's degree is 3-5 years; you can have a bachelor's and a master's (if you really need the latter) by your late 20s. If you start now, you can be a doctor by your mid-30s. That's the "longest" option and it's still at a very young age. Your age absolutely isn't a factor in working on your education, provided that you know what you want to do.
Overall I wouldn't be so down on your future either as a software developer or in any other field. What you probably need is some direction because you're still considering options that are very different from each other. But it's aboslutely not too late in any way.
It worked pretty well for me, but I wouldn't really recommend it to someone else now. In the late 90s and 00s, there so much potential, VC money, high salaries to be made for getting anything working, and very little nonsense to deal with in terms of JIRA, frameworks, CI, etc, etc. I see that the field is rather commoditized and "mature" now, much less enjoyable day-to-day work battling against frameworks and politics.
Also, I feel that experience as a software developer doesn't really compound as well as, say, being a lawyer, accountant, doctor, or business owner. Once you have about 5-10+ years experience, you're really only as good as your last 5-10 years or so, and what you were doing before that has no value to anyone. If you look at job ads, you'll see people looking for 2 years experience, 5 years, 7 years... and that's about it. Nobody really values or will pay a premium for 15 years or 20 years of experience, the way they would for a doctor, professor or lawyer.
There are a few exceptions in tech, if you write your own language or framework, or books, and moving up into management, but those aren't easy to achieve.
If I had my time again, I'd pick a field or endeavor where experience compounds better, like the professions or being a business owner.
When you're in your late 30's, you'll gasp at the thought of how much youth and potential you had in your late 20's. And if you let the idea that your late 20's is too old to start building a career stop you from making a change, you'll be kicking yourself a few years later and for the rest of your life.
Carpe diem.
You have decades of work before people start perceived you as old. If you save a portion of your wages you can retire when you are 50-60. Because programming exploded in the last two decades you will have plenty of old peers by the time you are old.
You are 23. My wife started to learn programming when she was 33!. I went back to school when I was 26 to get MSc and start a programming career.
What is the goal for your career? Are you seeking fulfillment, or financial success, or some other metric?
There are still plenty of jobs for people in software at basically all ages. For now at least the problem tends to be too many jobs and not enough supply of people to hire.
At the end of the day what you want? A certain salary? If you define what it is people here can tell you if it's reachable in software (it probably is) and how. A certain type of work? Just tired of working in software?
It might help if you defined the end goal in a little more detail.
First, the good news. You are 23 and basically an entry level employee with nowhere to go but up, even if up is in a completely different career than what you do now. You are the career equivalent of a new born and people will understand that you might not have picked your life's passion yet.
Second, pull yourself together and drop the ageist crap. If you actually think you will be considered "old" in your early 30s for any career other than professional athlete you are deluding yourself. Even US special forces will admit fresh faced recruits into their late 20s. In many places a "gap" year is typical and even required for high school students. G.I. Bill recipients need 3 years of service to fully qualify for benefits. You have taken four and the extra is negligible in my opinion.
Third, you have been at your current job for four years. There are no negative effects for leaving for a new position IF after securing an offer you tell your current manager in plain terms why you are leaving and what would be required to retain you. If they counter, great, if they don't you part ways on good professional terms.
Fourth, two years at a community college and finishing at a high quality university (whatever degree you seek) is likely going to be in the range of $30k to $150k depending on your family income. If you are motivated by the lure of a high paying career, that is likely something you could pay off in a very reasonable amount of time.
Fifth, if you hate what you do it will eventually crush you. Taking a job you hate for more money is typically not a sustainable path. It sounds like there are some opportunities that do interest you and I would encourage you to explore them more, even if the money is not as great as what seems like a terrabad alternative.
A Warning to Others:
This person has fallen into the no credentials trap. The reality is that the majority of college students change majors and 30% do so more than once. This career uncertainty is not limited to college students and like this person, most people in their early 20s will ultimately agonize over their chosen career. The key difference here is that a high school student deciding to switch careers in the first few years after graduation has built nothing whereas the college student was still building towards a degree even if they switch tracks several times.
I know some will want to counter that a degree is meaningless for a tech career and for some select few that might be the case, but we are not all programming savants or entrepreneurial wizards and I would strongly caution anyone from taking it.