I write code occasionally but I'm not a developer. I work in Operations and Security land. Essentially my entire career has been 'Work in tech but don't be a software engineer.'
If I had to throw out a list of things it'd probably be this:
Move to a decent sized city where at least a couple of the big 5 have outposts. Pittsburgh YES. Harrisburg NO. Massive bonus points if you go for a CS undergrad in said city (apply often and be willing to eject from school if they hire you, you can always finish later). If you're not willing to do this for at least a couple years don't bother at all. Why? Because of item 2.
Be willing to switch positions often unless you have a good reason to stay. Every 2 years (IMO now it should be 1 year) I ask myself 3 questions. Is the pay good? Am I still learning useful things? Am I not going home pissed off every day? If I answer NO to any of these questions it's time to go. Employer loyalty is a joke and you'll be actively mocked for having it. Good reasons to stay can be family related (kids school, not just 'my family lives here'), you're waiting on something (like a profit share check you're pretty sure you'll get), or Bush Jr. tanks the economy for a couple years (uuuuugh, that was 3 years I want back). Incidentally you can't do any of this in rural fuckoffistan. Believe me, I tried.
Train yourself on new tech. If you're not willing to do this don't bother, you'll be irrelevant in 3 years. Companies will not do this for you, YOU have to actively seek it out. If you're a PM and don't understand half of what your 'resources' are saying go smash your face against some of the buzzwords they throw around. If you're in operations actually look at the frameworks the stuff you're supporting uses. This is a hard one because there's a lot of 'new' tech that turns out to be 'garbage unused' tech (Openstack anyone? What a joke that turned out to be). Developing a keen nose for vendor bullshit is absolutely key. Whatever 'personal development' or 'continuing education' perks the company has, use them. If you're going to do it anyway get someone else to pay for it.
Don't be a contractor. Non-Developer contractor positions are shit. If you have to be a contractor working for yourself ask for 3 times as much cash as a full time employee, otherwise you're making 1/3 what you could be due to taxes and health care. Working for a contracting company can be okay, don't be a doormat or a subcontractor which is the same thing (full time employee at an MSP is fine). If you're contract to hire and they jerk you around on the contract end date LEAVE.
Certs are not useless, but there are a lot of useless certs. Treadmill cert you have to retest for every 3 years? If it's not either required for your job or you don't use it every single day NO. The thing everyone got 10 years ago? Hell NO (looking at you CCNA). Anything CompTIA? NO. Certs are an HR checkbox. Check enough boxes and HR is going to pick you because HR is lazy and these are easy to understand. Some YES options are the CISSP/CISA in security land, AWS Solutions Architect pretty much anywhere, and the OSCP in red team land (CEH is NO unless you're doing government stuff since it's on this list https://iase.disa.mil/iawip/pages/iabaseline.aspx. The DOD loves their arbitrary checkboxes and hates thinking).
Everything I just said about Certs? Applies to degrees as well. The sole exception is if you think you're going to want to eject from Tech land at some point or want to work for Colleges/School Systems (because they'll arbitrarily require an undergrad degree for no reason). In that case definitely get 'some' kind of degree.
Don't go to graduate school. Or rather, go to graduate school if you are 200% sure it will help you for SPECIFIC THING you're going to specialize in, you're a manager in a fortune 500 and want to get an MBA so you can be a manager at a fortune 50, OR you want to educate yourself to unemployability. That's it (I guess hiding out in the recession was a good reason as well but it's also left us with a bunch of people with useless masters degrees). TBH I'd rather see some certs or an interesting minor than a graduate degree.
Hardware sucks. Try really hard not to have to deal with hardware (or specialize in it and make a fuckload of money doing what I won't do anymore).
If you were in the military KEEP YOUR CLEARANCE UP TO DATE. Then go to the DC area and make a fuckload of money as a contractor. Massive bonus points if you worked in intelligence or procurement. If you don't have a clearance don't bother with the DC area at all.
Don't specialize in Java stack. Why would you hate yourself this much? Java is last decade tech, a constant security problem (and target, struts vulns anyone?), and the application quality is garbage. Moreover it's the single easiest thing to outsource to India because of Tata International and Infosys. Just don't.
You can do a lot more at small companies (like 120 people). Flip side, you'll be expected to do a lot more at small companies.
Lose some weight fatty. If a company has a choice between a relatively fit person and big chungus it's going to be Thank you for your interest but we decided to go with another candidate. Figure out your BMI and try to stay within the healthy range (you're not a powerlifter, the 'bmi doesn't accurately portray muscle mass' line doesn't apply to you). If you're fixing this do Calories In, Calories Out with MyFitnessPal or LoseIt, anything else is just wasting your time. You can do literally just that and sit on the couch for 6 months and lose weight.
Don't put your information on Indeed.com, they are trash. Don't put positions on your Linkedin profile that aren't relevant to what you want to do (unless you like random headhunters calling you about positions you don't have the slightest interest in because you came up in a keyword search).
This is bad advice. When it comes to school finish what you start otherwise you look like a quitter. Jumping ship every 1 year? I wouldn't hire that person. At most places it takes min 6 months to get up to speed.
You're not playing the 2019 version of the US job market then. Admittedly you're probably looking at a year and leaving at 1-2 but turn around time for people who make real money is nuts now.
I would hire a former Google or Facebook tech/PM/etc over someone who has a bachelor degree from who-cares-it's-not-MIT. Higher education is a means to an end. Not an end itself (education itself can of course be an end, but not in the context of OP).
Also if your stack takes 6 months to get stood up on you're moving too slowly (if you're not in a monopolistic position which, thankfully, I am). Most problems are not that complicated, 90% of your workforce is going to start as framework or CRUD peons anyway. It doesn't take 6 months to get stood up on a boring ass flask or django app.
The impression I get from your comment is that to you happiness is optimizing for money. I’m not trying to critique your values. But I do want to say that not everyone has those same values. Personally, I don’t think I would be happy with the life you are suggesting. Likewise, I do t think you’d be happy with mine.
To those looking for advise, think deeply about what you value.
It's not just outdated. It's horrendously outdated.
No one outside of Java developers wants to deal with it. Take your pick why, constant security problems, Oracle's shitty litigious attitude, miles of crappy java code Ops people have to deal with that was built by the lowest bidder, the fact that the JVM/virtual machine pattern that has been superseded by VMs/docker/serverless/microkernels/take your pick.
Just about the only people who greenfield in Java these days are academics who learned Java as an undergrad, Enterprise people who are stuck with java everything-else so why not, and java developers who don't know anything better. Oh, and business guys who force Java in their applications so it can be easily outsourced to India once the buyout check comes through.
You're comparing the JVM to docker containers and regular VMs? Lol. Java is a rock solid language and many languages in wide use are built on top of it. Spring releases content frequently. Nobody makes "Java ops code" - lol. Doesnt even make sense. You dont know what you're talking about.
As someone who has flopped between technical and non-technical roles (program operations, data analyst, compensation manager, business operations) some obvious advice is to highlight the skills that are able to be used in multiple roles. SQL translated across many of my roles; knowing how to build a program timeline with clear deliverables was also essential.
What's harder for a "non-technical" role is there's not a specific, easily graded test. When someone is shite at code, you can literally count the errors and see if it doesn't run. If someone is bad at operations, that's more something you discover in the heat of the moment.
This matters because for non-technical roles, the roles lean more on experience or time spent doing a very specific task. I hired people on my team as a compensation manager and did just that - I was trying to guarantee someone would be able to do the work by requiring that they had done it before. We had room for "potential" but I wanted someone to say "I've done this before" because otherwise, it was my neck on the line.
So, knowing this, target where you want to go - say a business analyst wants to become a program manager - look at what experience you need and build tasks into your role that you can speak to in the interviews.
Similar across tech & non-tech roles is you have to study to pass the tests. When I pivoted from data analyst (which focused on compensation tools/programs) to compensation manager, I had to learn how to handle not just the numbers but also: philosophy and offer negotiations; how to create plans and program timelines across many roles; how to build budgets, based on forecasted headcount; how to create performance plans that tie to compensation but foster growth cultures. Sounds super logical and mathematical, but it was 99% people skills. So I had to study that and be able to back up my answers concretely.
Where I find roles now is on AngelList - usually searching "operations" - or Google searching for my skillset helps. You can also go to LinkedIn and turn on "Actively Looking" which will increase the outreach from recruiters.
Also non-tech people in the Bay Area are very much hotly pursued and poached - unsure of you're location, but would suggest looking out here!