Hacker News new | ask | show | jobs
Ask HN: Backup plan(s) for a CS major?
18 points by zupancik 4617 days ago
I'm an undergrad at UC Berkeley, and the reason I chose it was for it's outstanding EECS program (electrical engineering and computer science). However, there are lot of people back home and in other places who view the current demand for programmers as a "tech bubble" and they don't expect the "dreams" of Silicon Valley to last. I know programming itself will always exist, but how do I adapt as/if the bubble collapses? Any suggestions on other career paths that would find my CS experience valuable?

I love programming in itself, but I don't want to regret my major choice because I blindly followed the crowd with no backup plan.

5 comments

This deserves a longer response but it is quite early in the morning, so I'll write the short version:

1) The career of programming (specifically) has MANY options which are not concentrated in the tech bubble. I know that is not obvious being so close to the epicenter of it, but 90%+ of professional programmers work, in Silicon Valley parlance, boring companies doing boring things. Banks gotta bank, insurances companies gotta insure, logistics companies have to do something without any convenient verbs to describe it, and all of the above hire (or beneficially hire, via staff arrangements with companies that are uninteresting to the Valley) vast numbers of programmers.

2) The ability to program doesn't hurt your suitability for virtually any type of knowledge work (when compared to a BA/BS in an unspecified field from Berkeley). Most of the time, it will help you, since it gives you superpowers with regards to many tasks you might be expected to do. In my (brief and unlamented) stint as a translator, I shaved months of mind-killing drudgery off my schedule because I have superior options for getting Japanese from Word documents into HTML than copy/pasting one line at a time into Dreamweaver. You may find yourself working in a job which involves analysis or acting upon data, a task at which worksmanlike command of a single scripting language makes you a hero worthy of legend. You will find, for example, that many companies still generate e.g. monthly reports by having people manually collate/screen-scrape-with-their-eyeballs six different data sources into an Excel file which is version controlled by copying with creative filenames onto a shared directory. You might think that somebody capable of programming their way out of a paper bag could do a better job in two day's of work. Some times, you're not wrong.

3) Even if you don't do programming on a day to day basis, knowing how to get what you want out of computer systems and computer people is valuable. Smart people often suck at this. You being a bridge between those smart people and their captive techies can make you indispensable. (For example, I bet Obama would currently kill for one person in his inner circle who can tell the difference between frontend and backend at the moment. That sort of opportunity exists in a lot of places.)

4) Your major matters much much less to your career path than you have been socialized to think, because you have probably not talked career paths with many people outside of academia, who have very skewed views on the matter. Three years from now nobody will care what you studied in undergrad.

This is an excellent answer. Let me add another data point for item 2. I know of several companies which have passed their ISO certifications or audits in no small part because of certain formulas in certain Excel workbooks.

If you are not familiar with ISO Certifications, this is a Big Deal. If you are familiar with Excel, this is mind-blowing.

can you explain this a little deeper?
Not sure which part you mean, but the important bit for this thread is that even basic Excel formulas are black magic to non-techies, and that basic hacking skills can drive real business value. There are things you can do rather trivially, such as "Add 3 calendar months to this date, and if it's later than this other cell, color the cell red," which would be a) extremely helpful, and b) otherwise a task they'd have to hire an intern to calculate each week, for many companies in the $1-20 million a year range.

And this is just Excel formulas, let alone the ability to write some VBA that does calculations and draws a chart, or a script with a regex that cleans data files, or a basic app for data entry...

If it was the ISO certification you were interested in, there are many certifications related to manufacturing, food & drug, etc. These certify that your company meets various standards, regulations, quality procedures, documentation policies, tolerance assurances, etc. These can result in a ton of additional business, since many customers desire or require them, and losing them is also a big deal. The certifiers audit companies regularly, and having some pretty spreadsheets that show how you are continuously improving and ensuring your adherence to the regs can be very valuable!

thank. I found few post where you mention ISO certification. Just curious, are you in that space?
Related: It occurs to me more and more that programming is a VERY valuable secondary skill. If you find your interests drawn to another domain, it will likely be useful to gain expertise in that domain. Once armed with knowledge of how people do things in that area, you'll be poised to apply programming skills towards solutions to their obvious problems. Like Patrick says above, to laypeople, someone who bangs out code that makes people's day better appears to have superpowers. My general recommendation to kids going to college these days, is to jump into a field you're interested in, and pick up programming on the side.

In your case, I wouldn't worry too much. Leaving school with a CS degree, you'll have a skill set that many, MANY companies are willing to pay for. The ability to convince computers to do your bidding is a pretty marketable skill.

Why not take programming as main skill and then pick something else as secondary skill?
That works too. Actually, I should probably re-word the advice along the lines of "know programming, and know something else really well too." Puts you at some pretty lucrative intersections.
I work as an iOS engineer, and got my job 2 months after graduating with an Art degree and a minor in advertising. Your degree really doesn't matter - just get one and become really good (work at a professional level) at something at the same time.
The ups and downs of the economic cycle especially in the valley where they are somewhat amplified do not directly correspond to your employment prospects as a Software Engineer. Here are just a couple things that will likely happen over the course of your career as software engineer:

- Most consumer and commercial vehicles to be driven completely by machines

- Machines will become better than doctors at diagnosing patients

- Telepresence software will allow you to travel to any country in the world within minutes

- Everyone will be able to print almost any object they would want in their home

- Virtual reality will become indistinguishable from reality

- Humans will travel to mars

The development of new software will obviously be required for all of the above and this list doesn't even begin to scratch the surface of the ways in which software algorithms will change the world. I can't think of many majors that you could study that will give you the skill-set that you need to create more value over your career than computer science.

PS. Don't call yourself a programmer http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro... (By patio11)

Combining CS and Business can work well.

1. You would be able to translate between higher levels and the execution team, so if you ever get bored of coding you can have an escape trajectory. HR staff who pigeonhole techies won't have an excuse to stop you from getting into decision-making roles.

2. Most conveniently, if you ever decide to be your own boss, or jump into another field (from making bikes to delivering flowers) you can always do that by starting a business. The degree won't help you much in the beginning, but it will give you a lingo for talking with investors, a network of classmates with money, and the basic skills for keeping your cash in order (you can learn that later too, but having that confidence in your earlier years is helpful).

On the down side, don't get yourself recruited into a warm-body role that gives you a lot of money, teaches you nothing useful, and takes away the best years of your life.

How about an MBA?
If you love programming - you should be fine. Occasional programming bubble bursts are inevitable, but they only wash away unskilled unmotivated programmers who do programming purely for money.

There is no reason why long term demand for programmers would decrease.

My plan B has always been Truck Driving. Easy to to get trained up and going.