Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are other career options as a CS major?
24 points by init-as 4 days ago | hide | past | favorite | 22 comments
I go to a top ten school where I am studying computer science and at the moment a second major in math. I can pretty much see my future right now, and I don't really like it. Like everyone else around me I'll probably go into SWE or (more likely with a math background) finance, as is extremely popular at my college. While these jobs do interest me, I don't really want to be a SWE day-to-day. I really like making things and while I always have really enjoy programming, I'd like to use it as more of a tool to solve problems that I find interesting, not really for developing large software. I think a job as a quant or something at a finance firm would be interesting, but they're incredibly competitive. I don't really see myself going to grad school, and I don't really consider academia an option. I don't exactly know what an answer to this question looks like but, what realistic career paths are there for someone like me? I'd really like to consider starting my own business / being self-employed but I'm not sure how realistic this is. Are there any books, resources you'd recommend?

TLDR: what career options besides finance and software engineering do I have as a cs major?


Hey, I was in a similar spot when I was graduating.

I honestly took a year off to just teach math to kids and work at the mall.

Same story, quant finance. Math background. Didn't go anywhere with that immediately.

Here's what I wish I'd done.

Take the minimum amount of steps it requires to go to grad school or line up a quantitative finance job. Even if you don't care about those possible paths, you have the privilege of applying whereas many do not. At least talk to some of those people and see what they have to say to you. It sounds like you're coming up with a catastrophic idea of your future without consulting the very people who are supposed to navigate these waters with you.

If you want a 'realistic' answer, it sounds like you just need a job. Any job. Give up the idea that the work will always be interesting. I guarantee you, once you abandon the pretense that you need to be working on interesting problems, you will see that others will bring interesting work to you anyways.

As math major to another, there are interesting problems everywhere and literally all people are interesting and full of problems.

> As [one] math major to another, there are interesting problems everywhere and literally all people are interesting and full of problems.

Add me to that list as well. I originally started graduate school with dreams of moving to California and working for a FAANG company. Early in the program I got a graduate assistantship that basically partnered with a large company to be a half-time intern. I didn't really see myself working at long term.

Over the last five years, I've come to appreciate the fact that I'm not using my knowledge of statistics to keep people addicted to their phones or serve ads. I just took a full-time position there while I finish the tail end of my PhD.

Everyone has an interesting problem to solve. It's just not everyone is slamming down their "achievements" down your throat trying to recruit.

Look into internships for business analyst roles - lots of work that will leverage your CS/math background but not (usually) lead down a path of large software development.

If you have trouble finding anything, consider taking a "backdoor" into it by learning enough SQL and Tableau/Qlikview/other business intelligence tool and use reporting/analysis to break into the field.

The most important advice I can offer on top of that is to strictly restrict your search to "profit centers" in companies - try really hard not to get pulled into "cost center" projects. The main difference is that the first matters to business bottom lines (how to make more money) and the second is necessary, but not particularly appreciated.

Good luck!

I am currently a data scientist and depending on the position, it may be a good fit for you. I went into this field for similar reasons to you (I did not enjoy traditional SWE internships but liked coding and math). My current position is more of a generalist role where I spend equal time: - Building dashboards and doing simple analysis (mostly SQL) - Building data pipelines and other data services (mostly python) - Doing deep analyses and building data products (i.e. recommendation engines) using machine learning. I also spend more time interacting with various others in the company and get more involved in the business side of things than most traditional software engineers.

It looks like the answer is in the question; you want to be an entrepreneur. It is very realistic for most people, though also probably _very_ difficult. For you, my guess is it is more than just "realistic", it's what you're going to do. But it's still very difficult.

As for resources, http://theleanstartup.com is a great one. This method is all about getting something (valuable) into users' hands ASAP so that they can give you the only feedback that actually matters.

Just remember, you are not a startup when you order business cards and get an EIN, you are a startup when you have paying customers

There can be quite interesting work involving modelling and optimising decisions that organisations are making -- e.g. helping to understand and improving the efficiency or profitability of some manufacturing process, or logistics.

One possible entry point into this kind of work could be to find some consultancy that specialises in this kind of work that's willing to hire a grad with solid comp science & coding & mathematics foundations. You're certain to get worked hard and billed out to clients for a lot more than what you get paid, but it can be a great environment for learning rapidly and also getting real world exposure to seeing how general math & computer science & optimisation techniques can be combined and fruitfully applied to some particular industry or business niche. Early in your career it is a lot easier to do something for a year or two and decide it isn't for you, and try something else -- or decide that it's a good fit and that you want to keep pursuing it in industry or pursue further studies to go into more depth about an area you didn't realise you were excited about.

I've found the work most engaging in my career where there's a combination of learning about and understanding some particular industry and then combining that with software development and mathematical modelling/optimisation techniques and then seeing the real world industry-specific results --- but it's hard to know what opportunities in specific real world industries exist and if you would enjoy them without being immersed in it.

Your only positive statements in that whole thing were "I think a job as a quant or something at a finance firm would be interesting" and "I'd really like to consider starting my own business".

Everything else was I don't I don't I don't I don't.

You've got your answer right there. Go make it happen.

I am full stack engineer at a medium company. This week I wrote few lines of code. I am solving business problems and that interests me. I am starting a business to do just that. Go into a company with outdated software, deliver some custom solutions for them or help them migrate to a new software. Explain possibilities and improve efficiency of their workers. Nothing ground breaking really, many smaller or medium companies do not have the staff to help them navigate all the options. Plus, I'm not scared of reading an app where most of the code is in main and applying basic programming principles to improve and move it to a newer language/framework. lol.

There is a lot of odd jobs that you can do as a CS major. As programmers often can solve inefficiency if they can study a process.

There exist software jobs that fall under the "tool to solve problems" bucket and require you to think in a very product and business-minded way. I currently work as an engineer for a company like that, where engineering and product work very closely together. As engineers we're expected to understand the business context behind everything we're asked to build and we'll often make suggestions or optimizations beyond what product suggested because we know the tech and the software well.

My point isn't to try to force you to be an engineer or something - I have no skin in this game. Just saying that you may be able to find what you're looking for before putting the software industry as a whole aside.

I suggest looking into Customer facing roles since you like to solve problems that you find interesting. Those roles are typically Customer Success/Support Engineer, Business Analysis/Requirements Gathering for customers, Project Management or even Product Management.

> I really like making things and while I always have really enjoy programming, I'd like to use it as more of a tool to solve problems that I find interesting, not really for developing large software

That sounds like a thread I would like to pull. What exactly do you enjoy building?

Semi-related, IMO it's easier to not get siloed, at work and in general, if you position yourself as a math major rather than a CS major. Most people don't realize the overlap, and think "programmer" when they hear CS and "smart person" when they hear math (I have both and this is my experience, ymmv).

If you're not sure what else you want to do, working as a software engineer for a while is not a bad idea, and may be a very good idea depending on your financial situation - if you want to focus on solving problems instead of working on large software systems, maybe try a smaller company. If you're especially interested in entrepreneurship, this could also expose you to a lot of valuable knowledge.

As a fellow CS major: Try looking at Graduate Research Engineer positions in an area that interests you. Machine learning, computer vision, etc. These usually require quite a bit of creativity and a good understanding of math to solve problems. It's also low stress because working in research means you don't have to deal with customers directly. Also, the software you write can usually be research prototype quality and not production quality.

I work as a quant trader and come from a software engineering background. Why don't you apply for jobs as an analyst in sales and trading? After a couple years, get an MBA or MFE or even try a PhD and move into a more quantitative trading/research role.

I think quantitative finance would be perfect for you. I know I wouldn't be able to stand doing anything else. Pay is awesome, problems are incredibly interesting, and the work environment is exciting and fun.

For the trading jobs, would I need experience in trading particularly. Also, for these jobs in general do side projects and the like matter a lot (like they do for SWE)? Thanks sm btw!

Unless you do something really amazing, they will judge you on your school and grades. When you're older, it's different of course.

You can't really get any real trading experience unless you work as an instiutional trader, so no, you don't need to have traded.

You also don't need to know anything about finance, though it helps. With a math+CS degree from a top school, I wouldn't imagine you have trouble getting a S&T offer at a bank (maybe not a specific bank like Goldman tho).

The other path you could take is to go straight to the buy-side: prop shop, hedge fund, etc. These jobs are significantly harder to get.

The money won't be as good at the sellside, but it's a lot less risky. Also having a big bank on your resume never hurts. Probably the most common career path is:

summer bank internship -> 2 year analyst stint -> mba/mfe/PhD -> associate role at bank or buy-side fund

> I'd like to use it as more of a tool to solve problems that I find interesting

A lot of companies work on tools to solve problems. My suggestion is to join a company try it for a couple of years and experience it first hand. This would give you enough experience to start your own company and work on your ideas.

"I really like making things and while I always have really enjoy programming, I'd like to use it as more of a tool to solve problems that I find interesting"

-Either an entrepreneur and build something of your own and then build a company around it. Or among the first 5 coders of a startup (Shel Kaphan, Javed Karim sorts). You get in build something and get out to find the next intellectual stimulation.

If you want to try something that is the exact opposite of CS, you could look into sales or recruiting. If you do something like go to work for a SaaS company, having a foundation for understanding the company’s product line makes a for compelling addition to your application. You can make a ton of money on if you’re any good at it, too.

Assuming you go out into the workforce, and not stay in academia, you essentially have two choices: go into a job for which you code, or go into a job for which you don't. The coding jobs pay better than the the other jobs, which is why they seem like the obvious, no-brainer choice. But, in their own way, they're a dead-end, golden handcuff situation: you'll likely be toiling away removed from the actual business. Mind, it doesn't mean the work is boring or can't be fulfilling.

A job in which you don't code will pay less. (Not because coders are inherently smarter, but because actually training someone to code is costly.) And many of them have quite a lot of boring bits, just as coding does. However, quite a lot of them will teach invaluable business skills. Like picking up the phone and talking to people; like writing RFPs; like seeing what real-world clients value and what they don't; like soaking up domain expertise.

The last one is a killer, really. Teaching coding to someone who can't code may be expensive, but it's doable (see coding camps all over). Teaching domain expertise to a newcomer is also expensive, but can't be done unless they actually live the domain. So domain expertise in the long run ends up being more valuable. Again, money wise really very little compares to FAANG salaries, but in terms of career options - as many as you want, and then some.

It's also where the most interesting problems lie. Not just interesting, but frankly, quite low-hanging fruit as well.

As for starting a business, or being self-employed, if we're honest here, you've not worked in business, you don't know what problems there are to solve, and up until now, throughout your life you've been optimized to clear benchmarks (get good grades, get into good school, get good grades again). I'm not saying you can't do it, but of all the options, it's the one least lending itself to growth.

I come from a very similar educational background, and my first job as SWE was my worst working experience. Maybe if it wasn't so bad I would have stuck it out, but then again, I wouldn't have chosen differently if I had to do it all over again. Point being, after that experience, I torched one path and was only left with another. I made less money overall, but I learned a domain, traveled the world for business, got comfortable networking and building relationships, got ever-more flexible working arrangements, and eventually carved out a niche. Twenty years on, many of my former SWE colleagues are either in academia, or tech leads/ICs in a software company.

Literally anything. By completing a degree, you will have demonstrated that you A) have a well-rounded education (thank you, general studies requirements!), B) have the ability to learn and apply critical thinking skills, and C) can stick with a project or program for 4+ years. That's fantastic right out of the box!

Almost any white-collar job will have "a Bachelors degree" as a minimum requirement. Check! You're already halfway there.

As for jobs and career paths, the truth of the matter is that 95% (or more!) of what you need to know on the job is something that you will learn on the job. In other words, if you have the capacity to learn and grow, you can and will excel in any field that you put effort into. Thinking about going into bioinformatics? Well, your computer knowledge will contribute and your math background will help, but most of the day-to-day work you can and will learn on the job. What about actuarial work? Once again your math and computer knowledge can come into play. In fact, your CS degree will help you with automating any digital aspect of any job. What about a salesperson? You're good with numbers, you're good with logic, and if you can learn a new programming language, you can learn anything. You'll be fine.

You get the point.

Me? My degree is in Theatre, and I'm a Director of Engineering for a pretty large company. I've been working professionally in the tech industry for 15 years.

The critical thing to do is to look at your degree and ask yourself: What qualities do I have and what skills have I learned that are broadly transferable to any industry?

For example, in Theater, I was an actor and a director. What are actors required to do?

- Show up on time

- Work independently

- Work as a group!

- Take constructive criticism and direction

- Memorize vast amounts of material in a short period of time

- Be comfortable speaking in public

- Be a good communicator

- Be empathetic and able to put oneself into someone else's shoes

- Be able to meet deadlines -- the show must go on!

- Be adaptive and able to tackle a wide range of problems, from flaking paint on a set to a broken costume to disruptions in the audience to poor ticket sales

- Be comfortable doing the same thing over and over for a long period of time (shows don't run just once!)

I could go on... but consider this: any employer in any industry would wet their pants if a candidate walked in and could demonstrate those qualities right off the bat, right?

How many people are geniuses at C++ but can't work with a group or take criticism or give a presentation on their work? Fat lotta good that C++ is doing when management is spending all their time putting out fires that this problem employee creates because they can't follow rules!

That whole day-to-day thing? You'll learn that on the job. We all do that, anyway. I've been working professionally in tech for 15 years, and I've never yet had a job where I didn't spend the first month trying to figure out the company's tech stack, administrative processes, people dynamics, and more. It's just how the world works.

So don't think of your degree as a finalized career option. Think of it as a ticket to an interview, as physical proof that you CAN learn and you CAN complete a project and you ARE someone that can do the job -- any job.

Good luck.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact