HACKER Q&A
📣 hardcorenobody

Stuck as a CS Major. Is there a way out?


Long story short, I'm a junior taking CS, I hate it (sorry to everyone who loves it. Also, to clarify, my university isn't very theoretical in its approach), and because of my circumstances it's too late for me to switch majors.

I originally wanted to be a physicist, but I switched midway into my first year because CS has got more financial security, physics isn't as glamorous as pop science would have you believe, academia might be a bad fit, etc etc, and I thought I'd like it. Hell, everyone thought I was in love with CS until I started complaining their ears off, because I SEEM like I'd like it. It's to the point that it affects my work. I do submit my work on time unless life gets in the way, and I do pretty decently actually, but getting through the thick wall of "fuck fuck fuck i signed up for this" and boredom takes a lot of effort — more than I thought, and I don't have any side projects because I'm not interested in anything. My resume would probably look like a big wall of entry-level skills because I've tried so many things hoping I'd find something bearable. Finding this tolerable would really be the best-case scenario for me, but it's simply not happening. I wish I was having a bad time because I'm frustrated or burnt out, or I'm having a very very hard time, but I'm not. I just hate this.

My question is: do you know anyone who ended up with a non-coding job with a CS degree? If so, how did that work out for them? Also, were they able to get a job that didn't glue them to a desk all the time?

Right now I'm only interested in my electronics, math, and 3d modelling/animation (an elective) classes (which shouldn't be surprising - I love physics), and I wonder if I should've gone with engineering instead, but it's too late for that. I'm looking into embedded systems since it's "closer to the metal," I have some arduino parts lying around, and I do like C and assembly better than high-level languages, but if even that is too much software for me... I don't know anymore. I like managing and organizing projects ("Type A" apparently), and they say I'm a decent talker, so I'm also considering minoring in something business related and getting business experience. My family is full of businessmen, and they all say it's about the skills and a degree in management is useless, so I might be able to get into it. International business, maybe? I'm fond of learning languages.

Well, if nothing works out, I'm going to choose something random from the things I've tried (web dev, android dev, malware analysis, whatever) and run with it. It's about time I do something I hate for my resume so that I can get that 9-5 job I'll hate. Sue me, I need to eat. I'll just simmer in the irony that someone like me, who is passionate about so many things, some of which are practical, ended up in something I don't like.

If I sound desperate, I am.

Any advice?

Edit: This thread has given me better advice than I've gotten anywhere else. Thanks guys. Also, what I hate specifically about it is programming, of all things. For some reason, I just don't like coding.


  👤 apohn Accepted Answer ✓
I'll bet that if you tracked the career path of CS and Engineering graduates, you'd see the following pattern. Let's assume (this is a bad assumption) the majority go into a technical role (e.g. Software Engineer, Electrical Engineer). After 2-3 years following graduation, you'd see a large percentage of people move from technical roles into semi-hands on roles (e.g. PreSales, Team Lead, Technical Marketing, etc) and then at 5 years, another jump into non-technical roles (Product Manager, People Manager, Sales, Marketing). At 10 years after graduation, I'd be surprised if even 20% of people with STEM degrees are still in a hand-on technical role.

Regarding Physics, I can't even remember how many people I know with advanced degrees in the sciences who are now in management roles in the private sector, or other roles that don't use even 5% of what they learned in their degree. I work for a company in the healthcare sector, I'm still astonished by the number of times I've heard "I have PhD in Physics/Chemistry/Biochemistry and 5+ years of post-doc research, and now I'm have meetings all day my "tools" are Excel/PowerPoint."

>do you know anyone who ended up with a non-coding job with a CS degree?

I know a lot of people who have done this. As you may have surmised from my comments, it's extremely common and people many people do much better from a career and salary perspective since they go into a job area where they can thrive, rather than stay in a coding role they don't like.


👤 xtrohnx
For what it's worth, I think that you might be wrestling with issues greater than a choice (or perceived lack of choice) of college major. I would suggest talking to a therapist regarding the boredom and frustration. It sounds like you might be depressed and mourning the loss of what you believed life could have been.

I have a MS in CS, and I work for a zoological nonprofit. It involves a fair amount of coding, but I'm also not chained to a desk. The projects are interesting and also provide a benefit to my community. I get to work on database designs, animal-computer interaction enrichment, microcontroller lighting, ecommerce, sound design, and veterinary equipment. The pay is a far cry from FAANG level, but the benefits are excellent and I've made a great career path for myself.

I was tired of working in a traditional coding role, and I started thinking about how I could use the skills I do have in a more fulfilling way for my community and the things in life I love. In the role I have now, even the boring stuff isn't very boring, because the bottom line is something that I care deeply about.


👤 jstx1
> Right now I'm only interested in my electronics, math, and 3d modelling/animation … I'm looking into embedded systems since it's "closer to the metal," I have some arduino parts lying around, and I do like C and assembly better than high-level languages

So really there’s multiple subfields of CS that you like, you just don’t like everything and you think that it’s problem? Stick to CS, you’ll be fine.


👤 notreallyserio
I don't have an answer for you but this stood out:

> My resume would probably look like a big wall of entry-level skills because I've tried so many things hoping I'd find something bearable.

As someone that has reviewed resumes, I can say this isn't a problem. You're (going to be) a fresh graduate, it's expected by nearly every employer that you'll have entry-level skills.


👤 mardiyah
IMHO a simple solution is obtained, if we've fulfilled few pre requirements:

- Have very good internet connection

- ----------------- " ------------------------- access port/device (laptop, PC etc)

these must never lag, hang, interrupted, let alone overheated to sudden death

go on signing up engineering, physics, electronics, software/coding forums as many as possible and post questions in such too with no time in between

after doing those then back to first to reap all your questions' answers in that order

find some who blessedly good in both coding and physics/engineering, so try to acquire their mentality on their capability, knowledge, vision, habituated decent lifes etc, all the goodness benefit


👤 ericbarrett
Why is it too late to switch to e.g. physics or EE? You may tack on an extra year of school, and the financial cost thereof; and I'm sure the make-up classes and homework will be hard; but your education will set the trajectory of your adult life so it's probably worth it. You wouldn't be the first or the last to bail on a degree in their third year. Knowing some basic programming will make you better at those fields anyway.

(Edit) If you like C etc. more than app programming, do the malware analysis route you mentioned. For heaven's sake don't become another Android or web dev, you'll be in hell.


👤 doix
If you want some more random stuff to try, look into working in the semiconductor industry. There are a bunch of jobs with varying degrees of programming. It would be difficult to get a digital/analogue design job as a CS major, but there are a bunch of things you could do.

Production Test Engineer: You write code that runs on every device before it's marked as good. You're trying to optimise for test time (every extra second costs money) and minimise false negatives/positives. There are many opportunities for statistics/physics here, especially in the mixed-signal space.

(Field) Application Engineer: You help customers use the products produced by your company. You help make reference designs for PCBs, write demos that show off the product etc. The field version travels to customer sites and helps debug problems.

Verification Engineer: You'll be writing lots of code to test stuff written by the digital designers. This profession is in a really weird place, most people that get hired are EE's, but verification has basically become software development at this point. Lots of high level software abstractions exist now and lots of people that work in this area are struggling with them (at least from what I've seen).

Quality engineer: honestly, not too sure what they do. Lots of statistics, maths and complaining about shit :).

Probably more titles I can't think of right now.

Anyway, just some ideas to try which might be things you haven't heard of before. I have no idea where you are based, but many semiconductor companies offer internships where you can get a taste for some of these areas. It's difficult to know if you'd enjoy any of them though. I didn't quite get what specifically you hate about CS :).


👤 namelessoracle
Product Management with a focus on backend might be a good fit if your just looking for a job that makes CS level money. There are places that hire "out of school" junior level product managers now. And a real struggle is finding people who can understand the use cases of enterprise teams that expose backend apis and not just a CRUD app.

A product manager with technical skills is a niche that exists.


👤 johntdaly
Finish you degree with a minor in Business and go into the management aspect of IT sounds like the best plan. After you got some experience you should be able to “shop around” a bit for some other type of management position that aligns with your interest.

👤 profit-truth
Are you me? I got a degree in computer engineering, minor in CS and Math. I initially thought I hated programming and wanted nothing to do with it until I started making games in Unity. It turns out that what I really enjoy is learning and problem-solving. My CS coursework just didn't offer interesting problems to solve-- it was more about rote memorization of Data Structures and Algorithms. I think you should try and find a discipline of CS that interests you, and pull on that string. Do a little self-directed learning in your free time. For me that string was AI for games.

👤 intpx
Aerospace contractors hire CS to do physics modeling and simulation. Go to a place that will pay for your masters in something you’re interested in and pivot to science

👤 thorin
If you have a chance to change, do physics, but there's every chance you wouldn't enjoy that as much as you think anyway. Except for people that work at universities, most people that I know who did physics (even to associate professor level) are no longer physicists. Physics is a great entry point to business, accountancy, finance, actuary, insurance, data analytics/MI/AI all kinds of stuff that you might equally hate :-)

👤 smoyer
If you like and understand physics, try adding an EE minor or applying your CS skills to robotics. Both these career paths are physics-adjacent (electrodynamics and mechanics respectively) and might allow you to have a passion for the software you're developing. Also, remember that your career is simply there to pay the bills and that you can pursue your interests outside work too (I build wooden boats).

👤 tw3464575686
How about automation? I used to work in an automation company (as a dev), and the work the engineers did seemed to fit your profile pretty well: Electrical engineering, project management, customer support and some dev to put it all together. I'm guessing the roles will be more distinct in larger companies (we were about 60 people total), but ICS is a nice middle ground between EE and programming.

👤 twox2
I was a CS major... then I had like 5 other majors before I dropped out of college altogether. I never had traditional "software engineering" job. There are a million things you can do. These last few years I've been going deep into some esoteric cybersecurity research. Coding is helpful to get the job done, but it's not assembly line style programming.

👤 thegagne
Didn’t like my CS program, switched to Math with CS minor. Much happier. Ended up doing sysadmin, then devops, then back to software dev.

During part of that progression I worked for a non-profit that I loved.

Small tweaks (which professor you have, which boss you work for) make a huge difference in your level of enjoyment and fulfillment. Experiment with choices, try to figure out what you like.


👤 sydbarrett74
How about electrical or computer engineering? You would satisfy your 'how does it work' jones, and also get a healthy dose of physics.

👤 thrower123
You could probably be a product manager or a technical sales person.

👤 streetcat1
Why do you hate it?