I’m a senior in high school right now and definitely need to consider what I’m going to do in college and for work.
For a very long time I’ve been into computers, and am a developer with a few big projects under my belt (this is a burner account for privacy). So, my logical choice for a while was to become a software developer professionally.
Nowadays that plan doesn’t look too promising. AI has basically replaced junior developers (with dubious results) and the competition has gotten much fiercer. I’m not even in college yet so I have a good amount of time to potentially pivot to something else before choosing a major.
I’ve got quite a bit of experience with Linux and I manage a home server, but that probably doesn’t differentiate me much. I’m honestly interested in most things computer related, but don’t know of any specific fields to seek out. If it’s so hard for fresh CS graduates to get jobs, why would any other option be different?
The CS job market is very location specific, so I don’t have much advice in that regard.
I’ve got quite a bit of experience with Linux and I manage a home server, but that probably doesn’t differentiate me much.
That said, I have been on my company’s rotating interview panel for about a decade now, and while my company’s line of work involves a lot of Linux development, I can say that most of our college hires do not possess very much Linux background at all. Sure, they might have used Linux machines for school projects, but rarely do any of them assert to be “experienced” with Linux.
By that, I mean deeper knowledge than just using Bash. If a candidate can tell me why they prefer csh over Bash, or any syntax difference between POSIX sh compared to Bash, that is definitely a distinguishing quality. It speaks of an operator who has enough usage under their belt that they’re annoyed by the typical distro’s defaults, and more importantly, assessed the available tools, and picked the right tool that works for them.
I cannot understate how valuable it is to us to find a candidate that understands their tooling, especially right out of college. Considering that we assume most new hires have to be brought up to speed over the first few months, a candidate that saves us that effort is at least one rank above their peers.
Deeper functional knowledge comes in other forms as well. It’s one thing to know how a C program’s main() function is invoked by an OS, but anything which shows a fuller understanding of, say, system architecture and how a timer interrupt leads to a context switch in an assembly ISR, to a returned service call to load an ELF, to a CPU privilege ring change, to crt0, to main(), that is another level entirely.
I’ve interviewed candidates that had side projects involving retro game disassembly. So maybe they couldn’t give me the above level of detail for x86, they could describe the same for MIPS. And that’s good enough, because most architectures do roughly the same thing, with a few different semantics and names.
Circling back to managing a server, if you had to deal with PAM, NAT and port forwarding, tunnels and VPNs, compiling from source, or abything like that which is non-trivial, do not sell yourself short. All that stuff is resume material, because if you can relay to an interviewer that you’ve dealt with real network or machine security tasks, it is distinguishing.
The best part is that you have all of college to learn the CS curriculum, but it’s also time that you have to pursue any particular focus that excites you. I’ve written earlier about how embedded engineers don’t really get caught in the hype cycle, so jobs don’t suddenly appear then disappear a few years later. If you wanted to do that route, getting started with any microcontroller (eg Arduino, STM32) would help, with a goal to understand all the “magic” that the IDE and compiler are doing. Maybe instead you like das blinkenlights and find yourself drawn to hardware design. It wouldn’t be too late to consider a switch to the Computer Engineer (CE) major, so you have a small taste of the EE life.
CS as a field is so large that there are many routes between “I want to work with computers” to a declared major and to a career thereafter. Fortunately, time is on your side; this would be a very different conversation if you were a 4th year college student.
For the first time in over thirty years, the community college near me has had many members of the community advisory board (reps from various local businesses) that rep’d tech firms not even come to the advisory board meetings.
I take that to mean they’re riding the AI bubble, hoping to phase out much of their human workforce. That said, someone has to maintain the local infrastructure, and while data centers don’t employ many workers, they need some staff to watch over the systems. I also think networking still is a strong field, and obviously cyber security.
I have worked with several folks that were much better at their job because of self-hosting, so your experience there maybe isn’t as worthless as you think.
My advice would be to talk to recruiters and department heads and ask what they see themselves needing.
I also think networking still is a strong field, and obviously cyber security.
NO. ABSOLUTELY DO NOT GO INTO CYBERSECURITY. There are no jobs left in that field. College degrees are useless, boot camps are useless. Unless you got several years of industry experience, no one will hire you.
In my experience, people can start as server or network admins and pivot over pretty easily.
The skills continue to have plenty of value, even if the official title isn’t a hot hire. As soon as your office gets hit with a ransomware attack, you can write your own salary.
Good catch. I’m out of the job search market for going on five years and a lot has changed since then. It makes sense that the market is flooded and AI is probably being developed to “do it for us”.
I do still get feelers from recruiters though, and the jobs they share require a BS in CS or equivalent experience (usually 4+ yrs on the job). Would I get my CS degree again knowing what I know now? I think so. I learned a lot and met a lot of folks through internships. But none of my jobs have cared about my degree. They like my social skills, perfectionism and restlessness.
I think cyber security would be fascinating to study and networking would be good. I just hoped my experience with development wouldn’t be useless towards getting employed in those fields, but I feel like it would be.
Thanks for your advice
I’m just one person on an anonymous social platform. Take my opinions with a grain of salt. Developers definitely still have work, but you are right the the current outlook seems* bleak.
Coding for network security companies is a possibility.
*I haven’t asked anyone in the know.
Saw that. Thanks
Talking from a European perspective, worldwide view here.
We know AI programming is not viable on the professional field. Some companies are not up to date with that yet though.
So I hope when the AI bubble ends in one way or another you will be needed and wanted.
Speaking on a personal level, if you’re into computers and not just there for the money you’ve got an advantage because those only there for the money are often a bit lacking for the job.
Just saw your other answer. I think security and networking is always a hot topic and open. Currently working in exactly those fields. Ama if you wish.
once it end, i see them hiring outsourced workers instead mostly. and keeping a few senior level ones to prevent everything from collapsing. it wont be like the boom during 2014-2020 hiring spree. this will bring it in line with alot of stems that hiring mostly h1-b visa holders, or outsourced.
If you are interested in software development, and willing to put in the work to actually learn strong fundamentals, I think you’re going to have a clear leg up on the competition after the AI bubble in all likelihood bursts eventually. Vibe coding is hurting the signal to noise ratio in general right now, but as far as I’m aware a “live portfolio” like a website of personal projects has always been as good if not better than a resume when it comes to selling your skills in software.
Just consider whether you’ll be able to tolerate doing the work when you’re not going to be the one in charge of deciding what you work on.
Just consider whether you’ll be able to tolerate doing the work when you’re not going to be the one in charge of deciding what you work on.
This is my main apprehension when it comes to pursuing a CS career. I already have an undergrad CS degree. I got it right before LLMs were even a thing. I know I’m rusty, but I have pretty strong fundamentals. I was already working in IT as a student so I stuck with that and all the jobs I’ve had since college have been fixing broken shit for someone else. Part of me would like to make software engineer money, but I hear employed programmers talk about the soul-crushing monotony of staring down a bottomless ticket queue and burning up their passion for creativity on fixing annoying issues with software that someone else wants them to build and I unfortunately already know EXACTLY what they’re talking about. I’m so fucking sick of ticket queues. I understand the utility. I get why they exist, but goddamn it’s such a sisyphian way to organize a workflow. It never feels like I’m actually making progress.
I’ve been unemployed for the past few months and I’ve just started getting back into coding for fun and for the first time in forever I can feel what drew me to programming to begin with. Every time I had the “what’s your major?” discussion with a fellow student, I’d explain that the reason I was pursuing programming is because I like making stuff, and programming seemed like an obvious way to seriously level-up the kinds of stuff I can make. I usually got weird looks for this answer because I suppose I was expected to just say “money.”
Using the skills I’ve developed for something I’m passionate about and applying them to a goal that I’m either completely indifferent to or actually opposed to does not sound like a fulfilling career to me. If I spent all day on an annoying software bug, I’m not going to want to keep doing software after I get home. I already know this because I didn’t want to do troubleshooting when I got home after spending my whole day doing that. I had all-but completely stopped making things for fun because the hurdles I’d run into in my hobby felt too much like work. I’m only just getting back into it now because I haven’t been working for a while.
Part of me feels like I should at least try programming as a career, but I have a terrible feeling that I already know what it will do to my mental health.
Yep. Anything involving creation, portfolio beats CV.
I mean what degree would be better. Obviously if you can hack it medicine is great. law is not btw. its about as good as any degree and most every program has logic requirements which is a nice thing to have. Personally I do think a liberal arts degree is good to broaden your knowledge base. Really the problem is not cs degrees being bad its that bachelors degrees are not all that useful in general any more. Higher cost with less prospects.
Really the problem is not cs degrees being bad its that bachelors degrees are not all that useful in general any more.
I’ve worked at a few places that won’t touch you without one. But the GPA also counts for a lot. Anything under a 3.0 regularly gets ignored. For the bigger firms, it can go up to 3.5
I had a weak GPA and took a job at a real bottom of the barrel company. But after five years, it was just “oh, this guy can hold a steady job” and degree/GPA stopped mattering.
I was in the tech industry for over a decade, and I’m making my leave now since AI absolutely poisoned it
What did you jump into instead? Any advice on transitioning out of sdev?
It’s honestly hard to say. It’s very impressive what AI coding can do, especially in the past year, but all AI companies are not making a profit. They’re effectively subsidized by investors. They’re focused on growth. At some point they’re gonna need to make a profit, they cannot continually operate at a loss and focus on growth. In fact, when Microsoft started charging properly it was such a massive deal that they called it the tokenpocalypse.
Honestly, I hate to say it, and I’m not trying to be a tech bro, but I think AI is here to say. What exactly it looks like long term, it’s hard to say. I can say this though, knowing how to program will make you a better vibe coded (I feel dirty saying that seriously). So even if AI becomes the norm, you’ll be better positioned if you know what you’re doing.
When things turn though, it’s impossible to say. It could be in the next year, could be like five years out. It could be that when you’re done with your four year degree, they’re still out here doing this “AI is gonna fix everything and we don’t need junior devs” song and dance.
TL;DR: AI is not profitable now so will get more expensive meaning they’ll have to use it less. Either way, knowing how to program without AI will make you better at programming with AI.
If you have any decent spatial skills, maybe look into GIS. I see positions for GIS developers constantly. More than I ever see positions for GIS Techs or Analysts.
Also if you’re in the US, check out BLS.gov, it can help you find similar career fields or specialties that maybe you didn’t know about.
But that wave is at it’s max currently. Chances are that it’s over when OP wants to start a job.
Not nearly as bad as the now headline news presents.
Tech unemployment is still just about the lowest of any industry. Pay remains competitive (although nothing like the $200k entry level jobs of the 1990s). The labor demand is definitely growing, both domestically and globally.
Silicon Valley is shedding jobs. But if you go chase a job at EPIC up in Wisconsin or JP Morgan out in New York or take a job at Deloitte or SAP or Schlumberger, you’ll find them. Look for positions in the airline or finance or real estate or energy industries, there’s a superabundance of work and a perpetual shortage of labor.
Most of these big corporate outfits are glued to Microsoft products, though. Oracle also remains a popular database environment. Or they’re using some proprietary nonsense - Dell Boomi for visual programming of interfaces or UIPath for botting or some other ill-conceived overpriced insanity.
But - at least where I’m sitting - AI hasn’t replaced shit. My office is still trying to implement Agile and we’re a Fortune 100 company. Most firms are way behind the curve. Don’t let the hype cycle fool you.
I work for one of the companies you mentioned and we are absolutely not hiring devs.
As a high school senior self-hosting, you are at least a couple years ahead of the curve in your cohort in this area. Don’t write yourself off, even if you are just half-blindingly running scripts for now, keep exploring and tinkering, then learning will come naturally with it.
Assuming you are in the USA, unemployment is low yet few are hiring. Trump’s tariffs and meddling in everything has made many businesses across the world hesitant to make any hiring or firing decisions (aside from Silicon Valley tech which thinks AI will do all the jobs). I’ve encountered several reports like this over the last year, which means if you were a new grad looking for a job right now, in many fields you would struggle to find one.
Definitely ask recruiters for their insight on job market trends, and also start talking to employed people in the fields you have an interest in. Ask if their department recently hired or had layoffs, and other questions to help you decide if that’s the kind of work you could see yourself doing in the future given honing your skills through higher education and hobby development.
One kind of career that sounds up your alley based on the skills and interests you described could be systems administration. Those roles will still be necessary for the most part, AI or not.
Some advice on choosing a specialization: consider the teachers whose classes you’ll need to take. Some teachers are just better at teaching than others, and sometimes even a very highly regarded teacher just won’t do it for you. It shouldn’t be the only consideration; there will likely come a time where you’ll need to take a class taught by someone you just don’t work with. But finding someone whose explanations make sense to you, whose style of teaching fits your brain, someone you find it easy to ask questions of, and taking their classes will help you learn a lot more, even if their area of expertise isn’t your first choice.
If you are interested in the internals of computers just as much as programming them, take a good hard look at Computer Engineering as a major instead. You still get to code, but you also get to understand the hardware underneath it all. Since it is rooted in the physical parts of computing, I think it is less likely for AI to eat those jobs. (Plus, everything from your car to your TV to your coffee maker has an embedded microprocessor in it now. I think embedded software is a safe bet.)
But, no matter what major you pick, it is no longer the case that simply graduating with a degree (and a good GPA) is a guarantee of a good job. You need to go beyond your classes, and find additional things to work on. Internships are great if you can get them, but even if you can’t, try to find an open source project (or even a hobby project) that you can spend time on. You want to have something more than your coursework on your resume for those first jobs. I would even value a resume with some good internships or side projects and a 3.6 GPA over someone with a 4.0 GPA who did nothing else.
Finally, whatever you do, don’t extend yourself to go into debt. Maybe there are a small handful of CS schools that are worth going into debt to attend – but let’s face it, if they want you and you’re good enough, they will find a way to get you to afford it there, and you will get hired somewhere if you can make it to graduation. But, I know folks who went into 100+k worth of debt to go to a CS program at a small liberal arts college because they liked the campus. Don’t be that person. Unless you are MIT or Caltech material, your local State University is probably good enough. If you do get through 4 years of school and can’t find a job in your field and need to pivot, that will be so much easier to do if you have as little debt as possible.
everything from your car to your TV to your coffee maker has an embedded microprocessor in it now. I think embedded software is a safe bet
tbh, most of those uses prioritize being cheap over anything else and doesn’t really make a lot of money. mostly already developed with cheap labor in china/india/etc…
To be clear, other options are not different. The majority of college students don’t find work in their degree. In 2023, less than 60% were employed at all within 6 months after graduation. Do your best, don’t take out a lot of debt, network in person as much as possible. Finding a job is about talking to people and being likable, not having a skillset.
Thanks for all your help everyone!
Getting a job generally has little to do with your degree in most technical fields. The exception is on the research, academia, and science side.
So go to school take classes that are fun, if they happen to align with your career interests great if not just make sure you are building a portfolio of work related to your career goals.








