Ask HN: Stuck as a CS Major. Is there a way out?
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.
56 comments
[ 3.6 ms ] story [ 118 ms ] threadBut since you are stuck as a CS Major, here are some areas that you might find interesting:
1. Security --- This is an arms race, so there is always something interesting to do
2. Machine Learning --- While this field is very hyped up right now, there are still many areas that need a lot of work. Things like robustness against adversarial attack
3. Quantum Computing --- Honestly, I don't have much experience with this. But this is one field where your interest in physics can complement your current major
1. With security, I tried it and I'm not sure my brain is built for it.
2. Machine Learning — I got discouraged because I heard they mostly do deployment, which is a shame because the theory looks interesting, and the stuff you make can be funny. Maybe I dismissed it too fast? I got tired of spending months learning things only to consistently dislike them. I should give it another shot.
3. I might pursue quantum computing if I go back and take that bachelor's in physics.
https://news.ycombinator.com/newsguidelines.html
In other words, the 8hs that pay the bills steal time from the things I actually want to do and it makes me dread them tremendously.
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.
> 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.
- 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
MIS more prepares you for building IT in regular business. It's broad but shallow; you learn about database design, project management, application development, networking, the whole gamut (depending on your school). You learn the real stuff on "the street" anyway. Companies typically treat it as equivalent to a CS degree. You can get into whatever industry that interests you.
*I switched from CS to MIS and glad I did, but this info is 20+ years old, things might have changed since.
The minor in business can take you in some of the management positions in IT, experience can take you into others. But the minor in business can also take you out of IT.
Nothing speaks against finding a job you “like” (love is asking much of a job) and turn tech into a hobby and going more into electronics instead of software. To be honest technology makes a nice and exiting hobby but often a less exiting Job. As soon as a cool idea meats up with customers things can get ugly for stupid reasons.
I'm saying this wery lightheartedly - I felt like 80% of the people in MIS programs where people who needed (because society dictates you have to get a degree) to go to college and didn't care really care about tech or business, but they need a degree so why not both? 10% were people who should have majored in CS or Business, but for some reason didn't realize it early enough in their college journey and they didn't want to redo 1-2 years of coursework. The other 10% were destined to become the a$$hole VPs/SVPs who everybody hates, and the MIS degree was just another step to world domination and them self-justifying that they have a "technical" background.
>Companies typically treat it as equivalent to a CS degree.
I don't think this is true at all unless the company is one of those who hires SWEs who don't really do any actual software engineering.
I really enjoyed it though. I learned so much that my first job utilized everything I learned. At a small growing company that needed in-house expertise. I did the network, the switches, the workstation builds, the servers, built the database and applications on top of it all. I did project cost/time estimates and carried them out. After about a year we hired a full time network/client guy and I stuck to applications / database. It was a lot of work but I really enjoyed it and got a lot out of it. I don't think I would have been able to cover that much ground with just a CS degree.
>I don't think this is true at all unless the company is one of those who hires SWEs who don't really do any actual software engineering.
I don't know if it's still true, but when jobs would require "CS degree or equivalent," they meant MIS/CIS, at least 20+ years ago.
You are most certainly an exception to most people I knew in the MIS program at my school. :)
>I don't know if it's still true, but when jobs would require "CS degree or equivalent," they meant MIS/CIS, at least 20+ years ago.
I'm old enough to remember when people I know would graduate with "MIS" or "IT" degrees and get a $55K job building and installing Windows NT 4.0 servers with a bunch of other stuff (e.g. networking) on the side. It was a great starting salary at the time. Then the dot-com bust happened.
I definitely think software engineering now is at the point where CS or STEM degree really means that. Programming has just become a lot more specialized than back then. Well, at least hiring managers seem to think so...
The end result is that there is a wide variance in what people do after they graduate, and the degree isn't really an indicator of anything other than them getting a degree.
I have one of these generic multi-disciplinary undergraduate degrees and honestly, years later I feel like I would have less regret about how I spent those 4 years had I done CS or another program that was more focused. YMMV.
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.
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 :).
(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.
Interesting, what's wrong with Android or web dev? I keep hearing they're pretty okay to get into.
Seems like EE is more your thing.
That said, the jobs are lucrative (for now) and you won't hurt for employment (for now), and they can certainly scratch the same creator's itch that hardware and low-level development do. Maybe you need to try a project or two.
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.
That's a very uplifting story, though. I'll need to put out a thesis topic within the year, and the past months I've been thinking of making it about accessibility in tech. I know several people who have struggles with how tech is usually made for abled people and features for the disabled are marketed as luxuries for the abled. I was going to put off looking up this topic for the thesis proposal period, but it might be worth a google or two in my spare time.
A product manager with technical skills is a niche that exists.
Most product managers are not technical but can understand CRUD apps just fine (the app should do this when the user clicks this!). They struggle when the product is an endpoint you can hit with curl that has an interconnected chain of dependencies and other teams that also expose APIs that are owned by other product managers.
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.