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?
I have a controversial take and a very bold guess: CS principle will be more important than ever when you graduate college.
- CS enrollment is way down especially in the U.S. because of AI scare.
- Old programmers are mostly retired during the AI hype period
Both of these mean that the supply of programers will be way down when you graduate.
- AI have been slopping out code that might break within couple years. We have seen many service degrade, but not much critical failure yet, these could come later.
- Most open source project has began to ban pure LLM contributions. Even Rust disallow LLM-generated code with very minor exceptions. Likely company are going to do the same
- People who go to a simple coding bootcamp will not be competitive when LLM is in the picture, nobody need a programmer to “make the button bigger” anymore.
All these said, the demand for “good programmer” likely will not go down. If you study hard, do side projects, and build connection during college, you will likely be at a huge advantage after 3 or 4 years.
Of course, there will also be risks, i.e. that LLMs actually wipe out all programming jobs, which it is unlikely, but also not impossible.
Way too many comments for me to see if it’s been said already, but have you looked into cybersecurity, networking, and identity management? They’re all in the same realm and seem less prone to ai hype layoffs and such.
We don’t know for sure how bad it will be in 4 years
Linus Torvalds was just quoted in another article I read, “Al is the new compiler, not the new programmer”
I suspect AI will still take decades to catch up with the deep intelligence that you need for more complex programming. So good programmers will be far more valuable than code monkey.
If I were starting out I’d pick some combination, most likely biochemistry + AI programming / models. Like learning both biochemistry and how to program and train and research AI models that can e.g. fold proteins or synthesize some new medical molecule that could cure some illness. Medicine is still stuck in the dark ages.
Or robotics and manufacturing. All those jobs that went to China, China itself is planning to replace with robotics.
So instead of becoming a programmer, become someone that can develop and train and use AI models to solve problems in emerging fields.
Above all, focus on chances to become some kind of entrepreneur. If you’re not a shareholder you’re just a tool like an LLM to them. EDIT: Well no, not always, if you find a good team or small private company to join it can be really fun.
Don’t know where you live or what country, but if you look for a government job you might be able to use your degree there.
The AI wave is creating a huge amount of tech debt
There’s going to be a huge surge of hiring humans to untangle and fix the spaghetti code in coming years.
No there won’t. Not for a generation at least. The AI momentum will take decades to unravel before anyone even thinks about going back and fixing all the broken code.
The world isn’t monolithic. Some companies will take decades. Some companies have already realized the harm and have started fixing now
I wouldn’t hang a lifetime career on it. Unless you have a guaranteed job out of the gate, it’s a fool’s gamble.
Dude, there’s a limit to how much issues you can put a blind sight and pretend are not there or that the next LLM will fix them. At some point companies will start getting hacked and they’ll have to take action, and that will not take decades.
I think you underestimate how long these people can stay irrational. And just how entirely by the balls they have the system trapped. They already think of themselves as gods. They’re a level of delusional that would have them in a straight jacket if they didn’t have so much goddamn money. They don’t see the people that work for them as even animals, they’re barely tools. The scale and the scope of solidarity that it would take to pop their fantasy bubble has never been achieved in human history. They have engineered a world that makes raising that kind of trust and unity a generational struggle as difficult as bringing down Soviet Russia was last century. I hope to live to see the day their empire crumbles, but I’m not holding my breath.
It’s going to get a lot worse before it gets better and the losses they’ll take from security breaches will be insignificant compared to the profit they extract from their monopolies.
My suggestion? If you’re really clever, find a good trade shop that’s willing to work with you through an apprenticeship and stay as far as you can from CS for the foreseeable future. Don’t give up on learning how to code, but don’t sink a ton of money into certifications or degrees; stay a hobbyist and enthusiast, don’t make it a career. Some day those skills may be invaluable, but it’s absolutely not worth the money today. You want to be rich in 40 years? Be the only one left who knows how to fix machine generated spaghetti code. You want to eat tomorrow, learn to swing a hammer, bend conduit, or some other kind of skilled labour.
Side note: Make sure whatever trade you’re going into, you have someone who is going to guarantee you a spot to get your apprenticeship BEFORE you go to school. If you go straight into school, you will likely spend a lot of money on a trade you never get your journeyman ticket in.
am a developer with a few big projects under my belt
I’ve got quite a bit of experience with Linux and I manage a home server, but that probably doesn’t differentiate me much
It 100% does if you target small companies. Think 5-30 man shows where ‘IT department’ is a luxurious dream. In that company you wear many hats and having IT/devops experience as a programmer is a big deal. You will instantly be one of the most experienced people in the small company when wearing the IT hat.
If it’s so hard for fresh CS graduates to get jobs, why would any other option be different?
As you are already in the workforce, stay in it. After having a job for the last year (?) and the option of what to do with the next four years of your life. You can either have 5 years of experience, or you can have 1 year of experience.
Notice how I didn’t mention your degree? A degree is a minor point after you get your first job.
Just wanna add, this “IT in a small company” can be the nicest environment. I was lucky to land one like this some years ago. (company went under since, in part due to AI)
Worth noting, this will happen to you a lot. Even the good small companies (almost especially the good small companies) are going to fold. A lot. I’ve been in the IT service industry for 25 years and easily 80%+ will fail within 5 years. Unless you’re in a particularly high demand market, the pay isn’t great (not terrible, but people have a very unrealistic expectation for how much your generalist IT guy makes), and you definitely don’t want to be an independent contractor because you WILL end up spending more time trying to collect payment than fixing computers (or the majority of your profit paying someone else to do it).
It’s a lot less security than most trades in most regions, but you can still strike it lucky every once in a while. Just make sure you make hay while the sun shines, because it isn’t going to last, and dry patches are frequent in most markets.
I don’t even get why CS degrees exist in the first place… It’s not like the text books, computers, or programming languages are walled off or difficult to get. I really wish companies would stop putting so much weight on papers and start focusing more on actual competency.
I once thought like you. But you learn algorithms, theory, math, and practice all this way outside what you normally do. It’s a much “broader” and less narrow education that you give yourself to complete some project you are working towards. You don’t know what you don’t know. So there is real value. Besides that it is also a test and a qualification, although that really depends on the university.
I dunno, I went to college and the first thing they did was give me the book list… Felt like sitting down to a game of poker and buddy across the table just shows their whole hand 😂
Obviously in school you’d have the benefit of a teacher to assist you when you need help understanding things, but you could potentially also get that through message forums and the like.
Sure not everybody has the drive for self study, and I’m sure some topics get much more complex in university… But college at least felt like a total waste of my time and money. Just wish I knew at the time that employers would care so much about a piece of paper instead of making people prove their skills instead lol
Well you’re also “made to practice” these cray things. Like e.g. attend a lecture, then homework is “write a compiler for X language”. Which at the time to me who was unfamiliar with things out of my field of interest seemed crazy.
Of course many coast by without learning much in group projects. But you ultimately learn for yourself, not for your employer. Speaking as someone from a country where higher education is free of course lol.
But ultimately even if you want to start your own IT business I’d still recommend studying IT. Plus marketing.
Eh anyone can Google to get to the next step, and the next step, until their hodgepodge project is complete (eg, most of my projects), but not many would take the time to learn how to best optimize the code, keeping in mind the low level fundamentals of the operating system. Those courses actually do provide a nice minimal level of understanding of concepts to ensure the programmer understands what they are doing to a level that can build larger projects, and hopefully work well with others on a team.
Because a bachelors degree + computer software is experiences better than just computer software experience to employers.
I’m currently feeling this with 7 plus years experience in the field as a cisadmin without a bachelor’s
The whole thing just seems like a massive scam created by colleges/universities and endorsed by employers as a form of coping with the fact they wasted money on college/university and you should too 😂
There are ways to make it cheaper. Community college then transfer.
But then you miss out on the freshman and dorm experience.
Personally I enjoyed my experience but then I was on a scholarship.
Granted it’s been 30-something years since I graduated with my CS degree, but my experience might be helpful. My first job out of college ended up being in tech support for a software company, and I used that to eventually move into software development. During my 2 years in tech support I learned what I could about the source code for the companies product, and built relationships with members of the engineering team. It got to the point where I could carry on conversations with some of the software developers to identify potential causes of bugs that customers were running into.
Because of the relationships I made with the software engineers they eventually recognized my skills and one of the managers eventually helped me transition from tech support into a software developer position.
IMO traditional office work wise, accounting is a decent job in terms of money and employment rates. Depends on if you like numbers though
For more engineering focus aerospace is super popular right now.
If you still want to get into CS, you’ll likely need to get into a niche. Cybersecurity and database are more employed than general software. There’s less people applying in these specialist roles
Do database roles even exist anymore? It’s all been “left shifted” to devs these days
Yea
For clarification though I mean dev work as part of database orgs within the big cloud companies like amazon, google, microsoft.
Basically since a lot of companies rely on cloud providers, the big cloud companies always has headcount for those orgs. In fact most cloud service orgs have headcount if you can prove your expertise. (It is biased towards experienced devs though). Database is the one I can think of that schools actually put in the curriculum.
Database admin role yea the line between dev and that is a bit more muddled.
What country are you in? If you are in one where college is affordable and you truly enjoy CS (not the same as software engineering) or think you may will; just try it for a bit.
Live is not all about money and careers and if you are talented enough you will find something after your degree and have fun with it, even if it might not be the absourdly overpaid positions of the past.
Otherwise, if you already have some experience and are not interested in the acedemic side of computers or can’t afford to “just try” college, (software) engineering is a great place for starting without a degree, be it an entry level position, or an apprenticeship. Although these might actually be hard to find for the next few years :|…
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.
Genuinely, not being snarky, get a union trade job instead. Carpentry, welding, whatever. Not as fun probably but the stability is there.
Tech is such a shit show today in general; there are for sure still good jobs out there but having worked in tech for a couple of decades I feel qualified to say that building a career in tech is needlessly risky. Layoffs come fast, promotions come slow, and stability is nowhere to be found. I have spent most of my career across multiple companies constantly afraid that I might not have a job tomorrow… and I am both good at my job and well liked.
One time I lost my job because all of a sudden investors pulled out and nearly the entire company got laid off. Got an email Thursday afternoon telling everyone not to come in Friday because they don’t have a job anymore. There are countless stories out there like this.
Don’t do welding, or pipe fitting. Speaking from the counsel of family whose profession was this (and they were one of the best, truly). In their own words they’d never advise anyone to go into that these days.
To do things over, as much as they loved it, they said they’d probably join the sparkies. Electrician or lineman.
Meanwhile hvac trade is a wash with really terrible people, the most conservative trade, low union, and highly variable in competency.
Good to know