Non-Programming Jobs For a Computer Science Major?
An anonymous reader writes "I recently graduated from a 'major' university in America with a BS degree in Computer Science. I unfortunately must admit that I am not very skilled with programming. I finished with the degree, and I've spent much of my college career working a job doing technical support (fixing laptops, troubleshooting Windows problems, etc). What jobs can I get with a computer science degree that are NOT mainly programming jobs? A little programming wouldn't be bad, but none would be preferred. And what kind of salaries do these jobs typically fetch?"
n/t
You could get a job as a Program Manager or similar position. They do more design work than actual programming. Those positions pay about the same as programming positions.
My blog
How good are you at computer security? You could be a penetration tester or security consultant.
$2.13/hr
Accenture is always looking for fresh faced graduates who can't actually do anything.
D.O.U.O.S.V.A.V.V.M.
With that Degree you can apply for admin positions... maybe systems...which may require a little windows scripting, but also network admin, or even a managerial position over a help desk!
Whatever you do find... good luck!
What else besides Computer Science do you know something about? Your degree is only limiting if it is the only experience you actually have. If you have some real world experience then do whatever you know how to do.
with a BS
Looks like you'd be perfect for management.
You don't say whether or not you even want to use the degree ... are you interested in CS at all? If you are, there are plenty of IT jobs sans programming ... Sys Admins typically start out well enough and need to do some scripting, but not generally too much programming (where scripting = perl and programming = java, for example). Do what makes you happy, or you'll end up a crusty old man better armed than your local militias ...
Yes, anonymous was probably the right way to go with that submission on this site ;)
You can probably get QA easily enough, especially if you can write automation scripts or programs.
Pay is probably 3/4 of a programming position.
GPL Deconstructed
Testing
Project Management
Product Support
Software Sales
Systems Administration
Programming is just one part of computer science; there are needs for all of these other areas as well.
You could go into management. An MBA helps but is not essential. Just check the mirror first, if you see pointy hair sticking up above the ears, do NOT get into management in any technical arena, you won't be doing the rest of us any favors. *joke*.
If you can do "lite" programming, running a web site, doing system administration, or database administration might be your cup of tea.
You could also consider hardware work or being a technical instructor. There is a demand for teachers for high-school/trade-school-level certifications such as A+. There is also a need for technical instructors who can teach "office" skills or "lite database" skills such as beginning and intermediate Microsoft Access.
You probably have a math or science background. Have you considered teaching these classes at the secondary or community college level?
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Are you good at maths? I would probably say something like statistics in applied disciplines such as Biomedicine. Medical Scientists and Researchers are always short off smart guys who can help them analyze data and publish fancy data reports.
"Sum Ergo Cogito"
A lot of jobs you could get with any or no degree: financial services; screenwriter; salesman; etceta. If a job doesn't require a specific degree, and few do (accounting, law, medical fields, anything that requires certification), then you could probably get involved even if it's unrelated.
Your ad here. Ask me how!
A QA Engineer position or really anything in a QA department may be a good fit. As far as I know you can get pretty comparable salaries as a programmer as well.
You are in a unique position; us programmers can't stand to be in management, we simply cannot do our jobs there (not to mention we're slightly introverts!). If you are skilled and don't mind managing, you can bring home a decent wage. Especially if you know how to manage programmers! Good management for a development team is a sorely needed position.
Just my $0.02. Any fellow programmers want to back me up or dispute my claims?
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
I find it a little difficult how you made it through a CS degree without working on code. Then again, "programming" is not experience in one language or expertise in using pre-built functions. If you know algorithms, logic and how a piece of generic code works, you are already a programmer. You just haven't done it long enough to become biased on one language. That will come in time.
So, do just not enjoy programming or do you not know enough?
A System Admin or "plumber" is your best bet for getting a job. It really depends then on your experience with certain platforms, programs, System tools, etc. Same goes for a Network Admin, email admin, etc.
I still wonder how you hacked it through a Computer Science degree without loving code. Why didn't you get a Business IS or Business degree instead?
import system.cool.Sig;
How do you graduate with a CS degree, and not know how to program? What kind of CS program are they running at this 'major' university?
Tech support? Your experience is TECH SUPPORT?!?!?
Maybe if you work hard you'll make assistant tech support manager some day.
Your best bet at this point is to either beef up your scripting skills, networking skills (or both) and jump over to system administration where a degree is almost ancillary. Entry level positions typically start in a NOC, and go up from there.
If your grades were decent, consider law school. People who are successful there aren't only good BSers, but have a strong sense of logic, generally something you possess if you're into programming or math.
Of course, if your grades in programming weren't that good, don't let that stop you. The practice of law is overrated. :-)
In every company I've worked at, from ones with thousands of employees, to ones with a dozen, we have learned that programmers make horrible sysadmins. I don't know if it's the training they receive, a personality thing, or what... So please don't do it!
Now if you told me you FAILED at being a good programmer, I'd hire you on the spot as a sysadmin ;)
Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
I do enterprise level tech support for a tech company you most certainly have heard of, supporting $M+ installations of computer storage. I've done this for just under a decade, and make pretty excellent money doing it. My salary right out of school was in line with the students that did take dev jobs.
Before graduating, my experience was identical to yours, doing PC work, a little bit of web work here and there, etc.
Except for a couple of scripts here and there, I have not written a line of "real" code since day one.
I was actually pretty decent at programming, but didn't enjoy it. (I was a CompE, not a CompSci.)
I am pretty concerned that it is July and you don't have a job yet. The "college hiring cycle" is kinda over... That means you may be stuck with true entry-level jobs, instead of the "college hire" jobs, which in my company anyway, are a bit different. (An entry-level support tech is going to be working the call center, while a college-hire tech is going to be working in Level 2 or 3, right off the bat (with a whole lot of OJT, of course.))
SirWired
Well, you could take the specification from the customer, to the programmers.
If you've got people skill that is.
(sorry if already mentioned)
...OR...
QA with a programming knowledge can garner good money at some companies these days.
Maybe going into a Business Analyst position any sort of Software/Development Analyst might be for you? They gather requirements and provide functional and sometimes technical specification documents for software dev shops.
Of course, seriously (not) - WHY DID YOU GET A COMPSCI DEGREE IF YOU DON'T WANT TO PROGRAM???
If you did good in english, you could write documentation.
As is said often on Slashdot (and bears repeating), CS is not software engineering and there are many opportunities in the field that are not assembly-line-programming jobs.
What comes to mind for me, however, is that if you have a problem with programming after going through 4 years of computer science education, maybe it's not the programming in X, Y, or Z language that you don't like, but the whole idea of thinking in processes, algorithms, computational theory, etc. If you don't like coding in C++ you may still enjoy a job in CS... but if you don't like coding in C++ because you don't like thinking about and designing processes and algorithms then maybe computer science as a field isn't for you. Not every CS job will involve writing the boring "phone book" applications you did in school... but every CS job will involve the theory behind those applications, at some level of abstraction.
They can always use people who can't code :)
A little programming wouldn't be bad, but none would be preferred.
If you want to succeed in IT, you NEED programming. You may not be building enterprise-level programs - but when comes to pushing updates, creating a simple Intranet, building or troubleshooting a compiled/interpreted application or just plain keeping yourself sane*, having a programming background goes a very long way.
Perhaps IT is not a best fit for you.
*For some of us, it may be too late. :D
Database Administration. Good money. Lots of positions. Just hope you like Oracle....
ehm, assistant to the tech support manager
return EXIT_SUCCESS;
He didn't say he didn't know how to program, only that he wasn't that good at it. There are plenty of bad programmers out there who are content to churn out bad code. It would be nice if more of them acknowledged their shortcomings and looked for something they were better suited for.
People with CS degrees solve the computing problem and then implement it themselves to test their work in real life situations.
Even people with Math degrees should know basic programming.
"I only speak the truth"
Karma: null(Mostly affected by an unassigned variable)
I think the point was not necessarily that he doesn't know how to program, he just doesn't have that natural knack for it and maybe doesn't even want to do it. I know very good programmers who just find it intensely boring and would prefer not to do it.
If you like networking, I personally find that field to be both fun and challenging. Perhaps it would be a good fit.
10 FILL MUG WITH COFFEE
20 DRINK COFFEE
30 GOTO 10
Sarcasm...off. I mean this:
Thank you for admitting that programming isn't your thing. Thank you for not subjecting your fellow programmers to years and years of bad code, grumpy job performance, and being a drag on other coders' lives. Thank you for letting our managers hire people who want to do this job, instead of those just killing time.
I'm sure you're a fine person, but thank you for not working here as one of my developers. You are too honest for management or sales, but I'm sure you'll find something good to do.
Now if we can only get other CS majors who shouldn't be programming out of the trenches, life might improve.
Get off my lawn.
Although programming is the visible face of computers, most jobs using them have little/no programming requirements.
Do you have people skills? Can you attend meetings all day without retching? If so, consider management. I don't care if my manger can code his way out of a paper bag as long as he can keep me out of meetings. He does have to know enough to kinda keep up in the technical discussions, but that is about it.
But my advice to you is to get out of the computer field. It doesn't appear to be where your interest lies. Find something else that you like doing and aim for the computer end of that industry. It may be too late for you to become a doctor, but hospitals have huge support staffs and working with already written medical software might be more rewarding for you. Or perhaps you can get teaching license and help run a high school program.
Be creative. There are lots of related fields where your skills might get you a job that you like. You might be surprised at what you can find and can talk your way into. Heaven knows that over the years I've seen countless EEs who end up with software jobs, and are often poorly suited for them.
- doug
PS: I intentionally left marketing off the list. If you need to stop and bounce an idea off of slashdot, you don't have what it takes for marketing. And you are a better person for it.
An Ed Tech is in charge of implementing technology solutions in schools, picking out hardware/software, and managing the budget for that sort of stuff. Whiteboards, overhead projectors, USB cameras...all of it (not just computers). It's almost a sub-set of Library Sciences. Another huge time eater is training faculty how to use computers and software solutions. You'll also be setting up the kiddies e-mail accounts and the such (unless you work in a big school with an actual IT department). It is good to know a lot about computers/computing in general, but more important to have good research skills and business savvy. Most of the time you'll be trying to justify your purchase suggestions to somebody who knows less than you and someone who won't want to give you any money to do it.
In short, it takes more education to be an Instructional Designer, but more technical savvy to be an Ed Tech. I'm kind of in both worlds, as my degree is MAEd in Computer Education--straddling both curriculum and educational technology realms.
Very true.
Oh sure we learned a lot about computer architecture and digital logic but nothing useful about how to actually maintain a PC! There was nothing about how to install more memory or troubleshoot a bad power supply. We never even opened a computer case in a class!
I guess I'm not qualified to work as a computer technician- I'll just have to settle for making twice as much as a software engineer. :(
Of course I do know how to build and maintain a computer- it's really easy and no classes were required. It is handy at home but useless at work of course.
BSAs play a critical function in most IT project teams, and often pays just about as well as a programmer if you have any experience (entry level positions don't pay much, but you need to earn your dues).
In addition, if you get a bunch of experience and understanding of methodologies (UML, RUP, Agile, Requirements Engineering, etc), you can easily make good money contracting in large metro areas.
This role can easily transition into a technical/software project manager if you're good at time/expectations management, or into IT management (for large organisations).
In the UK, this role is also called a Management Information Systems Analyst.
Make sure everyone's vote counts: Verified Voting
I'm disgusted by the number of suggestions that this guy go into testing. I'm especially disgusted at the ones who are telling him to go into test so that he can work his way into a development position later.
Software is the only engineering field where the engineers who do quality assurance (prevention of defects and design of quality control processes) work are treated like the people who do the quality control grunt work (the actual running of tests). If the computer industry ever intends to routinely get software that doesn't suck right out of the box without figuring out how to clone Linus Torvalds, it had better start taking defect prevention and detection seriously and that starts with not treating it as a only as a dumping ground for CS rejects.
He didn't say he didn't know how to program, only that he wasn't that good at it. There are plenty of bad programmers out there who are content to churn out bad code. It would be nice if more of them acknowledged their shortcomings and looked for something they were better suited for.
I couldn't agree more. It seems most CS departments teach "get the program to do this" rather than "write the code like this." My school, widely respected for CS, didn't ever teach programming design. Almost anyone can with a brain and a book can write a program. It takes real intelligence to get and use proper programming design methods.
If you are outgoing, technical sales might be a good fit. The received view among engineers at least used to be that the very top of the class ended up becoming professors, making very little. The next cut design engineers, doing OK, but nothing spectacular. Below them were the manufacturing engineers, making about the same. The C students, however, ended up in sales and made the most of any of them.
Unfortunately, many who focused on programming in college also aren't very skilled in programming...
There are many areas to choose from that don't require skills in programming. You should, however, keep yourself versed in understanding how to read a program. It is a necessary skill no matter what area of expertise you choose.
I wouldn't recommend "support" unless you like being attached to a phone or stuck in a dead-end job diagnosing why a PC won't boot. If have any talent in seeing skills in other people or managing a project, I would recommend PMI certification (Project Management). That allows for a clear path to management.
Another good area is QA/Six Sigma type work. If you are good at math and can wrap your head around the metrics of improvement and testing from a quantitative and qualitative framework, this is an excellent and challenging field. There will be some "programming" involved, but usually things like Excel macros and such that relate to statistics. (On a side not: beware of Excel's statistics related functions. Many of them are terminally ill and have been from the beginning. Verify all your data and test multiple scenarios with a handy TI or HP calculator beside the keyboard.)
In almost all IT-related fields the time from expert to out-of-date is around 6 month if you aren't studying. Security work has a shelf life of 1 to 2 months, though. So unless you don't mind intense study for the entire time you are working, stay abreast of security but avoid it as a career. I do have some friends, however, who love the field and have stayed for years. It's more about your disposition than anything.
On the salary basis, don't get too excited. Since you are just starting out, stay light on your bills and choose a targeted path. If you get stuck on too high a standard of living too early, it is almost impossible to switch jobs, if needed, to better align yourself with your career growth plans. In the first 5 to 7 years, expect to switch around a bit to get into the proper career groove. Then, lay down some time in 1 (maybe 2) semi-long-term spots that are challenging and will grow your skills.
Keep an open mind. I have been a bonifide expert in several technologies that became extinct overnight. You can't really predict with any certainty what will and what won't last. Keep up with multiple areas and technologies at once.
Always keep your eyes open for good high-level positions that you can do with a little stretch. Also keep in touch with education. If you have a BA or BS, go for an MS or two. MBAs may be boring but they open doors for you. PhDs are typically overkill and tend to sap the brains and make the decorated individual quite useless in a real-world IT scenario.
Blog smart, publish often, write books. Even if you stink at writing, get good at it (and get a good editor until you are). The published will always get a job.
About "blog smart"... Don't be stupid. Stay out of politics and your personal life. The Myspace/Facebook generation keeps shooting itself in the foot because all their dirty laundry is aired out in the public. As a very unfortunate example, if you like you music edgy (pick the genre) and blog about it, you could lose out on a job interview to someone with less experience and harder music tastes who doesn't blog about it. Corporate hiring wonks are relying more and more on internet research for candidates.
I've been through 24 years in this industry in everything from programming to system admin to security expert, with a lot of things in between. Stay light, even with a family. This can be a feast or famine industry. Keep your possessions liquidable and classically sparse. When the money rolls in, don't spend it all. Sock it away. Invest some. "matress" some
Comment removed based on user account deletion
There's loads of jobs one can do in IT outside of programming. ;-p
Did you ever think of:
1.) Enterprise Architecture
2.) Business developer
2.) Functional designer
3.) Usability specialist
4.) application manager
5.) project manager
etc. etc. need I go on.
Most code-monkeys actually think these jobs are superfluous because its all about the code.
This, of course, is an illusion which becomes apparent when you look at some of the most brilliant code that produces the most horrifiing interfaces.
It also shows when individual systems try to interface. The stupidity clearly visible when programmers of different systems come together and start blaming the other for not adhering to THEIR brilliant SOAP/RPC/DBI design is sometimes sickening.
In short there's a lot you can do to help all of us, poor souls, lost in IT to create a better world ;-p
Civil Engineers choose their major with the idea that they are going to build bridges when they graduate, but its a decade or more before anybody entrusts them with that. What they do when they get out is more like figuring out how many gallons of paint it will take to paint the traffic lines on the bridge.
People coming out of a CS program aren't good for much right away. There are exceptions of course. Developing software is like music; anybody can do it if they apply themselves, and after a while with the right coaching and effort they can become passable. But then you've got Mozart, who was composing at age 5. If you were Mozart, you'd probably know it. The fact that you say you aren't good at programming only means you're more self-aware than others. Very few people coming out of school are good, although very few people know how not-good they are. It takes a year or two of seasoning to get up to speed.
I'd suggest you don't worry about what you are good and not good at yet. You don't really know at this point. You should look into things you think you aren't good at -- you might surprise yourself.
I'd look for a good employer. One doing interesting things, with happy employees. Then learn the kinds of things on the job your employer needs. You didn't think you were done learning did you?
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
The person went through 4 or 5 years of school and got a CS degree but doesn't want to program? Ok, fine. But didn't something interest you in that time? Database development? Database design? Networking? Maybe you should stay in school and get a Masters in Business so you can then boss around programmers. :-)
I mean, if Frank Gehry doesn't know how to weld or install a toilet, fuck his buildings, man. Architecture degree my ass.
I hate to break it to you, but most 18-22 year-olds really don't have a clue what they want to do when they grow up.
Basically you're looking at in house IT (installing and maintaining enterprise software applications, working an internal helpdesk, provisioning servers and/or desktop machines, etc.), customer-facing phone or email support (ick), or some sort of sales engineer (SE) position where you're just a salesperson with a technical background and in-depth product knowldge. Or you could teach high school level Computer Science or "Computer Applications" (e.g. "How to use MS Office") courses.
Check out salary.com (or similar) for what each of these would pay in your area.
Well a couple things:
1) I had a reputation for being a computer nerd before college. I actually built my own systems in the FidoNet days (ahhhh. the memories.... $500 56.6K modems.... $30/meg of RAM)
2) I worked in the computer labs.
3) I actually helped out folks, not hiding behind a monitor surfing the web.
4) I wore a tie. Got some funny looks, but it also said I cared about the job.
From word of mouth I got jobs. My most interesting job was to tutor a "slow" older student. The Indian professor referred me to him. When I got to meet him, he had a thick German accent. Turned out he was the retired CEO of a mid-sized company. Not slow in the least. He had no computer skills because he grew up when secretaries handled those base functions and he never learned.
I would tutor him in his mansion. The only reason he had a hard time in the class was because his native language was German, and the Indian prof was hard for ME to understand. I could kick myself for not continuing the relationship after the tutoring was complete, but I was a typical nerd with not enough social sense...
The bottom line: care about what you do, go the extra mile and you will stand out from the crowd. This ain't an IT thing. This is a life thing.
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
I have a computer science degree and I now have a tech support for a fortune 500 company. The comp sci degree relies heavily on programming to teach computer related concepts. Don't think of this degree as a trade certificate, think of it as general computer knowledge. Just about every computer related field will higher people with a computer science degree.
The background that you've learned in CS is valuable in a wide variety of positions. You should look at technical sales (also known as sales engineers), marketing (especially for technical/software products), consulting, product management. Presumably you've gained some good technical skills and how to learn complex materials quickly--all important job attributes. You should be better qualified for many of these positions than liberal arts majors.
However, all of these jobs require good communications skills--the ability to write well and communicate clearly. I hope you didn't skip those courses--the liberal arts candidates often have an advantage in those skills.
Depending on the university you went to, your grades and presentation skills, starting salaries could be in $30 to $40's for most of those positions. Another alternative would be to pursue a professional degree like an MBA or JD.
A non programmer who majored in CS? Why?
Do you like computers and their applications to business? MIS degree
Electrical components? electrical engineering degree
computer hardware? computer engineering degree
maybe you like money? law or medicine
an easy piece of paper? anything liberal arts
No offense, but why the hell did you pick CS if you don't enjoy programming? That's kindof like majoring in psychology when you hate dealing with or analyzing people.
Draw the Venn diagram of All jobs, and All Programming jobs.
Next.
If you do what you always did, you get what you always got.
A lot of consulting firms want people with a technical background, but will not have you doing much actual technical work---primarily you'll be using some familiarity with the field and ability to research it to fill in stuff for powerpoint presentations.
If you're willing to go on for other degrees, having a technical background is quite interesting to, for example, law schools.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
So I eventually got a MS in System's Engineering, because I kept getting hired for systems engineering jobs and I wanted to find out what the heck it was. Basically, it's a lot like a "lite" version of what you learned in software engineering classes. You can fetch pretty decent salaries just sitting around doing project management-type things, such as writing white papers, keeping track of processes, and traveling the world going to various kinds of conferences and training. And lots of talking to people to keep things chill. So if this appeals to you (it doesn't to me, but at least I'm free to occasionally hang out in the trenches with the technology and the people who do the deep interesting work once in a while), this might be your ticket. If you're consistent with solving people's problems by doing things the smart/lazy way as opposed to furiously turning the crank, maybe you'll get bumped up to "Systems Architect" and get into even more abstract drawings of boxes that vaguely resemble UML diagrams.
If you can't do it, teach it.
I don't know where all this talk of CS is not about programming comes from.
Everything I learned in computer science was theory related to the design of computer software. Algorithm analysis, compiler theory, data structures, programming techniques like backtracking and recursion, operating systems, networking, etc.
Just about all of it is of no use unless you actually intend to design/architect/write computer programs, or teach/manage folks who do.
This kind of stuff wouldn't hurt you if you want to be a sysadmin, and it might make you a better one. But in my opinion, it's way overkill since you can probably pick up scripting as you go.
For sysadmin or management you're probably better off getting an BA in business or an MBA with a focus on Information Systems.
In my experience, only about 25% of CS majors actually enjoy the raw problem solving involved in a true CS related career (read - technical coding and design). Working in firmware, most of the folks I work with solve problems that require tight, fast, and efficient code that often requires practical application of theory. However, a lot of the people I work with are dead weight. I don't mean to sound arrogant, but that's the truth. They're CS by training, but they don't get the same tiny little adrenaline rush by fixing some bug or speeding up some algorithm by a significant percentage. Those folks would rather be in management roll (which often requires technical knowledge and 'people skills') or in a higher level design roll, which often requires quite a bit of the in-the-trenches experience. My advice to you? After reading your short paragraph, you sound like someone who should also have a degree in management. Combine a CS degree with an MS degree and you could lead teams using both the higher level technical skills you learned as a CS major (some love of the maths must have driven you in to this field, right??) and using the MS degree you could take a broader management approach and pull the two together and have a really promising career that doesn't involve a lot or programming. Me personally? Give me a problem and a hardware set, and if I can't write a proof that the problem can't be efficiently solved on said hardware, then I'll deliver a solution that works. CS to the core. W00T! Good luck, anonymous reader, because by asking the question you have you've probably already advanced your potential more than most who find themselves in your shoes and refuse to admit that they may have not chosen wisely according to their own personal desires.
"False hope is why we'll never run out of natural resources!" - Lewis Black
What does it mean if you're both? I am, working at a small to medium sized company, I do the network admin but also write apps for different in-house departments and maintain another app that our clients use.
I enjoy coding more than any other part of my job, and I used to code just for fun before (from about when I was 12-13 up until I did my CS degree), but I'd say the sysadmin stuff involves a lot more pressure because you are in charge of making sure that everything is running smoothly, and it's your ass on the line if the VPN/email/whatever goes down. A smart sysadmin will identify areas that can be improved and act upon them. I have a few things I'd like to improve but I often don't make time for them, or I just don't want to break what we already have in place. Mostly because our network is used by our US office as well as our UK office, so I can't really do any serious maintenance until midnight if I don't want to disrupt everyone :/ I wish they'd sort out their filing so that the different offices didn't need to use the same set of files..
which is totally what she said