Slashdot Mirror


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?"

39 of 936 comments (clear)

  1. What do you WANT to do? by BradleyAndersen · · Score: 4, Insightful

    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 ...

  2. Lawyer by lymond01 · · Score: 4, Insightful

    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. :-)

  3. Re:Accenture... by Anonymous Coward · · Score: 5, Insightful

    Why is this modded "funny"? It's insightful as hell.

  4. Re:Accenture... by Anonymous Coward · · Score: 5, Insightful

    As a former Accenture employee I can tell you that this is 100% true, but a few years at Accenture right out of college sure looks good on your resume.

  5. You Won't Get Very Far by ibmjones · · Score: 5, Insightful

    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

  6. Re:Program Manager by Altus · · Score: 3, Insightful


    better than letting them code.

    --

    "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

  7. Re:Entry level QA by RazorBlade99 · · Score: 5, Insightful

    Just wish people quit pushing the ones that can't hack in CS to QA. I work for a software company as a developer, but so wish the QA people aren't just CS rejects. They need to be good at what they do and good QA people are hard to find. There can be a lot of scripting and programming in QA in the right environment and not just script monkeys that runs what they are told. QA really is a calling.

  8. Re:Tech Support? by MooseMuffin · · Score: 4, Insightful

    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.

  9. THANK YOU! by clintp · · Score: 4, Insightful

    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.
  10. most computer jobs have no programming by doug · · Score: 3, Insightful

    Although programming is the visible face of computers, most jobs using them have little/no programming requirements.

    • test - some testers automate tests, some just run 'em
    • project manager - keep track dates, but you have to understand the geeks
    • build/CM - some roles require perl/Makefile, others don't support - there is a whole lot of user hand holding that needs to happen
    • documentation - good tech writers are as valuable as developers
    • technical sales - can you hide a product's warts long enough to sell it?
    • administrators - both the classic IT role, and as a system upgrade specialist
    • teaching - there seem to be more ads than ever for computer classes

    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.

  11. Re:Waiter at Denny's by gunnk · · Score: 5, Insightful

    Actually, you have a point.

    The person asking the question tells us about skills he lacks more than skills he has. Makes it awfully hard to make a useful suggestion.

    The little offered is that he's done some tech support. If that's your strong suite, then the answer for a newly-minted college grad from Comp Sci is...

    tech support.

    Then again, if you don't really like that work you should just go find something completely different to do. A solid technical degree has appeal to employers even when it has nothing to do with the job.

    Hmmm... if you're just starting out then go find a job (any job!) related to what you really want to do. Worry less about the money or benefits. Fresh out of college you just want a foot in the door of the career you really want even if there are long hours and little pay. After three years in the workforce potential employers care EVERYTHING about your experience and NOTHING about your degree.

    --
    Life is short: void the warranty.
  12. Re:Accenture... by erik+umenhofer · · Score: 4, Insightful

    Accenture is a good place to start out of college, they baby you, but it can teach you how to work in the corp world. Although, I know of people who are complete failures in life/work that have been there for years and years and can't get fired for some reason. It's the place to be if you want to learn how this world works these days with off shoring, project management at an enterprise level, etc.

    Accenture's projects range from $10-$1000 Million, yeah that's billion. So you have a chance to work on some huge projects.

    The other good part is, if you are bored, you can bounce around to do other things.

  13. Re:Program Manager by bestinshow · · Score: 4, Insightful

    It's a Computer Science degree, not a "Programming degree". You are aware that Programming is but a small part of Computer Science, at least in any decent university?

  14. Re:Geek Squad by Anonymous Coward · · Score: 5, Insightful

    Funny, but pretty accurate.

    A CS major who can't (and doesn't like to) program? I don't want him pretending to be a programmer. I don't want him blindly leading a group of programmers. There's not much left aside from IT and help-desk jobs.

  15. Re:Accenture... by erik+umenhofer · · Score: 3, Insightful

    It's reputation and consistency. Accenture has decades of clout due to it's AA roots. They can walk into almost any industry, walk up to a business, tell the CEO: yeah we're done that. Not only have we done that, but we all these documents to follow to ensure it works.

    I think that's why a lot of consulting firms can't make it to the big's. They don't have the decades of experience to throw around.

    CEO's care about the delivery, and not many other firms have the track record that Accenture has. Same goes for the other big 4 consulting firms.

  16. Re:How about by kestasjk · · Score: 4, Insightful

    Without knowing how to program?? You need to know the code better than the guy who wrote it, by definition, to recognize holes in the code.

    --
    // MD_Update(&m,buf,j);
  17. Re:There are lots of possibilities by Jerry+Coffin · · Score: 5, Insightful

    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.

    Computer science has to do with research into computing, algorithms, etc. Programming, for the most part, is related to software engineering (though some programming also involves computer science). Most of the other jobs you mentioned have nothing to do with either one though.

    The simple fact that a job is involved, to some degree or other, with computers, does not mean it has anything to do with computer science. In fact, more often than not, computer science is done with a pencil and paper. Software engineering is typically done with a computer, but primarily to run a text editor or (possibly) something like a UML editor.

    Let me give one small example: from a viewpoint of computer science, graphics cards really only come in two varieties: those that you can program, and those that you can ignore. From a viewpoint of software engineering, there's more difference between cards, but it's expressed primarily in terms of the shader model the card implements. If you care much about things like how fast of RAM it has, chances are that neither computer science nor software engineering has much to do with that interest (which isn't to say that a computer scientist can't also enjoy playing a game now and again -- just that he knows the difference between the two).

    The OP should really sit back and think about what he wants to do. The simple fact that he hasn't done much, or been taught much about, programming shouldn't be a major handicap if he honestly has a desire and aptitude for doing so.

    It's a bit belated, of course, but if he doesn't want to program, he should sit back and think about 1) what he's good at, and 2) what he enjoys. He should then try to come up with jobs that are at least somewhere close to the intersection between the two.

    Until or unless he does that, he's pretty much setting himself up for misery, failure, or most likely both. Most people have a hard time enjoying being bad at something for very long, and most people have a hard time caring enough to do things well if they don't enjoy it to at least some degree.

    --
    The universe is a figment of its own imagination.
  18. Re:Program Manager by metlin · · Score: 5, Insightful

    Indeed.

    I'd imagine that a CS degree teaches you algorithms, theoretical CS (e.g. complexity, graph theory etc.), graphics (once again, algorithms, physics, etc.) and assorted things. Even networking would be more about routing algorithms and packet handling etc.

    All the "hands on" parts of CS usually fall under other categories -- for example, networking hands on is more ECE, systems engineering could fall under industrial/electrical/electronics & communication/computer engineering, but not necessarily computer science.

    An ideal CS degree would be very close to a very applied math degree, because of the similarities between the two subjects. You can teach someone who's strong with fundamentals a programming language quite easily (even a monkey can program); however teaching someone critical thinking skills, good design skills and designing appropriate algorithms and the like is very, very hard.

    IMHO, that is what a CS degree should do. A little programming is fine, but I'd be loath to respect any CS degree that focussed on programming. Anyone can be a programmer - hell, even physicists program. A computer scientist is not the same thing as a programmer, and that's the way it should be.

  19. Re:please, don't try sysadmin by pyxl · · Score: 4, Insightful

    In my experience, programmers tend to not be paranoid or methodical enough for sysadmin work. They also get frustrated too fast when faced with weird problems involving software they have no experience with or view into. (It helps a bit to point out to them that debuggers/tracers are not just for finding bugs, and they can be used on other people's software too, including closed-source vendor software).

    I've seen a LOT of "we'll just try this out", with no voice in the back of their mind screaming at them "THAT IS A PRODUCTION SYSTEM YOU FLAMING IDIOT DO YOU EVEN HAVE THE CODE AND DATA BACKED UP YET OMFG!!!!" to help them pause and reconsider exactly how bad the situation can become if "just try this out" doesn't actually work. This seems to come from being used to just working in development environments that they can break and/or restructure all they want with essentially no impact to other people, or their (own personal) income/employment status.

    Finally, they seem to be used to working on a single codebase at a time, with an essentially static operating platform - they don't generally have a visceral sense of multisystem interactions, or multisystems management issues, patching, platform versioning problems, and so on, because they tend to just not deal with those types of issues daily.

    There's more, but that's generally the highlights of what I've personally seen. The most important part is that they tend to lack a seriously well-developed (and experienced...sigh...) sense of paranoia. Fear of horrendous production outages combined with a healthy skepticism of software's actual ability to function correctly until proven to do so (including patches...*sigh*) is, in my experience, the bedrock that a really good sysadmin stands on.

    --


    Given enough hydrogen, just about anything is possible.
  20. Re:Program Manager by SatanicPuppy · · Score: 4, Insightful

    I wouldn't call it a "small" part, not at the BS level.

    You're going to be taking a class about about computer architecture, have a class on databases, a couple of classes on algorhythms and complexity, and about ten classes that involve a ton of programming...Even my advanced networking class had a full 5 programming assignments; build a proxy server, build a chat server, build a web spider, etc. The rest of it is physics and calculus.

    Saying that CS is more than programming is true. Saying that it is mostly not programming is untrue.

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
  21. Re:Geek Squad by ePhil_One · · Score: 5, Insightful

    There's not much left aside from IT and help-desk jobs.

    And what is wrong w/ IT and Hemp Desk type jobs? Ok, personally, I avoid Help desk work, but I consciously chose IT over programming because I didn't want to work in a cube interacting w/ a computer all day any more than I wanted to be an actuary working in a cube interacting w/ a computer all day (Double major, Math & Comp Sci). And since he's already held jobs in tech support, it should be easy to get hired.

    Of course, I leverage my programming skills a LOT writing scripts, etc. and could probably out program a lot of the developers I work with, but thats not a strict job requirement. Figure out what you are good at, and what you enjoy doing, then go after that job. Nothing wrong w/ a CS major selling insurance.

    --
    You are in a maze of twisted little posts, all alike.
  22. Re:Geek Squad by pnutjam · · Score: 3, Insightful

    HELL YEAH.

    Sysadmin's and network admin's in the house!

    seriously, I have always concentrated on networking, which ends up requiring system admin and hardware troubleshooting. Steer towards companies who use IT and don't sell IT.

  23. Re:Program Manager by Timothy+Brownawell · · Score: 4, Insightful

    Yeah, because all we *really* need is a CS guy who can't program running our software engineering projects.

    They'll have a better understanding of what's going on than a MBA person, and you won't be pulling a good programmer away from programming. What's not to like?

  24. Re:Entry level QA by gosand · · Score: 3, Insightful

    Just wish people quit pushing the ones that can't hack in CS to QA. I work for a software company as a developer, but so wish the QA people aren't just CS rejects. They need to be good at what they do and good QA people are hard to find. There can be a lot of scripting and programming in QA in the right environment and not just script monkeys that runs what they are told. QA really is a calling.

    That's exactly why I chose it in 1995. I graduated in '93 with a CS degree... went to work at Motorola... entry level build engineer/release management. Maintained shell scripts, did software builds, etc. After a year was given the choice of paths - join the dev team or join the test team. I chose the test team, it's just what I'm better at. And I've met as many bad programmers as I have bad testers over the years.

    And for the record people, QA is not testing - that's QC. Yeah, I know everyone calls it QA, but it's not correct. And even worse, you don't "QA something"... ugh. I've done my share of testing, test planning, requirements analysis, inspections, etc. I've now gotten into test management, and don't regret my initial choice. Programmers can make more, especially if they're good at a language in demand. But I can test anything. (system level testing, not looking at code and writing unit tests) I don't need to know the latest HOT language to be able to test things. I feel it's more flexible and I can get into other areas of software development if I choose to (I have dabbled in project management over the years)

    It's a big big software development world out there, don't pigeon-hole CS people as programmers. Learn that there is a LOT more to software development than just programming. You WANT your testers, managers, and requirements people to have CS degrees. IMO, everyone needs to be more versed in the entire SDLC, it makes for a more well-rounded team.

    --

    My beliefs do not require that you agree with them.

  25. Re:Geek Squad by Noodlenose · · Score: 4, Insightful

    Invest some more time and effort, get a postgraduate degree (maybe even a MBA if you're not the world's brightest) and you will be able to get a proper job.

  26. Re:Program Manager by Lemmy+Caution · · Score: 3, Insightful

    The belief that you have to have the skills of the people you manage is a misguided one. It is enough to simply understand those skills.

    I assure you, the CEO of The Gap does not know how to sew blue jeans. He probably doesn't even know how to do the CFO's job.

  27. Re:There are lots of possibilities by johnm1019 · · Score: 3, Insightful

    I cannot stand people saying that I, or another person, need to "think about what he/she wants to do." How the heck am I supposed to know the answer to that question, if I have never done anything other than high school type jobs? I think that certain people are clearly driven to do one or two things and they think that just because it was obvious for them, it _must_ be obvious for the rest of us. This is simply not the case. Furthermore, 9 times out of 10, what you think a job is all about is not very close to what it actually is about -- so even if you can answer the question, getting a job in said field is usually substantially off the mark of what you _like_ doing.

  28. Re:Geek Squad by Chode2235 · · Score: 5, Insightful

    Are you crazy. There are a ton of opportunities for people with technical aptitude, and the abstraction and logical problem solving ability a CS program teaches you.

    I am now in Customer Relationship Management marketing, where we do database marketing, customer behavior modeling, segmentation etc.

    We desperately need people who know there way around large data warehouses, can hack some basic SQL and code, and can figure out how to get the data that is locked up by IT into a format that we can use to drive meaningful customer experiences.

    I imagine there are plenty of other professions where the ability to manipulate data, and drive business objectives based on it, is a highly demanded skill and can be highly rewarded financially.

    CS != programming. In fact I would discourage any CS students from going into IT. IT is dead, its just the 21st century equivalent of paper pushing. Most IT shops are big bloated bureaucracies. They totally kill creativity. Go into the buisness side and actually have an impact and some influence.

  29. Re:Lots of opportunities... by klubar · · Score: 3, Insightful

    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.

  30. Re:Program Manager by Nutria · · Score: 4, Insightful

    IMHO, that is what a CS degree should do. A little programming is fine, but I'd be loath to respect any CS degree that focussed on programming.

    What elitist crap.

    The small state school I got my CompSci degree from made us write a set of programs to demonstrate every algorithm they taught us. And that "programming degree has served me and my family very well over the years.

    --
    "I don't know, therefore Aliens" Wafflebox1
  31. Re:Geek Squad by afidel · · Score: 4, Insightful

    Without IT you wouldn't be doing a lot of data manipulating or useful work because your stuff would be broken. A sysadmin is the plumber of the 21st century, a skilled craft that is under appreciated but none the less invaluable. The difference is most medium sized businesses on up need one or more full time sysadmins whereas they generally don't need a full time plumber unless they are making some liquid product.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  32. Why? by silentrob · · Score: 3, Insightful

    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.

  33. Re:Geek Squad by centuren · · Score: 5, Insightful

    We are all operating in areas that are subsets of CS. As a network admin I get to use a lot of cool technologies and watch them come together to do what I need. You use your CS knowledge a lot in an abstract sense.

    I lol'd @ this description of subsets of CS. Programmers, skilled in computer science, wrote a bunch of cool technologies that come together to do what people need, and you as a network admin get to watch (apt-get install cool-technology).

    I've always loved server/network administration and security (more so than programming), but I don't really buy your romanticism of it. All the useful tools in the admin arsenal have been created by very talented programmers and engineers.

    Admins have a lot of hard work to do like anyone else, but really, there's no pretending it's on the same level as the work that was put out to create all those admin tools (including the operating system itself).

    Of course, that's not the bulk of programming jobs; there is plenty of demand for programmers who will never get to do anything particularly interesting for their company.

  34. Re:Program Manager by Raenex · · Score: 3, Insightful

    A good design should be independent of implementation constraints.

    It's a guiding principle, but nowhere near attainable in the real world. Are you going to design the same with 1960 hardware as with 2000?

    If an architect finds that his developers cannot do something, or if his tools cannot accomplish something, he should be be looking at finding new developers and new tools.

    I wouldn't trust an architect that doesn't get his hands dirty as far as I could throw him. If developers and tools are having trouble with an architect's design, there's a good chance that there's something wrong with the design. If an architect can't demonstrate his design ideas in practice, he needs to go.

    I'd go further to say that having the reality check is a bad thing - and is one of the culprits of poor design, and poor practices.

    And in the real world, people build prototypes and learn as they go along. You can't anticipate everything. Feedback is essential. Your ideas are outdated, unpracticed, and naively idealistic.

  35. Re:Program Manager by Prof.Phreak · · Score: 3, Insightful

    What's not to like?

    Folks who are bad at programming generally don't understand basic concepts (after all, programming isn't difficult for anyone who understands what's going). You're right about them being more well rounded in CS domain than MBA though.

    --

    "If anything can go wrong, it will." - Murphy

  36. Re:Geek Squad by xappax · · Score: 4, Insightful

    All the useful tools in the programmer arsenal have been created by very talented lower-level programmers.

    And all the useful tools in /their/ arsenal have been created by very talented electrical engineers.

    And all the useful tools in /their/ arsenal have been created by very talented physicists.

    So I mean, you can go down that road if you want, but it doesn't end with programmers looking smart.

  37. Re:Geek Squad by vidarh · · Score: 5, Insightful
    Having been on both sides of the fence (28 years since I started programming, still actively doing it, 12 years of assorted development and operations work and managing both engineering and ops teams):

    Your attitude is very common with programmers - I'm surprised to hear it from someone saying they love server/network admin etc. more -, and it's one of the reasons why programmers usually make exceedingly bad network admins / sysadmins / operations engineers.

    Far too many programmers tends to think they do all the cool stuff, and everyone else are just useless fluff (witness the flood of "wow, Google sounds like heaven since the project managers don't get much say" posts to an earlier article), and that lack of understanding means that a lot of programmers have no clue what (often trivial things) they can do to make life simpler for everyone else, and show scarily little appreciation for the amount of work people around them do to work around the problems caused by primadonna programmers that deliver poorly documented, badly written pieces of shit and refuse to acknowledge there are problems with their code.

    I write this as someone who much prefers programming - I love it - but who very often ends up picking up the pieces, because I actually also care about operational issues, cost issues, usability issues etc. which programmers seems to like to pretend doesn't exist.

  38. One option by mikeq · · Score: 4, Insightful

    If you can't do it, teach it.

  39. Re:Geek Squad by ILongForDarkness · · Score: 3, Insightful
    Yeah, and also there are a lot of programmers that don't have a clue how a computer works. Admittedly I might have a weird prospective because I got a degree in physics with a specialization in condensed matter along with digital electronics and programming courses. However, I run into a lot of top notch (and I mean at the independent well respected consultant, guy that gets flown to conferences to speak because he is the world expert in the field level guys) that can't figure out if their computer isn't working because of the PSU or HDD failure.

    There is more to computers than being able to program them, and I've met a bunch of programmers that don't have a deep understanding how logic gates and such work, can't get around concepts such as cashe locality etc. They are great Phython, Java etc programmers and just trust the language/API's to do things well for them. Anyways that is my rant, I hope that some day the free market will learn that an IT guy can be of equal worth to a company as development staff. Currently where I live a starting IT guy makes about 50k and a starting developer 90k or so, and that is no where near being fair. For the most part a developer can start being productive in a couple weeks where as in a complicated environment an IT guy can take 6 months before they can do things by themselves. However, the salary's don't even out over time even though the IT guy needs more "training" (and thus is of greater value added :)) than the developer.