I am employed (which, fair or unfair, seems to always look better to recruiters) but opportunistic. So far I have interviewed 3 times in the past year, every single one being a referral. It's definitely advantageous to have experience/a real network these days, as it must be a relief to all involved to not have to wade through a mountain of AI-generated resumes. I genuinely didn't know what to tell my intern last year when she asked me for advice on how to get a job. Telling her jobs were free when I graduated in 2012 is not useful, but because that was the case I don't know what to tell somebody without a network.
I work for a large video game company. I believe in escapism, it got me into computers as a child and ultimately into my career. I specifically left B2B big tech work and took a paycut just to sleep better at night. I find it difficult to imagine going back.
I've already been working at it for a few weeks now, but I want to swallow my pride and stay up-to-date on interview skills (thankfully I'm safely employed but want to make sure I'm prepared if I need to be.) I do 2-3 leetcode problems a day and at least try to fully understand each line when comparing against the answer. I'm still pretty bad at it but instead of being terrified/anxious in the future I'd like to be confident that I at least can do my best. And my best is being prepared as opposed to just hoping I magically intuit a whiteboard problem out of thin air.
I did _exactly_ this 3 days ago after I hit a random keyboard chord on accident and brought up CoPilot (which I don't recall installing). I had held on to Windows for gaming just because I didn't want to fuss with Linux, but it was the straw that broke the camel's back. Instantly installed CachyOS onto a USB stick and formatted my entire drive.
I use KDE Plasma and it worked just fine. In fact all of my games (including Arc Raiders) are working just fine on Proton 10, maybe running slightly worse. The only issue I've run into is getting battle.net working through Lutris; I ended up manually installing it through Proton 10 on Steam and it worked just fine. Wish I made the switch earlier.
Lutris by default will use an older WINE version (something based on WINE8 IIRC) by default for reasons I don't quite understand. You can, however, configure Lutris to use proton-cachyos by default, to which I was able to get Battle.net to install and work correctly without issues. Not sure what feature was implemented in later WINE to make that work better, but it works.
I got Battle.net working through Steam. The way I have it is I add the battle.net installer into steam, add proton compatibility, once you run it it installs, but next time you run it, it just opens the launcher unless it needs an update. Then you can install World of Warcraft and other games there and run.
I know the remote aspect is important to you, but having done this exact switch (general backend services dev -> backend dev for a big game company) this requirement is almost certainly going to hold you back. The field is bleeding jobs and there are plenty of people who will go ass-in-seat 5 days a week. Outside of that, there are a surprising amount of roles that generalist SWEs fit into that don't require any experience. It's been a very comfortable foot-in-the-door for myself, at least.
I don't understand why you're being downvoted, you're not wrong. I think Suno being successful bums me out, I really hate it, but people that are not me love it. I can't do anything about that.
Maybe not now. I imagine it'll go the way of many other things: buy demand with a product that beats alternatives in perceived quality and/or cost -> create a dependence on the product -> wait for the death of competition -> monetize heavily on a dependent userbase.
My knee-jerk reaction is "No" if your goal is an easy-mode career that will give you a high salary right out of college, I think that dream is (largely) dead. If you really do love CS/related fields, I think there is plenty of room for you still, but it's no longer a free ride.
I graduated with a CS degree in 2012 so I fully benefited from the tech boom. If I were a senior in high school in 2025 knowing what I know now, I would probably go into Civil Engineering.
I have 13 years of experience and a Senior title, but I'm not sure if that means much. Really I have just worked on web-related problems for the last 10 years (first 2 were LinuxRT USB drivers, which I think more and more fondly of these days) and have hit the same crossroads as OP. The main difference for me I'd say is that I'm actually very serious about moving into management; being an IC these days feels like I am on a never-ending treadmill of boring work. Add AI to the mix and I have never been less motivated than I am now to continue writing code.
So I guess the answer to the question of how I evolved is that I evolved rapidly until my ceiling, which was probably ~6-8 years into my career. I haven't learned much since, nor have I had to. Only now do I feel a stronger urge to look where the puck is going and skate towards it, so to speak.
My team ships with a multi-hour CI pipeline that works 50% of the time and effectively zero local development. It's awful in almost every way developer experience-wise, but rock bottom is deeper than you think!
I had local development in a previous job, but you had to start a whole Kubernetes cluster. No unit tests, but a whole suite of e2e tests. And forget about debuggers as it was all microservices.
When using Java or .NET, it is possible to plug debuggers into microservices, but that needs to be taken into account when designing their Dockerfiles.
My team reimplemented a stripped down binary of what our primary service does just so we could run it on our local machines. Otherwise it would take up well over 100GB of RAM. Iteration was a lot more annoying before we did that :)