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
You can become a chef at the double arches. I hear they make $6 to $9 per hour and the work requires 0 programming.
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.
Mouth breathing PHB's will throw gobs of money at you because you have both a technical and a business degree.
Have you considered management? ;) Sorry, I couldn't resist.
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 ...
McDonald's is always hiring and Washington has the highest minimum wage at $8.07/hr
Yes, anonymous was probably the right way to go with that submission on this site ;)
But I'm afraid it's MickyD's for you my friend.
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.
If you like doing tech support, why not start your own business as a at-home tech support. Like the Geek Squad, but without having to answer to anyone but yourself?
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.
If you're into troubleshooting, I'd say system/network administration. Setting up routers, RAID, virtualization, etc.
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!
You could pursue being a sysadmin. There is a little bit of shell-scripting involved but *typically* little coding of software.
Another possibility is to go into system securtity and hardening. There is a market for people who know how to lock down systems and keep out the riff-raff.
Still another is to find a job as a white hat. We have a few of them where I work, and their job it to try to violate the network and tell the systems folks how they broke through (and how to fix it).
There *are* non-coding jobs that pay. For an entry level position, it will depend on where you are and who hires you as well as sector of the market.
Be excellent to each other. And... PARTY ON, DUDES!
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.
Though it does take experience, most sys admins do not need to code. Learning a scripting language helps, but it isn't a requirement.
Unix is still a hot market and some companies will train you to learn about their environment.
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. :-)
Please let me know what school you went to so I can make sure my kids DO NOT go there. If they gave you a CS degree and you're not very good at programming and don't want to program, then they're doing it wrong.
I would think a CS degree could be quite useful in an SQA position. Understanding how software is built is very helpful when trying to figure out test strategies. Plus, there is oftentimes a need for scripting for automated testing, so the ability to code is also highly valued. Depending on how much of your coursework was devoted to testing philosophies, techniques and tools, you might consider taking a course or two to come up to speed on this branch of computer science. Another advantage of this path is there is a clear growth path from tester, to test-writer, to test plan writer to SQA group manager.
The more you regulate a company, the worse its products become.
Manage. Program manager/Project Manager. Although, you sounds like you are ripe for an MBA. Go back to school, work on your MBA and "find yourself". Good Luck-
Why exactly did you major in CS if you don't like programming? Isn't that the point? And, how exactly did you finish your major without much programming skills?
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
Have you considered a position in Quality Assurance? I started my career there and someone with the knowledge to test the boundary conditions and intelligently describe a bug as well as the steps needed to reproduce it is very valuable. Unless you are doing test automation there is little to no programming involved. The bad side is the salary is not that great and the job can be tedious.
Well, you could take the specification from the customer, to the programmers.
If you've got people skill that is.
If you wanted to be a programmer you should have went to a school for programming. Computer science (or computing science) is the study and the science of the theoretical foundations of information and computation and their implementation and application in computer systems. (wiki) You solve the computing problem and let a programmer program it for you. You don't get a business degree to work as an employee or do you.
Federal government is an excellent way to go, particularly if you are elligible for a security clearance, and able to take the time needed to get one. I'm a code monkey myself, but many of my friends went into Department of Defense fresh out of a CS undergrad and the most coding they seem to do is the occasional bit of scripting to make their true task easier.
(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???
I know a lot of companies have customer support jobs who primarily take customer issues and store them as bugs. I dont think there is much programming required there.
You can get a job doing testing work. Your job will consist mainly of running through a bunch of tests every 2 weeks to a month to check if there are any bugs with the latest build. However there are many testing jobs that require programming, testing code, automation, etc. You should be able to find a job though you can get away with no coding. I have some coworkers who never programmed anything here and are in testing, but I have some that's 1/2 of what they do. You can make anywhere from 40-60k starting plus benefits doing testing. If you get good you can manage the team or a project in the future and make anywhere from 80-100k. Testing isn't for everyone though and there are a TON of different kinds of testing in the field.
You can be a programmer, make the bucks and do nothing for 30..40..50..65 years and retire. All without producing anything...
If you did good in english, you could write documentation.
Many Educational Technology positions like a BS/BA, and don't require programming. Look for things like "instructional designer" and such...
Don't blame me, I voted for Kodos
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.
Look for analyst positions in financial or market research departments. It is usually work that requires the developments of large models and a lot of data handling. The amount of programming that comes with it is moderate and you'll usually get ace reviews as you're the "wizard" who's able to handle data nobody else can since they don't have the skills to write scripts to process it.
Since you admit you have done some tech support, why not find a nice position with a tech/IT outsource company such as UniSys?
You will start by doing things familliar to you, installing windows, running cable, removing spyware, etc.
Going through the ranks you might cross train with the web folks doing some simple html or php/ruby programming.
Another option is software testing. This is where most companies place the 'fresh faced' graduates. It requires little programming knowledge, and give you a chance to interface with experienced programmers.
Don't expect to be paid much more than an entry level position in either jobs, but when you have little drive or experience, expect to start at the bottom of the ladder and work your way up, major university or not.
I don't know about that, but where I studied at Cal, you couldn't even be admitted or yet pass the first problem set if you couldn't program. I remember seeing people stading up and yelling "fuq this" and dropping out. Are you sure it wasn't some mail order degree or maybe an IT or CIS degree?
Did you get the degree of B.S. in Computer science, or did you get a "B.S. degree" in Computer science? I think the former one will have a lot more benefit long-term. I have a fine art degree and I'm a senior systems engineer, so I guess you could go be an artist and we'd cancel each other out.
stuff |
Need to understand business processes and how it technically would fall altogether, you provide/manage the holistic view of the enterprise systems as opposed to detailed system by system knowledge.
Load New Commander (Y/N)?
First off, my compliments - that post on this site must of taken guts and flame proof underpants.
Secondly a job is dictated by two things - qualifications and experience. You have no experience having just graduated and your qualifications are not specifically in the vocation that you want. So I fear you might need to spend some time getting relevant experience. It can be done, I did it the other way around - moved into embedded firmware from construction then later on got my qualifications in software. But my first few jobs were lowing paying bottom of the barrel for a year to get experience to open the door to better jobs.
I mean it really depends on what experience you have and what you enjoy. You could always working with networking at a company, but knowledge of Linux and Cisco would probably be needed. It really depends on your real world experience and what you enjoy and what you want to do. If the only reason you are in Comp Sci is because it pays well, I think you chose the wrong career. Don't get me wrong I think coding can be boring depending on what language it is being written in and what I am writing, but not liking any coding all together sounds like you picked your major for the money and not for something you like.
Just because you are wrong and I called you out on it doesn't mean I am a Troll.
If you're only unskilled in programming but still enjoy doing it, you can still easily enough get a job doing it that will pay well. This is kind of unfortunate of the industry, but if you get a job at a place with an established code base and some good team leads, you will pick up nearly everything you need to know for the job pretty quickly.
If you actually don't like programming, maybe go back to school? Get your Masters and just do a ton of theoretical research. But it also sounds like you're ready for the workforce so I suppose I would recommend testing/QA. If you get hired by a large enough company you can move around within the company as you grow more comfortable with their systems, standards, etc. and so if you get the hankering to program, you can also do that.
Reviewing just the first hour of video games.
And not the right kind of lazy, either.
Just google "hottest IT jobs".
The fact that you need to be "held by the hand" and can't solve a simple problem without guidance does not bode well.
putting the 'B' in LGBTQ+
QA is what I did. I was a CS major and while I have a moderate interest in programming, I couldn't do anything productive in the real world--it's mostly there as a fun sort of hobby that I play with every so often, but nothing that would put bread on the table.
I worked tech support for some years, and that seems to be a prerequisite for everyone I've ever met with a cool tech job. I worked at my college's help desk for a few years doing...just about everything. When I left that job and posted my resume on Monster, headhunters picked up on one of the aspects of my tech experience and gave me a ring. So while I technically work for them instead of the corporation where I work, it's a pretty awesome gig and I hope they're forgiving if their logs show me posting on Slashdot. >_>
They can always use people who can't code :)
In larger companies, you can play a role of working as a liaison among the business users, IT folks, and development teams.
This requires solid communication skills and an understanding of the business needs you are modeling, but also the technical understanding to ensure that the resulting IT solutions are solid and elegant.
Project management is also an option--software projects need people who understand that building software is not like building a bridge.
Take an IT job and brush up on your shell scripting or Batch/VBscript skills. You can make just as much running an IT department as you could as a senior programmer somewhere.
You could also look into grad school for HCI or IT management--you may never have to look at code again.
Colin Dean Go a year without DRM
IT, Systems Integration, Software Engineering, Systems Engineering..
I got a BS degree in Electrical Engineering a couple years ago and started out as a "Hardware Engineer" (by title only, didn't do any E.E., more like Systems Integration Analyst.. basically I picked which computer/network/etc hardware to buy, and made sure whatever it was would work. Rarely ever touched the hardware, except in the lab for reproducing/troubleshooting issues that the first line of defense could not figure out).. last few months I spent as a "Software Engineer," writing some code.
I think a technical BS degree these days is really just a license to work in a technology-related job, and that if you have the desire/motivation, you can really do anything you want right now (except R&D, unless you have a higher degree or are the cream of the crop of B.S.-having candidates).
New webcomic updated on Sundays: HERE
it is a golden rule of any corporation that the boss knows less than the people who work for him. however, you need to lose the honesty and humility and you demonstrate: you come out and flatly say you aren't a good programmer
no: you don't get to flat out say you know less about programming anymore. if you wish to make it in middle management and make 2x the salary of what the programmers under you make, then you have to actually know less than them yet somehow believe you know more than them
so lose your integrity, and you will make more money than the guys who got As in the classes you got Cs in, and they will work for you
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
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
Those who can't do- Manage.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Database Administration. Good money. Lots of positions. Just hope you like Oracle....
Most people who are in your position don't have the self awareness to realize that they are not good programmers. Isn't that part of the reason that the profession is in the state it is? Or maybe the glaring problem is you graduated with a degree in CS without being able to program decently? The system fails once again...
If you aren't good at the programming but still like computers try QA(testing), management, systems admin, networking, help desk/support, what everyone else said.
One that I don't think has been suggested:
You could be an Interaction Designer - I just graduated with a CS-related degree (granted, it incorporated some visual design and communications as well) and I have a job that pays quite well doing Interaction Design for a web firm. Haven't written a line of code yet, and hoping to keep it that way. :)
-a
If you'd rather take essay tests than multiple-guess, then you might be a technical writer. People who can write clearly and understand technology at the same time are rare. Pay is maybe 80% of developer, but stress is 10%, so to me it's a big, big win
People are going to have a lot of responses that are focused solely on jobs in the IT world.
I suggest you skip IT entirely. There are 3 things every IT person needs to know something about: server administration, programming and databases. If one of these doesn't appeal to you at all (and you are honest with yourself and know this for a fact), then you are setting yourself up for a natural limit in how far you can go.
Possession of a college degree itself is proof you are capable of something for most employers. There is nothing about your choice of academic major that locks you into a career path. I studied English and Philosophy, was a programmer for about 10 years, and now own a political technology company.
Look into marketing or business management jobs, you do not necessarily need more than a college degree to get started there. Some of the most successful managers I ever had never went to college, or studied something unrelated to what they were doing at that time.
If you look at it like you would be throwing out your degree, consider banking jobs. You will be working with a bunch of systems and your background in CS will serve you well.
Try not to get too stressed out about it. Your future is going to happen no matter what you do, and all you are trying to do is find something you are going to be happy doing for a long time to come.
M
I worked quite happily as a process engineer for a while before doing any classic coding (c,c++). There are also plenty of CSs doing systems engineering and scientific work, algorithm analysis etc......
Anyway CS does not = programming! As a BSCS you should know this already.
Got good qualifications, but lack any real ability ?
Work for the government.
If you are particuarly untalented, you should be able to get a job allocating funding to projects that least deserve it.
Aren't these the questions you should have been asking 4 years ago?
you could always get you doctorate and teach programming.
computer science is a misnomer, really. I've heard that a more accurate name would be Information Science. Calling it computer science is like calling geometry, rulerography - naming the field after the tool is a problem.
In that sense, programming might be considered the application of information science - truly the engineering side
As with the sciences, you are either garnering new data (research), promulgating that knowledge (teaching/instructing) or you are creating technologies with the acquired knowledge (engineering).
If you don't want to program or be involved in programming (management or otherwise) then you are going to have to work in a teaching or research field. ...Unless you want to do sales and marketing - I do hear those folks have the nicest ark of all.
Read my Very Short "Stories"
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?
Well if you want to keep doing troubleshooting work, the obvious answer would to be to get some kind of helpdesk position. The good news there is that they can't really outsource that very well, so if you live someplace with lots of businesses, someone will need good helpdesk personnel.
The not-so-great news is that you probably could have done that without your degree. Lots of people hiring for helpdesk will put more stress on experience than education/certification, and rightly so. It's not rocket science, but it's important that you know the pitfalls of that sort of work.
The bad news is the pay is generally crappy, and half your job will be non-technical customer support skills. In other words, people will treat you like crap and part of your job will be to take it with a smile. This isn't unusual for jobs, though, when you're just starting out.
Back to the good news, though-- it's not necessarily a dead-end job. It can be, but I know people (myself included) who started out as a peon helpdesk tech and worked up to the executive level. If you pay attention to the business needs of your company, and apply your troubleshooting skills there (and not just in technical matters), you can make yourself pretty valuable.
On the other hand, you could just take what you know and go into something completely unrelated. You don't *have to* work in a field related to your major. Either way, keep in mind that when you're starting off, your first job probably won't be glamourous. That's ok. Take what opportunities you have available to you, make the best of them, and maybe they'll lead somewhere.
Try these:
- Software production&design (Using Rational Rose instead of emacs work for you...leave the coding part for monkeys) ...
- Networks & Protocols (TCL gets you far here for running eg. simulators)
- Digital signal processing (all you need is Matlab)
- Usability research&development
- Standardization
-
Granted, most of this requires some "programming", but that counts, at tops, some shell scripting and really basic stuff.
I was in much the same situation when I graduated with a CS degree two years ago. I was good at writing code but I absolutely hated it. I ended up taking a network engineer job working on one of the biggest enterprise networks in the world. My salary started out as good or better than my programmer friends and will only go up from there.
Quality Assurance people with programming skills are often in demand.
The great thing about a CS degree is that it's not really a programming degree... if you look at it a bit differently.
A CS degree is a degree in applied mathmatics... especially in the areas where there are large amounts of data or repetitive math.
A good CS can get almost any position a mathmatician can get, can work anywhere that data is collected and studied, and can even do things that many engineers do these days.
If I were you I would first decide where your interests lie... then look for a function in that field that requires the analytical and logical mind of a CS major. For example I have known CS majors that made excellent QA engineers in the automotive sector, CS majors that worked in pubic works as traffic planners, CS majors who worked for major polling/statical analysis organizations, I even knew a CS major that consulted as a financial data analyst... he didn't know finance but he did know how to manipulate data on a spreadsheet to find abnormal activity or trends.
Remember, most people don't work in the field in which they obtained their degree... but they usually bring something unique to their position because of what they learned in school. Sure you can't write a decent program, but your gonna be far better at learning to use skills that require the logical processes used in programming than a acountant for example.
Think outside the box!
Good luck!
Sometimes the best solution is to stop wasting time looking for an easy solution.
I was a programmer for a few years and it turns out I'm not particularly good at it. I was able to turn it into a design/management position that pays quite well.
Every job posting I look at in the IT field usually says a 4 year degree in MIS or CS or ENG, doesn't care which. Only programing jobs usually specify, and then real world exp. plays more than a four year info regurgitation certificate does.
An I.T. motto in the hands of an idiot is a dangerous thing...
I recommend prostitution. You have a degree so you're a shoe-in for a pimp position, but the fact that it is in CS means you may have to start as a ho and work your way up.
Over the years I've discovered that the absolute best programmers tend to be the ones without a CS degree. People who are motivated to learn to code on their own tend to be highly motivated and skilled coders who can pick up new things quickly. A degree seems to introduce more of an ivory tower approach to problem solving vs. a real-world approach. In a best-case scenario I love finding self-taught programmers who went on to get a degree. That combination of self-motivation and training is hard to beat.
I'm not the worlds greatest programmer but so far I made a living for the past 30+ years doing exactly that( Graduated in 1975)
I am also a DBA( DB2, Oracle), SysAdmin(Windows, Linux, Unix) and overall jack of all trades in the IT world.
This helps in the sort of work I do now. Systems Integration.
The fact that I know I'm not the worlds best coder, makes any software I write actually work because I test it properly
Some so called 'flashy coders' I have come across over the years actually write code that is a nightmare to maintain.
I'm also not afraid to learn new skills even in my mid 50's.
I know this is /. and many here will shot me down in flames but I'm really saying, don't close any doors too soon. They may be difficult to open again in the future.
I'd rather be riding my '63 Triumph T120.
InfoSec positions may require writing small scripts for proof of concept/testing purposes, but in general you'll be more tapping into strong networking/data management/systems engineering areas. Sadly, most universities still don't instill much security prowess into their CS graduates, so you'll have a lot to learn before you can really get deep in that kind of work. You'd probably start out running and analyzing security scans and work your way up.
Stay away from code auditing; only the most hardcore and fastidious code lovers truly enjoy (and do a good job at) it.
This is coming from someone who graduated with an electrical engineering degree but never wanted to do any really hard technical stuff:
Financial route:
- financial engineering ("quants") - here you basically come up for trading models across various markets (forex, stocks, etc). Most of these guys get a masters, start out as a programmer then work their way up. Huge huge money here.
- Actuary - a lot of people recommended this as a great job for a math-oriented type person. Basically you handle a lot of statistics and light math and determine risk for companies. If you continue to take the exams you can make $200k+ easy.
- Web marketing - I do this and love it. You can build web sites with very light scripting (php/mysql). It hardly feels like programming, espcially when you focus on the business aspects of things.
- Law - as someone else said, there is definitely money to be made in law school, particularly IP law. I found this incredibly boring, though.
- General Business - Get an MBA. This can open doors to banking/finance/marketing/etc jobs.
- Sales - if you can sell, you have unlimited potential to make money. Friends in medical supply companies and heavily technical fields I know are making 300k+ a year.
- IT/Security - here in DC, a security clearance and knowledge of security makes huge money. Cisco and IT Security guys (CISSP,etc) can contract out over $200/hr.
There's usually IT auditing and advisory positions to be found at the big 4 (PriceWaterhouseCoopers, Ernst and Young, Deloitte, and KPMG), as well as second and third tier firms.
12:50 - press return.
on the quality of your university, around here we are more than happy to pick up anyone who haven't got any real programming experience but got a degree from DIKU (CS department at the university of Copenhagen).
If the CS degree is worth its salt you should be well aware of how to program in theory, should be well into algorithms, the actual programming in a language is quite a simple thing to learn if you understand the fundamentals of CS.
A good company should put you under the wings of someone experienced - have them double check your work till you are confident in yourself. There is no shame in admitting you need experience.
Salary: 60k-120's
Consultant: 80k-150k+
SAP Security Consultant: 200k+
Believe me, if I started murdering people, there would be none of you left.
Release engineer
I'm surprised no one has mentioned software security. Information security is a big field and I expect it pays well enough (I haven't asked the guys here, but the one or two security guys I've known were around my same level and I'm a software engineer). There is a ton of knowledge about computer systems and managing certificates and intrusions etc. that isn't programming as much as it is configuring the systems correctly to cover all the loopholes. If you know what you are doing (or can learn quickly and do the research), you can be invaluable to a team developing an internet application.
Ahhh can't be. Just a fresh face.
You could always get into:
system administration
data base analyst
project management
systems analysis and design
process analysis and design
Or any technical/business area which requires the type of organized and thoughtful mind that is attracted to Comp Sci.
CS grads usually have had to deal with some adversity in their pursuit of a BSc, so add the ability to deal with ambiguity and a determination to complete what they started to their list of attributes. You don't have to stick strictly to computer centric jobs/careers.
OTOH, you could go to grad school. MSc or MBA.
Work for yourself, or find a partner, and make dance music! they use lots of computers for this now, and well you only need program the drum machine.
Computer science is a great discipline for learning how to think logically, and learn some excellent problem solving skills. Don't think that means you have to work with a computer. As my favorite CS prof always said, "Computer Science has as much to do with computers as Astronomy does with telescopes."
Construction workers, bookkeepers, doctors, lawyers, chefs, soldiers, sailors, everyone in between and all the people who manage them need to be able to think logically and critically under pressure.
Think of your new CS degree as a starting point. Try to work in a few jobs you never considered before, even if you think you might be un- or over-qualified, and see what you like doing.
In my experience, outside the IT industry, people find any kind of CS/programming experience to be an automatic sign of intelligence. It's good for getting your foot in the door.
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)
Cant program. Cant become a manager without experience. So do what people with no marketable skills do. Go for an MBA.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
My first 2 jobs out of college with my CS degree were programming, mostly LAMP environments.
After that, I progressed into doing search engine optimization, and then later marketing.
Now, I'm a Sr. manager of product marketing. I run an ad network, prototype new sites / products, and basically get paid for my opinion on things.
There's lots you can do with a CS degree.
I have a CS degree from a university where CS is part of their engineering college, so I'm technically an engineer although most of what I learned was programming.
Instead of going into programming, I got a job as a field engineer building, installing, and troubleshooting controllers for plants and factories. The pay is about $15,000 more than the average CS graduate from my college, plus I get a company car, travel expenses, and plenty of other perks. The catch is that I have to do a lot of traveling, but there's always a catch.
A few months ago, we had the opposite question:
*(How to GET a PROGRAMMING job in IT)
http://ask.slashdot.org/article.pl?sid=08/03/30/1534247
My reply remains the same:
http://developers.slashdot.org/comments.pl?sid=504696&cid=22912562
Too lazy to click? Me too, here:
how to get a job 101
by sjs132 (631745) on Sunday March 30, @12:21PM (#22912562)
1) post to slashdot
2) ????
3) ????
4) Profit.
#3 was recognized as "get a job" by someones followup post, but I don't know if #2 was figured out.
Next time don't forget your resume and contact information, it makes it easier for us to get back with you. Oh, you might want to include salery requirements and relocation options also.
In the meantime, your worker desination will be: 009304039818-DRONE
Thank you for using the slashdot IT placement service, where: "A.C.'s comes first."
--- Relax, that mass muderer is just trying to reduce our carbon footprint, one fetus at a time...
Before you go getting yourself into a career you're not interested in, maybe you should decide what you want to do.
It might help if you could narrow down what you DON'T want to do, as that might steer you in the right direction.
If you're a detail person, management might not be your strong suit. If you hate the idea of working with code, you might not want to get into databases, as a large portion of your time will probably be spent creating SQL scripts.
Just sit back and think about it. What parts did you like, and gravitate towards those skillsets.
Check out my sysadmin blog!
I graduated with a CS degree. Got a cube job and churned out crap for 6 months until I realized I made a mistake. I was actually decent at writing code , but I really just don't enjoy doing that according to other people definitions. I kind of fell into a Sys Admin position next and never really looked back. I find it much more rewarding work than anything I've ever done. I know it's a cliche, and easy to dismiss as such. Find what you like to do. No amount of money can make it worth you drudging through 30 years of unhappiness, because you invested 4+ years in getting a piece of paper that said here's what your should do. Investigate what some of your fellow grads are pursuing, I bet you'll be surprised where they are 6 months from now. Talk to the placement service at your school, part of your tuition likely paid for it. You have a tech degree there are many many paths you can follow from here. Wander around a bit until you find one you like.
I have held two Systems Analyst positions that were more about understanding data structures, databases and applications and providing application, hardware and stupid user support, than they were about hard core programming. I have a jack of all trades personality and like to learn some of everything, but never really want to specialize. These positions have suited me well and depending on the employer the pay has been comparable to programming positions.
But hey, its really about doing what you enjoy. Me, I couldn't be happier...
"People are stupid; given proper motivation, almost anyone will believe almost anything."
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.
I might suggest attempting to get work as a temp. I know it sounds strange, but that is how I started, and it has worked out very well, and I've now been doing web design for 10 years. When you work as a temp, you get a wide variety of real world job experiences, which are very helpful. Temp jobs that require the ability to use certain programs very well, like Excel or Word or doing basic HTML...these jobs, if done correctly for the client, will put you in a position to be requested as an employee over and over through your temp agency. Eventually, you WILL get hired by one of the companies that uses you. In my case, it was withing about 6 months that I was hired because of my skills with Powerpoint.
Eventually I used the downtime on the job to teach myself Flash and HTML, quit after two years and became a web designer, and haven't looked back since.
A word of advice...attempt to get hired by multiple agencies. That way you can be sure you are not out of work at any given time.
Many EEs and CS majors go to product management (I'm an EE in this role now). Your primary job is to define the problem that the product should be built to solve. You meet with customers, developers, analysts, and everyone in between to define the product and then take it to market. It's a lot of fun, different every day, no programming, and usually some travel.
Obligatory wikipedia article on the subject.
Look for job titles like "Product Manager", "Product Marketing Engineer", "Product Marketing Manager", "Product Line Manager".
If you have somewhat good grades and do well enough on the LSAT to get into a top 25 school, you could go quite far as a lawyer. Lawyers with a BS (or MS or PhD) tend to be rare, and you're already qualified for the patent bar, something which could net you a lot of money as a first year grad ($160,000/year in the largest markets). Just something to think about. Lawyers aren't all bad after all. Disclaimer: IAALS - I am a law student ;-D
There are a lot of fields that would benefit a LOT by someone who knew some basic good programming, not just fiddling around with statements, but understanding the order of algorithms and such.
If you like working with hardware, PBX and phone installation is good. There's lots of programming required on phones, but it's all really simple stuff. Alarm installation or maintenance. Cable installation, or better yet, cable support from the hardware/software side. Cash register programming. Network installations require router programming.
IMHO, the trick would be convincing the employer that you can do it all... and actually learn to do it all. All of these things are easy to get into, although some can go into a lot of depth, such as programming routers.
If you like a little more software and a little less pulling cable, programming firewalls and script programming might be more along your lines. Sysadmin for automating tasks. Database programming (although honestly, Real Database Programming uses a lot of programming skills, so if you're not very good at programming, you could have trouble with your db tables sucking and lookups taking forever).
You should be ashamed of the fact that your university would give you a degree in an area that you are the first to admit you haven't mastered. A sad commentary on the state of the American college/university system.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
Here's an idea: find out what you want to do with your life, then go back to school and get the degree that will let you accomplish it. You actually completed a 4 year computer science degree without knowing what you wanted to do when you got out?
You remind me of myself 10 years ago.
I was sitting in my final year "Software Engineering II" subject and I really felt shit about moving into programming.
I mean I got through uni programming but I never felt good at it. It almost felt like a chore.
So for the heck of it I asked my lecturer what he thought I should do.
Anyways, I ended up doing networking (Cisco specifically) and loved it. 10 years later i hate networking...inevitable.
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.
BS degree indeed, then.
My Photography - http://ian-x.com
The Deathlings (comic) - http://thedeathlings.com
Logical skills and constructing a rock-solid argument towards a particular problem are some of the traits in our best computer scientists. They're also the bed rock of a great attorney.
How good are you at math?
Seriously, I wouldn't let the current Bear market put you off of the idea of getting into trading. Start out as a clerk or runner for a good trading firm, learn the ropes and everything you can about the markets, balanced portfolio strategies and options trading, and ride the next Bull market to the top.
If I'd known in my twenties what I know now, I would have done that. Contrary to popular myth you don't have to know exactly when to get in and get out, you just need to know how to spot opportunities and exploit them, understanding risk and how to minimize it, so that your inevitable losses are consistently dwarfed by your equally inevitable gains.
And who knows, you may find yourself honing those programming skills getting a good model put together to increase your earnings.
Frankly, as one whose made a very good living over the years as a programmer, system administrator, and project manager in the financial world, if I had it to do over again I'd go into trading. Same amount of work, similar levels of stress, similar math skills, and far greater financial rewards, the current economic troubles notwithstanding. Why make around $100k - $200k per annum when you can quite readily earn $300k - several million, and no, I'm not exaggerating.
A good place to start, including free courses (normally $50/course): http://cboe.com/LearnCenter/default.aspx
Good luck with whatever career you choose.
The Future of Human Evolution: Autonomy
McDonald's is always hiring cashiers.
Perhaps, consider law school and go into IP law, or law in general?
Lots of money to be made, and there is -no such thing- as an unemployed attorney. You may not end up as a senior partner in Ben Dover & C. Howlett Fields law firm, but every single company, organization, and individual needs an attorney on their side.
Most CS jobs are flying overseas never to return, so might as well get into a profession that cannot be outsourced, and that everyone needs. Plus, its a 9-5 job, with no worries about overtime, and one can watch as the pink slips fly in every other department while they will keep you until the end.
Flipping burgers! A lot less stress... Coming from someone who's been professionally programming now for 15 years.
I'm in performance testing. While there is some programming involved, it is usually throw away code (use for one test and chuck it). However, the position is extremely technical. You have to know how systems work millisecond to millisecond, and be able to look at a network trace and understand what is going on. Also pays as well a programmer. Requires extremely detailed and disciplined documentation skills, and is also politically very difficult (on your best day, you are an expensive and difficult waste of time - on your worst, you are telling people they are incompetent). Not for the faint of heart.
The real question is what do you want to do? You might not have a good idea yet. Thus you ask thousands of slashdot readers you have never met.
I got a Mech. Engineering degree but got my first job as a staff consultant at Price Waterhouse, before it was PWC. That is a good way to go if you are not sure what you want to do. Consultants, especially entry level ones, end up doing whatever the client needs them to do. I wrote requirements, test plans, reports, did testing, maintained code, programmed, presented to clients. Just about everything. It was a great experience.
You may also want to try to become a business analyst. If you can understand the business guys and translate their needs to programming specifications. You may also want to look at business process management tools. Check out www.intalio.com. With understanding of BPMS you can take business requirements and weave them into high level executable processes.
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
May I suggest site sponsor dice.com? They have tons of jobs that would like a CS degree but don't require programming. You could also look into a job in Higher Education as a Instructional Technologist. They help faculty members integrate technology into the classroom to increase learning. Course management systems, video editing, web server administration for wiki's and blog's and so such. Schools can't fill the position fast enough. Pay won't be awesome, but fair. You will also more than likely have the opportunity to work on a Master's while you work. Higher Ed benefits tend to help make up for pay scale.
Or 45-50k+ in educational institutions. And those are entry level. Not awesome, but better than Harddrive replacement monkey. If you end up doing the really interesting stuff at a university (planning the next big number cruncher), you pull down a little more than what entry level corporate folk make. It's a trade off; more interesting work and less profit motivation (ie better equipment) or more money for yourself personally.
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.
My instructor said in my BA program that there are those who are programmers and those who are not. Don't be ashamed if you are not. It is not for everyone. However, there is still a great need for you in IT.
There are a ton of non-programming jobs in the IT field. An analyst is a perfect example. Here you are the communicator between the developers and the business users. You attend the meetings, help users define requirements and translate the requirements into tasks for developers.
Go get your CCNA then your CCNP then try for your CCIE. If you cant code then this is probably the better path for you to follow in the world of . The pay is normaly decent if you have the chops
You could maybe look for jobs in software testing, it certainly worked out for me as I am also a terrible programmer. A CS degree ought to boost your chances of scoring a good job. And with 'a little' programming experiences you could also do unit testing etc.
The subject is the title of a book I just finished reading. Being a programmer myself, it has opened my eyes to a WIDE array of possibilities and is causing me to dream big! Get yourself a copy from the library or have a cup of coffee at Borders and read it over the next week or so and you will learn how to take your skills to ANY industry and apply yourself to get the position you love.
You can make good money if you specialize in a tool like BizTalk or Commerce Server. You'd have to code a bit, mas you'd probably spend more time with consulting: helping people set up their environment, teaching the basics, and helping with optimizations.
Look into QA/Test work. Your CS degree gives you the technical knowledge and your support work gives you a user perspective. Not only can you work with a design team from a technical stand point, but you can also give them feed back on how the user might do things. This is a good combination for QA, it allows you to think outside of the box when you approach a problem.
Why do we correct our criminals but punish our children?
This may fall more under a MIS degree than a CS degree, but the piece of paper you received is not as relevant as your skills are. The closest thing your degree will get you to a job is an interview. The things you are good at and enjoy doing are what you should look for in a job. Getting the hiring manager to like you is what will wind up landing you a job.
.com where I work). While there is an element of taking the specs from the customers and bringing them down to the engineers to my job, I do generally find it satisfying for now. When non-tech business people try to define how software should work, they can't express their needs well enough receive acceptable software.
/2cents
I, too, am a programming-adverse geek. I am good enough at understanding computer logic & business needs to translate between the people who know what needs to be done (business) and the people who know how to get it done (developers). There's a stunning lack of people who can ride the business/tech fence (at least at the multi-billion dollar
I got my start building Crystal reports & doing ad-hoc SQL queries. I used this to start understanding the objectives of the departments I supported, and when one of them needed a techie to administer software & define requirements to a vendor, I got the call. Maybe you can do something similar with your help desk/support position.
Take off every 'sig' for great justice.
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.
Take any courses in art or psychology? If so, you might look for a "user experience" position.
I went to college for Computer Science and became a programmer for about 8-10 years. I tell everyone out of college to not plan on programming for the rest of your life. There's no future in it. It's good to start, but eventually you'd want to step up to management if only to get rid of the current regime that you loathe and make fun of every day.
My advice?
Take any job your degree will get you, rack up the experience and plan for the future. Take some business courses on the side or research that company you've always wanted to start.
Q: What did the postdoc applied mathmatics student say to the first year undergrad?
A: Do you want fries with that?
Im just curious how you can make it through an entire four year computer science degree at a major university...and not be aware of what job options are available at the end it. I understand not knowing the ins-and-outs of getting said jobs, but we're talking a really high-level thing here? And this is an honest question, Im not trolling in the least.
You should look into sysadmin gigs. Be sure to join your local LUG, Windows Server admin and other Unix groups where you can get a lot of help and job leads. Salaries vary quite a bit but in my area (major west coast city) it generally starts around $50k and tops out around double that. Coding is generally limited to smaller scripts and implementing other people's code, i.e., you need to know programming but won't write that much code. It can be a very rewarding job for someone technical who likes to solve problems and likes one day to be different to the next.
Please note that these types of jobs can be quite different from each other where in one company you only do a small set of tasks and in the next you are the guy who handles anything vaguely technical.
Good luck! I was in the same situation when I finished by B.S.C.S.
If you have a CS degree you must have some technical understanding. If you also have the ability to explain a technical thing to a non-technical person you may also be a good candidate for a Technical Sales or Application Engineering position with a software or hardware company.
This is what I do...I too have a CS degree- but no longer am in active development. I found out that my skill was to translate the technical to the non-technical and have been doing it ever since. If you have good people skills, the sales part is pretty easy. And if the target of your sale understands you are an engineer and not just another sales guy- you will be listened to.
Keep doing what you are doing :D
Seriously, many IT shops actually like having a few CS degrees in their ranks so that they can help from time to time with some custom programs, or help the internal programming groups better understand your in-house environment so the custom programs work better/efficient.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
#1 Systems/Analyst around $40,000+ a year.
#2 Database Administrator $55,000+ a year.
#3 IT Department Manager $100,000+ a year.
#4 Quality Assurance Technician (Quality Control, test programs don't code them) $35,000+ a year.
#5 IT Supervisor/Manager $60,000+ year.
You could also take some business management courses and be able to work as a manager in any non-IT related management job, just get an Associate's in Business Management or get a Bachelors of Science in Business Management and you already met most of the requirements with your Bachelors of Science Comp Sci degree for Math, Sciences, Humanities, English, etc, so it would be a short-stay back at college to earn a business degree like I did. That is because if you can do both computers and business, it makes you a much more valuable employee to a potential employer and it makes it easier to get promoted to management.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
Until you find that nirvana, by all means apply at a medium to large company as desktop support. That will give you experience and open the doors to all manner of possibilities, but mostly in IT. The best thing is it will give you time to figure out if working with computers is really what you want to do.
As for salary, it greatly depends upon the part of the country you are in. Boston and San Francisco pay the most, but the cost of living is the highest, too. Midwest states are generally the lowest with a matching cost of living. Expect a degreed but non-certified desktop support position to be between $35k and $45k a year.
Can I back you up and skip the programming requirement?
At least the poster is being honest, and saying "Sorry, but y'know, I made it through exams but 400,000 lines of code would kill me". I said the same thing when OrgoChem busted me out of science, but there's room in this world for informed adjunct people.
Maybe this guy might not know exactly how to catch some weird zombie-null variable pointed straight to Utah, but if one of the Dev's reports in "Listen man, the backend code just went to hell and took the handbasket with it, we're 3 days out to fix it plus 2 hours check-in", at least he can translate it to the Senior guys as "Give 'Em BS Speech #147 and plan to ship with a week's delay."
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
If you have a sharp mind, and come to work, actually learn and do work while at work, you my friend are invaluable.
I have had to hire people in the past, and occasionally still do. You cannot believe how hard it is to get someone to COME TO WORK. Unskilled people start showing up for work around $15 US per hour. The less you pay the less they show up and the less work they actually perform. Skilled people on the other hand take even more money. (Results typical for Jacksonville, FL. -- YMMV)
Now there is a large caveat to this. There are people out there that just plain have a good work ethic. Whatever they are paid, they come to work, do good work, and go home. These people are who I am looking for.
I want to pay someone a good wage and have them do good work.
- I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
I'm currently a comp sci major working in systems/operations. I work with server hardware and software, system administration...that kind of thing. I do a lot with a particular set of applications related to the work my company does that are more specific than a general sysadmin position, but no programming.
System Test. We use a lot of test engineers and they are software engineers who test software. System Administration also. I have done this for years, going on 20+.
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
1. Management is not an exclusive skill. Good tech managers are those people who have worked/coded in the trenches and understand the nitty-gritties of the development cycle. The are able to delegate to, and manage a group of techies because they understand the complexities of a problem statement and not just because the can just delegate and manage, which BTW is also an necessary skill. Necessary, but not exclusive. So consider working in the trenches for some time before becoming a general.
2. Coding/programming for CS is not the end, it is the means. So all CS jobs (proper ones that is ) are not mainly programming jobs but mainly about something else, in which the programming languages are the tools. Let me explain -- my areas of expertise are OS internals, Hardware-software interfaces and network stacks. Programming is the tool I use to control and extract a specific functionality from a device. So, I personally feel that you are reluctant to code, it would be difficult for you to learn CS.
3. You could however go into sysadmin, network admin or DBA jobs which do not require any coding. Those jobs however are not core computer science jobs. They however do pay well.
4. The best option for you would be to go for an MBA I think. As I read on a T-shirt recently "MBA -- when your BS wont get you any higher". I am presuming that the pun was intended.
I graduated with a degree in Computer Information Systems. I have done software testing and my entry level pay was at least 10k more than the average entry level developer job. If you do automated testing you will be more valuable, but manual testing is not a bad place to start.
You could aim at becoming an operational architect, a person who decides what boxes to get, their configuration and amount, network topologies etc. Several colleagues with that focus haven't touched a line of code in years.
Assignment scopes range from small (e.g. supporting an internal application with infrastructure) to large (enterprise wide architecture spanning multiple data centers). The job includes a lot of requirement mgmt. and specifications. Some project management work is also implied (e.g. TCO calcs & comparisons, rollout planning and staffing..)
The pay is very good, but you may have to seek out larger firms where the complexity to be managed justifies having architects with specialization in the functional *or* operational domain. At smaller firms (read less complex environments) the same architect typically performs both parts of the overall design.
However, if you don't already have a lot of experience with boxes, networks, security and lifecycle management of applications then a good start would be to get that first. As someone else mentioned, networks admins, DBAs, server installation etc. are accessible areas for junior people.
In a society that believes in nothing, fear becomes the only agenda ~ Bill Durodié
What's an etceta? Or did you mean et cetera?
I have a BSci in Comp Sci and a BMusic in Composition. The plan was to work as a programmer for a while while I mulled over the possibility of going to grad school for music.
I was hired as a half programmer, half network admin, as that's the work that needed to be done at a place I already had a relationship with. I ended up liking the admin a lot more, and started finding a lot of things (including some sound- and music-related) around the company that I liked doing that needed doing, and that weren't part of anyone's actual job description.
So right now my job duties include a bit of programming, a bit of admin, a bit of organizational work, a bit of audio production, and a little bit of management. I'm not overloading on any one task (as I had before on programming... the real-world shock of moving from maybe 6 hours a week of it in academia to 40 at work hit me hard and made me want out), and doing all things I like to do in quantities that I like to do. Essentially, I find things that people want done, that I like to do, that nobody is doing, and I do them. People seem to appreciate that.
Perhaps my situation is rare, and I'm delighted to be able to do it. In any case, keep in mind that just because you're hired as a programmer, you don't necessarily need to stay as one. Get an in somewhere, find things that you like doing that need to be done, and eagerly volunteer to take them on (or just do them and ask forgiveness later, if the culture allows).
It also helps if you have a healthy dose of fearlessness. Since I came in with an exit strategy (i.e. grad school), I had little concern with the possibility of losing my job. This I've found very freeing, and led to going after things I might not have otherwise, and, oddly enough, to greater job security and job satisfaction.
-- I prefer the term "karma escort."
I have a CS degree and hate to program also. I've mostly worked in Linux/UNIX admin jobs. Making around 50 to 85k a year. I work at FedEx now as a unix admin and I love it. About the only programming I do is scripts in python, bash, ksh, or perl.
Do you know UNIX? a unix SysAdmin makes only a little less than a programmer (though it usually means you've gotta carry a pager) - key to getting high paying SysAdmin jobs is to janitor production systems- internal corp IT is never considered as important. Bay area production UNIX SysAdmins with experience can expect salaries well into six figures, and while you are expected to be able to read/write a little perl, you aren't expected to be good at it.
Have you thought about SETA work? (http://en.wikipedia.org/wiki/SETA_(contractor)) SETAs are government contractors that are basically paid to watch others programmers do actual coding. They act on behalf of the government to ensure that software development projects are "right." The job requires knowing programming and staying current in the field without actually practicing the craft. As someone who programs, I see them as being sort of like the "Internal Affairs" of government contractors. They are about as popular in some circles too. But hey, to each his own.
"I unfortunately must admit that I am not very skilled with programming."
Either is 80% of the programmers. Since you admit it, your already ahead of the curve.
Teaching might be a good move. May require more education.
Start your own business. Assuming you are young and single, or have no kids it's a great time to start your own business.
You need to understand what you don't like about programming. That can keep you away from other jobs you won't like.
The military is looking for 'computer people'. Go to officer candidate school. As an officer you can resign if it's not for you.
A degree can be used to get into many fields outside the degree. Ever think of medical school?
How about politics? we cold use a few more representatives that understand technology.
The Kruger Dunning explains most post on
What king of university gives CS degree without basic programing skills?
You may not like programing (that is perfect for project manager) but if you just don't know how to program then I would look into marketing position or reboot engineer.
Iz has degree in english, but not very gud at it. Can I haz job 2?? k thx bai!
My godson got his law degree, worked for a year as a lawyer, and quit because he hated it. He then went into IT, where he has been happily employed, since. Why shouldn't you be able to do the reverse? There are a number of legal specialties that prefer to have students with science backgrounds (patent law, as an obvious example).
You could work in QA at all sorts of levels.
Go to grad school. Get a degree in biology, psychology, business... something. Don't pick a field you don't like again. At least you realize this now. It would have been ideal to figure out what you wanted to do with yourself a few years earlier.
Comment removed based on user account deletion
Management at a software development firm. You don't need any programming skills for that.
I am with the recent Graduate on this. I too graduated with a Computer Science degree but was/still am not fond of coding. I found a nich in systems administration and have become extremely fond of automation of tasks through scripting. Not nearly as elegant as programing for a user base, but I still get to use some of the knowledge I gained from taking Algorithms and Basic Coding courses in college.
Plus, if you are in an area where specific sysadmins are in short supply, such as the Midwest. You can make really good money being say... a linux systems administrator.
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
Comment removed based on user account deletion
I graduated December '06 with my CS degree, but it wasn't until June that I finally had a programming job. Sadly, it was a six month contract position, so I was done once the work was done. I did a couple individual contracts for websites and databases after that, but I couldn't find any more software contracts. In May I started working as a Web Developer, primarily PHP instead of ASP/.Net, and although it isn't as complex as what I was doing, I still enjoy the programming aspect of it. We've been doing some great back-end stuff, so I get a kick out of my work which is nice. I know how you feel as I was there, and even now a friend of mine - who graduated in December '07 with his CS degree - is still looking for a position.
Hang in there, and good luck finding a job!
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.
...could use more officers with the ability to realistically assess their own weaknesses. Have you considered applying for Officer Candidate School?
Microsoft is hiring CS majors that are not good at programming to write updates/fixes for Vista.
I'm not sure if it's any help but I did my undergrad in CS and went on to archaeology for postgrad. There are a ton of fields out there clamoring for computer people for data collection and interpretation. Traditionally these fields don't attract tech people but that's slowly changing. I may not make as much as an engineer (in fact I'm positive I don't make as much) but I get to travel the world on the University's dime.
"Never let your sense of morals prevent you from doing what is right" - Salvor Hardin
Are you looking for a field or type of job or both?
I work in networking, although I am a programmer (or scripter to some....). I know plenty of people who detest programming that work in Routing and Switching, and they make a shaitload more than I. I could say the same about Information Security. Managing firewalls and IDS pays very well, and at least where I work, is top of the food chain.
Otherwise, server/desktop management isn't bad, but it doesn't pay as well.
Comment removed based on user account deletion
Fixing laptops, troubleshooting Windows problems, etc.
Setting his threshold to 5, Sparky eliminated most of the trolls on /.
Air Force / Navy Be sure to ask them to pay off some of your student loans and do your homework before signing. This career path is batting about 0.500 with my friends, 2 have found good employment after doing a small stint, 1 is on a long term career path in the AF, and 3 have had major difficulties finding work after discharge (although in these cases I find it hard to lay all the blame on the military).
The most important thing to do is get some experience, then the theory you learnt may become useful. You cannot be a project manager if you you do not understand what the people you manage do. Project management is wide subject, not just gant charts and counting man days. You need to know what the people are doing, what everyone else is doing and what the business is doing. Everything is useful, operations, sys admin, programming. If you do not understand the fundamentals you will not be able to make good decisions. There are too many projects that fail at the moment giving the IT business a bad reputation. You must understand your subject, not in minutae but enough to have respect and understanding for those working on the project. Alternatively you could ask the university for your money back. Education costs money and sounds like this really cost you.
Let's see... you have a degree in computer science, yet you never learned to program.
I say this half in jest, half in sorrow, half in seriousness (yes, three halves): Obviously the career for you is teaching computer science to undergrads.
Of those mentioned in the subject, only Business Analyst will be scripting free.
However, if you like hardware, just go that route. There are plenty of decent hardware related jobs.
How on earth did you test theory? Every other science requires some sort of experimentation both for general understanding and for verification of hypothesis. Even math theory is cross checked in usage with every physical science, and even math has specialized language and algorithms that can be applied. Since CS is called "Computer Science" and not "Computation Science", it could be at least as applied as physics. I'd like to know where this degree was earned from so I can start shunning it.
I unfortunately must admit that I am not very skilled with programming.
Translated: I paid hungry
You have a future in outsourcing management!
i was a CS major, and was in the same position... i am now working for an ISP doing network security.
As who came from a similar (but not identical situation), here's some job-hunting advice. Most people will hire CS majors to do programming work, and this is natural because in the years studying towards the degree it's the closest thing that recent grads have to a skill that they can bring into the market. However, don't forget the backbone of your CS degree is in quantitative analysis and mathematics. Assuming you're not especially strong in anything else (such as salesmanship or writing), those will probably be the two things you'll have to lever off of when you're looking for work.
1. The person above referred to Accenture jokingly, but your best bet will be the large consulting companies. The major players in this space will include Deloitte, Accenture, and BearingPoint. Most of my engineering / CS friends who wanted to get into more of the business side of things wind up at these places. They tend to look favorably on CS degrees during the hiring process, and in general let you take on a role that has as much / as little programming as you want. One of my friends graduated from a CS background and didn't want a programming job so he went into Deloitte as a Human Capital consultant. It worked out pretty well for him.
Pay is around what you'd get at a good (but not Google or MS level) programming gig.
2. The finance industry is probably your second best shot. There is a subsection of the finance / banking that is very into quantitative analytics and likes to hire people who have programming backgrounds. If you want to get into the banking / finance / investment industry, this is a good choice but entry-level positions may be difficult to find depending on your area. I wound up doing a combination of some intermediate level SQL work and creating some Excel spreadsheets for the higher ups (with formulas and VB and such. So programming-ish work, but not programming). This is the route I took, and I've been pretty happy with the result.
Pay is similar to #1, but on a bumper year the bonuses can definitely put you over even a Google or Microsoft hire. Given the current state of the market though, it probably won't happen in the next couple of years unless you're at a stand-out company.
3. Business analysts. Basically you're the guy between the programmers and the business side. You'll be gathering requirements, managing a team of programmers for specific tasks, and testing the final product before it goes into production. These guys are in almost every single industry, but I find it's hard (but not impossible) to get one of these jobs immediately out of school. They'll usually want 3-4 years of development or management experience.
Pay varies on this one. Other people here will probably be able to give you a better idea.
4. Firms who are generally looking for engineering / quantitative majors and are not picky what kind. There's a bias amongst a lot of companies where they'll just want an engineering / CS background since they are considered more difficult majors. They figure they can train you on the specifics of their business, and because you have a engineering / CS degree you have a solid mathematical background Your best bet in trying to find these is going to a engineering career fair or a career fair at a respective technical / engineering school near you. I had a fairly serious interview with Haliburton, they were willing to train me and send me to scope out drilling sites in the Dakotas and Wyoming areas (me the CS major). It wouldn't have been a bad gig if I wasn't a city boy through and through.
That roughly sums up my experience from having walked a mile in a similar pair of shoes. Definitely be prepared with an answer as to why you didn't choose a programming job, you'll be asked that question on all of your interviews (speaking from experience). Best of luck to you on the job hunt!
Get a government CS job. You don't actually program there, but get to pretend like you know what's going on.
*raises hand*
Degree in CS, loves problem solving, dislikes heavy coding.
Why? I burn out quickly via coding. I don't burn out nearly as fast doing other things (Sysadmin work, help desk stuff, even QA).
Not everyone likes to code day-in-day-out, especially with how most of the industry is ran. Has nothing to do with the instructors I had in school and everything to do with my brain being bored. For some people, coding is interesting. It is very interesting to me as long as I keep it to brief snippets or the small full project here and there. If I start working on something large and long-term, I start to burn out.
Thus, I got out of code monkeying and started working in other areas of IT.
--- Ãther SPOON!
Seriously, the only two decent posts in this whole thread, and they're hidden at a 2 and a 1...
Windows System Administration is your best bet if you like to play with computers and don't want a QA or call center tech support job.
You can be at/near the top of your field and yet only program a bit.
That said, you should still get very comfortable with CLI's, both windows & unix.
If that's not your thing then get into Networking. Alot of design, trouble-shooting, and configuration but not necessarily much programming.
Ideally you'd do both.
I was in a similar position two years ago when I graduated. I was never into the CS culture and found most of the people in my classes to be about as appealing to spend time with as the people here on /. (little to none). To be a really good programmer you have to throw a lot of time at it, and I'm just not that interested or passionate about it.
First I worked as a product support engineer and now I do some software development. I really don't care for it, so I'm building up my knowledge in business, finance and real estate as well as becoming a better public speaker. Eventually I'll transition to a management role or jump to another part of the company, but in the mean time these programming jobs are great places to learn other skills with all the free time you're given. Just use your degree to get in the door and then work your way into something that interests you from there.
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. :-)
My compnay should hire some PM (Program Manager, or Project Manager).
Those are the people that follow a project from end to end. Interface between the customer and the developper, make sure everything keep on tracks.
If you have some people skills, are organized, have a good understanding of the technology (even if you cant program), they we should hire you.
One issue, is that engineers will probably look down on you, because off course you dont understand the details of what they are talking about. But give the engineers the responsabilities of a PM, and they will be asking for somebody to do it for them...
Not just the typical 3 letter federal agencies, but your state and even local level law enforcement is looking for them. These are the guys at the police department that you usually don't see on CSI or L&O who come up with background information on people, possible links between places/people to the crimes, and make all those pretty charts and maps. Many people in the field have a computer science background and its a growing sector. The thought processes for data collection, analysis, and creating the final work product are pretty similar to what CS minded people are typically good at. Pay depends on the department, but its usually more then a typical entry level help desk job and only a 40 hour work week. Plus you even get the satisfaction that you helped solve a crime from time to time.
For a CS or MIS major it is alway a difficult transition to your first job. A business analyst position is probably the easiest transition as you will learn the business, understand the requirement process, and depending on the position be able to do some programing as well.
If you are good in front of people, look good in a suit, and can articulate complex things like how software _works_ to help people, the job pays extremely well. I'm in that line of work, and have traveled the world helping sales reps sell software and professional services. You have to know your sh*t, and be confident, but it is a great path out for a techie to further their career, build their network, and be paid what you are worth instead of salary. Just $0.02
..on what skills you do have. Some people are jokingly suggesting Geek Squad, but seriously, it looks like that's the experience you just listed.
The good news is that you have the degree. (Well done.) A lot of places (especially in civil service, I've noticed) simply want you to have a degree (or the pay rate is a function of whether or not you have it) but don't much care what the degree is in. Degrees are somewhat generic, but your abilities are not. That's what you should focus on.
Maybe now that you're out of school, it's time to start learning how to do what you want to do, and in the mean time, take whatever job you can get.
I have a BBA in Computer Sciences, and I work in Desktop Support at a major advertising company. Networking (system administrators, e-mail administrators, etc) is a possibility. Don't forget webdesigner and database designer. You could also get your teaching certification and teach programming, sciences or math at most schools. IT consulting is very big now, if you want to get into that field. Or you can go back to school and get a minor in something else.
Tech Support at my company(large software, not MS) ranges from ~40-90K. Knowing code to be able to read it rather than create it is a pretty good skill for a software TS job.
large financial companies hire CS majors as stock traders. the most programming you'll do is a little scripting here and there. considering your from a 'major' university, you should have no trouble at least getting an interview.
Don't let them scare you. I can program ok, but haven't needed to since college. In my experience, programming jobs have mostly been outsourced these days and the ones that haven't pay much less than engineering positions.
Infosec is the way to go. I got my first company to pay for my CISSP and once I got it, I immediately left to make 6 figures. I am now only 3 years out of college.
Sounds like you wasted your money, should have gone for a "Computer Information Systems" degree which is much lighter on the technical and more on the business side.
I wouldn't worry, there are plenty of techinal jobs out there that don't involve programming. Comparing salaries between non programming and programming is like comparing apples to oranges. Not the same thing.
Plenty of Windows admins out there that don't do scripting. Don't expect to fall into Unix Administration if you don't want to script/program. Really kind of limit yourself by saying I don't want to do this type of thinking though.
Project Management is also a very well paying area that if you are good with people and managing resources could very well make a very long and profitable career doing.
Welcome aboard by the way!
They contacted me after I posted a resume on Monster about potentially filling a position. Unfortunately, despite the fact that I called them back twice, I couldn't get a hold of someone.
Three weeks later, they re-contacted me. Again, I called twice but no response.
Two weeks later, they made a third attempt. I proceeded to make a threat against reporting their harassing phone calls with their local authorities and to sue them under the spam-fax law for the e-mails if they continued to try to contact me. Surprisingly, they responded very quickly to that.
There were a few of your kind in school with me, and I never could figure them out. How they passed some of the courses, and why they chose CS was a mystery to me. I know one of them went on to get a graduate degree in Computer Information Systems.
or your local police force.
get a test position somewhere
you dont need to program really and its just glorified IT with ridiculous pay
Heck, where I work I'm expected to be the DBA, a programmer, a project manager, a system designer, and (if no one else is around), the help desk. There are days where I invent processes to solve business problems, assign myself the job of writing a project plan, then delegate the programming tasks to myself, only to be interrupted by someone who's printer has ceased printing. Ahhh, the joys of working at a small company with a tiny IT department.
It's a Computer Science degree, not a "Programming degree"
It's like saying, I just graduated from some culinary academy, but I don't want to be a waiter.
Since this shining star wouldn't mind a job with some programming I'll add, most programming jobs only have some programming. There's documenting business requirements, translating those into technical specifications, tracing the reqs and specs to test cases, documenting use cases, analyzing risks and modes of failure, and so on.
But judging by the question, my best advice for the OP is to practice the phrase, "would you like fries with that."
I know people here will think this is a flame, but it's the truth. I was in your exact same boat a few years ago. Graduated with a CS degree but didn't like programming, though I liked the theory and everything behind it. I took and passed the patent bar (its not that difficult), and have been prosecuting patents for the last 3 years or so. The money, even for beginners, is outstanding, especially at bigger law firms. You can start out at $40-$60 an hour, or perhaps $100+K a year if salaried. I think this is substantially higher than ANYTHING you could make at an engineering firm or a consulting firm. Also, you get to use your technical skills in a unique and pretty fulfilling way, get to work with inventors, and meet a lot of cool people. Also, if you go to law school, you can go even farther.
It's amazing how many posts have assumed that programming is all there is to IT - and been modded "Insightful". I'm an IT exec turned consultant making over $250k/yr and I couldn't code my way out of a paper bag - my career total of programming is probably three or four shell scripts. I started with network admin, got some *nix, and Cisco training, moved into wireless and other specialties over the years and have had a great career so far. I recently managed a group of 40 engineers (Network, Wireless, Software, Field Support, and GIS) that *averaged* over $100k/yr, and the coders were no better paid than the others on the whole. Bottom line - anyone with good thinking and communications (!) skills and good familiarity with computers, OSes and networks has lots of good options.
I mean, if Frank Gehry doesn't know how to weld or install a toilet, fuck his buildings, man. Architecture degree my ass.
As if we needed more evidence that a degree from a book doesn't mean squat. Either suck it up or go build small business/telemarketing networks.
(You do have tools, and they did teach you about how to drill bank concrete, make grounds, route tubes, wires, punchdowns, video surveillance, nameservers, PBX's and how to bid a job right?!)
Or (sniffle) if that's too much programming for you, you could always go clean gutters, all you need is a truck, a 5 gallon bucket, a hose and a ladder, maybe a 6-pack of beer and some meth to motivate ya...
On second though, skip the meth, it will just cost you $20,000 in dental bills 10 years later. At least beer only costs $3500 a year and a couple DUI's.
Maybe computer recycling would be better?
Got a Law degree (I think 3yrs will get you a JD), then you could be a patent lawyer and make big bucks.
Sure, a little coding is required if you want to do it right, but it's not so bad. It pays as well as, or depending on the market demand, better than a programmer.
Alternatively, you could go into technology management. You usually have one or two programmers that make more than you do, but it's a good living. Once you get into middle-management, you're making more than a programmer.
If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
To be completely frank, you picked the wrong major if you don't want to do programming. I also graduated with a BS in Comp Sci and the VAST majority of the course load was programming related.
Why didn't you transfer to another more appropriate major, perhaps IT or MIS or any other computer related major not heavy in programming?
Now, to answer your question, I would say probably not many. You can almost certainly get an IT administration position if you have the appropriate experience. But you'll have a tough time getting a great salary as entry level IT positions are usually just "ok"
I'm a geologist now. The point I'm making is don't hesitate to try something new, and of course do what pays well. Remember those first year classes you took. You probably took them for a reason. It's amazing but your CS degree won't let you down. In fact you are probably more qualified than those who strictly studied the other degree in the first place. Now, I'm assuming you went to a university where they actually pushed you. I'm also assuming you didn't grow up in a vacuum(i.e. you've learned things while you've been a human being). Use what you know and apply it. It's so fun to learn new things(and get paid of course). In my case I'm bringing all types of math and CS experience to a field that is virtually void of it, and it's accelerating me beyond my colleagues. To bad for them I guess.
-worry about yourself first, then you can really help people
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.
lol.
Here's the thing. If you want to manage development projects or programmers you will be 100x more effective if you have significant development experience.
There are plenty of other types of IT jobs that aren't programming jobs, though I suspect most or all have been hit upon here already.
Software engineering and programming should be done by skilled engineers and programmers. A lot of the reason we have such a huge amount of crap software in the world today is that people who have NO clue about the appropriate and effective uses of technology get into positions where they have to make technical decisions.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
Seriously most companies don't need programmers. They do need somebody that can run the server, toubleshoot, save date off broken hardware, run network cable, ectra. In the day to day lives of many companies, programing is not a critical issue, tech support thought is another story.
If you graduated in a field of study,
and are not skilled in it, then it sounds
like you should simply forget you went to
a university.
Find something you are skilled at and then excel
at it. Many great people have done this.
Or..............
Why don't you simply try to excel at programming.
Most programming is simply putting your nose
to the grindstone. Bad programmers are frequently
just lazy.
Apply yourself!!!!!
How does one get a CS degree w/o knowing how to program?
-Cnik
Most programmers I've met in the industry can't program worth a crap either. Your lack of skills won't be noticed. (Except by people like me, but no one cares about my opinion, because I have a "bad attitude".)
"Once we've identified and embraced our sickness, we'll have strength...and that's when we get dangerous." - John Waters
If you can write (and technical writing isn't prose), technical writers are in huge demand. Software engineers don't like to write docs, but they're essential.
McDonalds is always hiring.
It's what every other CS failure does...
Oooh, thinking logically is hard! Let's all look at the beautiful shapes!
I have a good friend that got his degree in computer science and realized about half way through an internship that he preferred administrating servers to programming. He got a good systems administrator job, but unfortunately he took a bit of a pay cut, $60,000 as opposed to $70,000 - $80,000 he could've gotten for developing software. He's now worked his way into a sales engineer position though, and with commissions he's probably clearing more with this position than I do as a full time developer.
Maybe you just had some awful instructors and with some proper guidance and encouragement could be a very good programmer. Programming is just like any other profession, it takes time and practice to get really good at it.
If you're sure that you either really don't like programming or REALLY don't have much aptitude for it then I'd find out what you ARE good at and pursue that. Life is too short to work at something you don't like.
"Meaningless!, Meaningless!" says the Teacher. "Utterly meaningless!"
1. Product Testing, Quality Assurance. 2. Systems engineering, requirements gathering 3. Database administration. 4. Project Management 5. Product/Brand Management 6. Pre-sales Engineering/Architect 7. Product Support (help desk) 8. Project Management 9. Solutions Architect. 10. System Administrator. You could also look for each sub category for more options. Good Luck!
Vi havas e-poston.
As someone with a CS degree and having worked in a university CS department for 7 years as a researcher and system administrator I know a lot of CS majors aren't very good coders. Most of the students I knew didn't like coding that much and only looked at it like dues to be paid until they got a real job. Being stuck as a coder was considered a dead-end. The question I have is if the person asking this question is actually good at anything in CS. Ok, so they aren't much of a coder, what else do you got? What do you enjoy doing in CS if you don't like coding (I got interested in CS because I liked to code, what drew you to it?). If you don't actually like CS than you should tangent to something you do like. If you are going to work in a field for a decade or two you should do something you love (or at least like).
Depending on which school you got the CS BS from, you may qualify to become a patent agent. See http://en.wikipedia.org/wiki/USPTO
MANAGEMENT !
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.
Oh man! Fixing laptops! Troubleshooting Windows? Most CS majors I meet have no real skills. Tech support! Programming is the easy part of CS. How good are you with the hard parts? Math? Science? Critical thinking? What real skills do you have? Sigh...
Not the same big bucks, but consider going back to school to get a Masters degree in Public Policy. Some schools offer a MPP track in Science and Technology Policy. Or get an MBA and become a consultant with your prized technological + business background.
You say you've done a lot of tech support. Are you interested in being an IT Admin? Network Admin? Maybe the business side of computers? Are you interested in areas that only semi-relate to computers, such as marketing, sales, etc. for a company whose product is so technical as to make your degree relevant?
I have to admit, I was in the same boat. I graduated from a College VERY respected by IT professionals, with a CS degree, a 3.5 GPA, and very lousy programming skills. How is this possible? Simple! I loved all my math, AI, and alogrithms classes, but I couldn't stand anything that involved systems, networks, and searching C code for a misplaced pointed at 4:00 in the morning. So after I was done, I decided to switch gears completely, never program again, and went to grad-school in a completely different area. I had no problem getting in, because a CS degree from a good school does not mean the ability to program well, it means I'm able to deal with and solve problems properly. And after a few years went by, I got back into IT. I became a consultant, working mostly for startups, helping analyze data and come up with useful new algorithmic techniques. This still requires programming, which I do effectively when necessary, but I am by no means an engineer. I consider myself a problem solver, not a programmer. The code I write is a means to an end, a way to test my ideas, and if my ideas work effectively, that code gets passed to a engineers so that they can integrate it with the final product. I really enjoy what I do! So remember, just because you don't want to be a software engineer, doesn't mean your computer Science (emphasis on science) background can't be effectively implemented in the IT realm.
Apart from the advertisement, this is a very good advice which more of us nerds should take. I'm doing a similar thing, after years as developer I changed to the consulting business. I only write code in emergencies (firefighting etc), but I know that I could.
But mostly I don't work as an IT consultant, just doing stuff in various businesses. If you are able to do a lot of abstraction and to adjust yourself to the semantics of that particular business, you just need to pick up the money from the pavement, because your competition usually consists of accenture material and generally lacks of common sense and pragmatism which is stuff that your BS should have taught you.
Applying your skills to a different field with much a better financial outcome is usually a good thing.
On second thought, let's not go to Camelot. It is a silly place.
Most of the Code-Wizards (Strong Programmers) I know in the indestry (I work as a Quant Modeler in NYC) dont mainly have a BS in Computer Science, they are just inti this shit since their youth , like to mess up with MS_DOS ans Pascal before the net explosion and Open Source.
The real gifted Programmers get Solid Fiancial IT Jobs with develepment and higgh pay, the rest just get IT Support replacing your failing Office Program with a better batch.
I work in information assurance for DoD. The typical position pays from 70k to ~120 depending on your experience, certifications, and ability to negotiate. I am in my twenties and have 4-8 years experience in the field. Considering the cost of living here (southeast US) it is a good living and generally higher pay that an equivalently experienced developer. Cheers!
You can also go into sales. Not in a small shop selling a computer and a copy of Vista, but in mayor companies selling Oracle products or whatever the company sells. Most companies like a guy who knows what he is talking about and like a technical point of view, this helps them fit the product into their company. Most of them seem relieved when they get somebody who knows what he's talking about and isn't just ratteling an extention from the promotion folder.
I don't know about the pay (going to my last year in college), but I know in Belgium it's decent and you get a lot of benefits.
There's always networking. Where I work that's where most of our CS/MIS graduates that can't actually program usually end up. It's either that or crash test dummy.
'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
A computer Scientist can devise methods of representing data that take less space than normal.. or propose the least redundant way of gathering information. Or find the solution to puzzles such as lights out. Basically a Solid Cosc Grad should be able to solve riddles, handle math at a level that makes most people shake their heads in general disbelief.. having an Idea how long half a million seconds is in human terms. or a billion seconds. Being able to prove that a problem is or isnt solvable..
So this leaves careers that have some dependencies in logic.. such as train routing, UPS truck routing.. telephone circuit design. General supply logistics.. Unfortunately, these jobs are already filled by cosc people, and they are programming that stuff too.. because a good programmer is a lazy programmer.. and they dont want to duplicate their own work..
so other possibilities include.. QA programming.. you just try and break code.. sure there is some programming involved, but you go home at five..
The subject says it all. You could get $60k to $120k depending on experience and the scope of the job.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
as it has been said above, it depends on your experience.
While in university, I did tech support and web development part time. I have BA in CS & Digital Art. I went from a job in tech support and web development, to full-time webdev. After doing webdev, I moved into more of a producer role, then onto Project Management. I am now a producer for a global company and 100% happy with where I am at.
I know I wasn't a GREAT coder, but I do know tech and I can help keep my developers developing while keeping upper-management away from them.
Not wanting to program much is one thing, but not being able to is something else entirely. If your case is really the latter (and that's fine, most people truly cannot program), then your options are rather limited.
Windows admin tops the list. Dont' even consider Unix or Linux because not being able to program or script in Perl or sh or ksh will go a long way toward earning animosity with your co-workers. There's also a lot of opportunities to be a Windows admin.
Network admin would be doable, but only if you are very comfortable with hardware, and are ready to constantly learn the new protocols, security threats, and stay on top of what's the latest, greatest hardware and network software add-ons.
System analyst would also be possible, but the emphasis here is on analytical ability, and if programming isn't your thing, this likely won't be either.
Don't even think about trying to be a DBA. If you don't want to or cannot really program, writing SQL and Stored Procedures aren't going to be a thrilling substitute.
Business Analyst. The emphasis here is business, so pick an industry, get in on the ground-floor and get to know it. Your long-term viability will be based on what and how fast you can learn and how quickly you can put that knowledge to use for others; but, don't make the mistake of trying to turn knowledge into exclusive job security, because what you know someone else can learn too.
Help Desk: It may be the entry-level, but it's also the spring-broad to any other technology, once you figure out what you like, and what you are good at.
Good luck.
Lots of people I know who love working with computers don't really enjoy programming.
But, they can do a bit of programming. And they still understand the system quite well.
They become system admins. They like what they do. They may not always enjoy it, but it's obvious that they're working on what they care about.
Care about electronic freedom? Consider donating to the EFF!
There is a lot of computer jobs out there that doesn't require hacking out a lot of code: System Admin; DBA; work with a GIS package (geographic information system not google image search); You may have picked up more than what you think. So don't dismiss programming unless you just hate to code.
Sic Semper MicroSoft
There are always IT jobs. They suck, which is why they have such high turnover, which is why they're always available, but if you don't mind the work, and don't mind periodically changing employers, IT is a career path.
You could try studying database programming and get an entry-level DBA job. Frankly, SQL is not that hard as programming goes; you don't really construct big "programs", just little snippets of code to grab data from tables. You might find it easier than the programming you studied in college, and it can pay very well once you move up the ranks.
If you have an eye for business, you could try to become a project manager. Again, try to take a certificate class on it and look for an entry level job. Again, pay can be pretty good once you move up the ranks.
You could go into release management: basically the position takes code others have written and preps it for release, usually wrapping it with an installer, etc. You have to learn about how to configure particular installer products. It's technical, but not heavy in programming. It's also a relatively rare specialty, so it can pay very well. On the other hand, it's boring. But you might not care if the rest of your life is fulfilling.
And finally, you might just want to get a programming job and try it. College programming tends to be about "let's throw complicated tasks at the students to make them struggle and see how they cope." Real world programming tends to be a bit more simplistic and repetitive a lot of the time, you might find it easier than you think - especially in an entry-level job. You'd have a few years to get used to the level of programming in an entry-level position before you'd be able to move up to mid-level and get more complex tasks which you may or may not want. And, it wouldn't hurt your ability to transition into IT or QA or something like that later if you like.
How about McDonald's, you lazy bastard.
So, let me make sure that I have this correct. You went and got a BS in Computer Science, but you don't like writing programs?
Offhand... "Ding! Fries are Done! ..."
Don't take life too seriously; it isn't permanent.
You might be interested in being a Product Manager.
Product Managers are the ones who write requirements, work on the roadmap, and decide what will be in the next product.
Product Management (also called Product Line Management, or PLM) is usually part of the marketing department; market analysis is a pretty big part of PLM. After all, if certain features are demanded by your target market, you want them in the roadmap ASAP. If your target market doesn't give a crap about certain features, there's no need to waste engineering resources on them, no matter how cool they sound.
Some technical knowledge is needed for PLM; after all, requirements have to be highly technical by nature, and you need that technical knowledge to be able to effectively write requirements.
I support the Center for Consumer Freedom
I was engineering and computer science, also from a "major" U.S. university. I'd say if you went to a good school (preferably liberal arts), your major doesn't matter that much. I'm in strategy consulting now, very different from what I studied. I still feel that my engineering background helps me every day. Although starting salaries may be slightly lower than engineering, and work is very very busy, career opportunities are good and you'll be catching up to engineers in terms of salary after a couple of years.
This space up for sale.
#24: (unconvincingly) Wow, it's like you were reading my mind.
#21: I am not a mind reader, stranger. You, like so many others, are drawn to this sexy, action-packed lifestyle of the professional henchman.
#24: But I could never be a henchman. I am just a normal guy who is between the age of 18 and 30. A loner who lacks ties to friends and family.
#21: You, stranger, are the perfect candidate for costumed aggression.
Gang Member 1: Yo, fat boy. You get to carry a piece?
#21: But of course. Your standard Grade One henchman in service of the mighty Monarch is issued a dart gun and a grappling cannon to name only a few of the exciting accoutrements that will aid the henchman in his wonderous world of career henching.
Gang Member 2: Hey, what kind of ride we get?
#21: How does an enormous flying cocoon sound to you?
#24: Wow, a flying cocoon. I can already feel my life getting better!
"MIT betrayed all of its basic principles."
IMO, a BS in Computer Science is practically a prerequisite to be a decent sysadmin. As many other posters noted, you don't really give enough information for me to choose your career path. However, if you enjoy that aspect of computing, your CS program will have likely laid a fine foundation for you to become a fine sysadmin someday.
Also, as other posters have noted, people don't generally graduate from CS programs being bad-ass programmers. The goal of the program is to show you how it all adds up. Being a decent programmer comes later, or completely orthogonal to the CS program.
-- Spankmeister General
The wonderful world of advisory services such as management & corporate strategy consultancy pays pretty well and seeks people with all kinds of academic backgrounds. I am a Computer Engineer and three years as a consultant have given me the opportunity to work with all sorts of people, from Formula 3 pilots to rocket scientists. They do ask for your soul in terms of working hours, but you are usually handsomely rewarded for that.
Without knowing what you DO know well, it's hard to say. Most likely non-programming jobs will be low paying grunt work (tech support, sysadmin, NOC operator) although if you're good with TCP/IP and know router hardware you could get a decent network engineer job. You could luck out and get a managerial job, but without programming skills you'd be limited in who would hire you to supervise tech staff. My question is why someone would get a CS degree if they don't like programming. Can you go back to school and try another major?
Join the Army or the USMC
They'll teach you to do different stuff! They like clever folk from "major" universities.
See "One Bullet Away" by Nathaniel Fick
Keep in mind that you are not defined by your degree. Many positions that want you to have a degree don't care in the slightest what that degree is in.
With that said, to answer your question directly, have you looked at BI? It involves some programming, but also has large nonprogramming aspects to it.
I work for McKinsey & Company, a Management Consulting Firm. I can tell you that if you have problem solving skills (as you should, given that you are a computer scientist) and like to attack poorly defined highly complex problems, this might be the right place for you. It is the same for any other Management Consulting firm.
I also worked for NASA, and there, too, a versatile individual can be hired for most technical positions (a lot of computers, but not computers per se).
Finally, I must tell you that it is rather disappointing that you are comparing Computer Science to "fixing Windows" or "technical support". There is nothing wrong with those professions, but "Computer Science" is not the "Science of Computers" but rather the "Science of Computing" and computing means algorithmic processing.
Good luck!
- Superjuanelo
I had the same feeling when I got out of school as the poster. When the final semester had me writing a compiler it can sort of burn you out. First off, your degree does not dictate your career path. Best advice I ever got was that life will take you in unknown directions. Don't be afraid of it. Embrace it. Find a job you like. Been said by a few posters. I hope you didn't go for a CS degree because you thought you'd make a lot of money. If so, forget about it. To be any good in IT it is a lifestyle choice. Things change so fast in this field if you don't enjoy it, and enjoy learning all the new things, and helping create them you'll burn out. Also just because you don't want to code right now doesn't mean you'll always feel that way. I actually enjoy coding again. Just took some recovery time :)
As for pay, well hard to say really. Depending on the job and area the range can be huge. Be a smart job hunter and look at salary comparison sites (compare the descriptions, not the title), ask around your area (or the area you'll be going to) and look at the cost of living. Don't forget benefits and the whole deal too. A 5-10 minutes away from work in a good neighborhood can be worth it if the alternative is a 30-90 minute commute. Also amount of vacation, health insurance, retirement and other perks. I know when I got out of college I wasn't thinking like that, but you need to.
Really you just need to figure out what you wanna do when you grow up. Hell I bet a lot of people here are still trying to figure that out.
If you like to code and spend time trying to figure out why a piece of code doesn't work: Be a programmer. Initial coding is only about 10% of your duties. The majority is trying to figure out why it fails.
If you like pointing out problems in code, be QA. Why you don't have to show specifically where code breaks, but good QA should be able to replicate most problems and help developers find those problems.
If you like talking to angry people and calming them down, be support. First line support is usually scripted but later support requires some technical knowledge about the product.
If you like talking to happy people, be sales engineering. This usually requires some coding to accomplish tasks, more than likely script level. It also requires you to look good and knowledgeable because you are there to help make a sale.
If you like solving problems made by people themselves, by a sysadmin. You are there to maintain a system from people who think they know what they are doing. More than any other job, you will more likely be put on "call" so expect to give up some weekends. On the other hand, when things go smoothly, you can do more of your own pet projects than any other department and have more control over your own environment.
If you are organized and are good with people, be part of management. You need to have the background in the managerial area you are tasked with and you need to be able to implement proper processes. You need to be able to play the political game without sacrificing your own people and still maintain a team player attitude. You need to understand what people are capable of doing given what you have yet know when they are maximizing their full potential. You need to withstand blame and defend yourself without looking like you are just making excuses. You need to come up with solutions to situations on the spot or with no easy answers. You need to be able to fire/demote friends. Sadly, most managers can't do most of these things and are made managers because of their time or who they know which is probably the greatest skill necessary.
You do not have to program everyday all day to work in IT. I was in your place once.
Sure, the people that sit in the basement without windows will tell you that you must program and they probably do ALL DAY LONG.
You could network admin, you could also do QA, or even work with GUI web dev.
Sometimes you can analyze code for errors even if you don't feel comfortable righting 1000 from memory alone. Some people use their analytical/logical skills to find errors in work.
Thoughts from a guy who has been there.
I am one of those non-techincal people who waste large sums of time on Slashdot (a.k.a., one of the idiots). My last "program" was a (poorly written) html homepage.
Yet for a non-technical person, I have a pretty damn good understanding of technology. Our job is to talk to the technical staff, translate technical arguments into English and all without sacrificing accuracy. There are any number of industries where techincal staff are required to interface with a non-technical personnel and where effective communication means the difference between "winning" and "losing." Someone with people and/or writing skills should think creatively about these types of opportunities.
I ended up going to law school. Lawyers with a technical understanding (note: I didn't say techincal skills) are in great demand. Of course, law school is a drastic option, but the principal is equally valid to a number of industries.
Friends of mine with computer science degrees work at the US Patent Office. The Patent Office is frequently searching for people with scientific degrees to fill examiner positions. To my knowledge you must relocate to DC to work for them. I believe the pay is mid $40k to mid $50k. I'm uncertain if there are any postings currently online but I imagine if there were, they'd be at the federal government job site (usajobs.opm.gov). I'll try to find out if there's some kind of referral bonus so my pals will get credit for the hordes of /. applicants so please let me know if you apply!
See the following topics: Database(architect), Network engineer, Security Engineer (risk assessment and the like), software integration, enterprise architecture, business development, innovation/evaluating new technologies, writing requirements, testing, program/project management, middle management. Basically, you really just need to start working for a large company that deals with IT, technology or engineering and then move around to different job functions. After you get hired, your degree doesn't matter much. You might try to get into a leadership development program that will give you a lot of opportunities to keep changing your job description.
Do you want to work with developers?
Having written some code, you could find a passion near development that works better for you. An understanding of what's going on at a low level will help, even if you don't write much code - I certainly don't write much anymore.
A couple things to consider:
Tools management - Everyone needs people to administer things like the source control or build systems used by development. There can be some fascinating problems there. At the low end, this tends to be below development but later be a more senior position than a senior developer.
QA - If you are detail oriented, but good at picking the most important five things from a list of 2000, QA might be a better fit for you than development. People would kill for smart skilled QA people who can write a little code to put together automated scripts.
Sales Engineering - You may need experience elsewhere first, but if you are social you might become a sales engineer. In this role you are usually working with the technical evaluators of some tool and helping them see the value in it with hopes that the recommend purchase to the dude with the checkbook. Most sales guys aren't technical enough to answer the most detailed questions and you can help there as well.
System Administration - You might love computers and working on them, but prefer a bit of scripting and debugging of systems to writing small subsystems of code. A good sys-admin is worth his weight in gold. Might be worth considering.
The real question is: What do you love about computers or software? If there's nothing, you probably got the wrong degree. If there's something there that's fun, you'll have to dig in to what jobs are present around it.
There has to be someone who wants to pay to screw fat, pale men with bad posture.
Well, you have gotten some nasty comments. Not all It has to be programming, and I am sure that a lot of the people who wrote comments like "not a programmer in IT is useless." are in fact hobby programmers and never worked as a full time coder.
I do not suggest the manager route, besides becoming a manager with no experience is not really an option, unless it is CS or TS and you want a heart attack pretty early.
My idea was to become network/unix admin, which I was from 94-2000. In the meantime I was programming this and that, and in 2000 I started running a network of sites which landed me in a full time web developer position (not designer, developer).
Go whichever route you want, however always know some programming, and some scripting (unless you are a manager for which you only need arrogance, not caring and a strong elbow to kill off the competition for the next position.
I saw numerous DBAs, unix admins, windows admins, network guys, and a lot of them failed in larger environments for one reason: they did not know any practical programming, nor the had an engineers' mind set. They were unable to process or manage large amount of configs, scripts, data ... etc, because they lacked the skill of writing their own scripts and programs.
On the downsides: an admin job gives you sometimes lazy days, but night calls, on call, afternoon and night shifts ......
A programming job gives you weekends and 9-5, however the "code factory" never stops ... at least not where I work... one project after the other ....
In either way, do not become a manager of coders without coding knowledge .. those bastards (us) will do their private websites and other projects in front of your eyes, and you won't have a clue what they are really working on.
Actually this is the same in any job. IT people have a good chance to get "side jobs" (where I live at least), and sometimes these projects happen at their day jobs.
So this is my 2c, hope it helps ....
nt
If you were good in your accounting/finance classes go this route... http://infotech.aicpa.org/Memberships/Overview+of+The+Certified+Information+Technology+Professional+Credential.htm
Beware of those who profit off the docile and persecute the unbelievers.
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.
Starting out in software pre-sales you should be able to pull down around 80k. Five years in plan to be around 150. If you are good and lucky you can crack 200.
Read some books to learn business speak. Not everyone can communicate effectively, translating technical features into business solutions, but if you can it can be lucrative and a lot of fun.
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.
Look for a recruiter for investment banks for example. There are third level support jobs. They can be tough but it is an option for you.
All this BS about ppl saying you can't do anything is ignorant and arrogant. I was not good a developing when I got out of college and I grew into a nice position mainly because I knew how to design. CS is not programming. Any geek can say he's a little hacker - dorks.
Just work hard and you'll be fine.
Rather than searching for jobs that match your DEGREE, look for jobs that match your SKILLS.In the real world, most jobs don't require a specific degree, but rather a skill set needed to perform job functions. Perhaps it would be useful to take a look at the skills you've picked up over the last few years as you've progressed through your curriculum and outside jobs. Then do some thinking about what fields need these types of skills. If you broaden your horizons, you will find that there are many jobs that you are qualified to perform that are not directly related to "Computer Science".
-- Anyone who has never made a mistake has never tried anything new. -- Albert Einstein
Are you comfortable troubleshooting computers, (re)installing operating systems and applications, setting up networks, unsticking printers, helping to train users for simple tasks, and maybe a bit of webmastering?
A lot of places are looking for people like that -- somebody to be the go-to person for everything computer related. The job title varies, anything from "Network Administrator" to "Technology Coordinator".
Usually the places that want to hire this kind of general-purpose computer geek are smaller outfits, places in the 5-50 employee range, that don't have an entire IT department. The boss or their assistant often gets stuck *trying* to do the computer stuff, isn't qualified, doesn't like it, and would *love* to shove it off on an "expert". (Non-IT people use the word "expert" extremely loosely when they're talking about computer geeks.)
For example, I can tell you with confidence that a lot of public libraries are eager to hire such a person. On the system-administrators-only mailing list related to the library-automation software we use here, anyone who can put together a SELECT statement in SQL to pull six fields out of the database for a report is held in awe, I kid you not. Many libraries despair of ever being able to hire someone like that.
You'll probably end up doing a bit of small-scale programming, in practically *any* IT job, certainly in any systems or network administration job. A simple CGI script here, an overnight backup script there, whatever. You know, glue code. It kind of goes with the territory. If you want to work with computers, doing anything other than data entry, you'll probably need to do a little programming (or at least scripting, if there's a difference) from time to time. Writing three lines of code once can save you from repeating a simple but tedious task every day/week/month for *years*, so it would be kind of foolish to never want to do any programming at all.
But there are a lot of sysadmin/network-admin jobs with not much programming, nothing very difficult, large, or complicated, and certainly nothing you would call application development. You might never EVER have to touch a traditional compiled app-development language (C, C++, etc.).
I've been working in this line of work since 2000, and so far I found myself writing *one* short function in C, one time, some eight or ten lines of code, to adapt a piece of existing open-source software just slightly to meet our needs. One time. I do write glue code in Perl somewhat more often, and web stuff, including a bit of Javascript here and there... but honestly it's such a small part of my job, I literally do more programming at home, for my own personal use. Furthermore, I could get by with doing even less programming at work, if I didn't like doing it.
Cut that out, or I will ship you to Norilsk in a box.
I have a M.A. in History, now getting a PhD. in Linguistics and working 10 years in IT (Unix admin, programming).
It's about what do you *like* to do and how much do you want (and like) to learn.
My 2c.
C
I never knew what happiness was until I started to work in IT... then it was too late!
Porno
Do you have any interest in management? You could manage software engineers rather than be one.
Of course, to do that, you might have to spend some time being one first. Would that be OK?
I am in the same boat as you, I recently graduated and work in IT field dealing with hardware, software, networking, tech support, and training. I am currently looking for programming job but nothing too "hardcore." I am pretty good with webprogramming/database management and I prefer that. I would suggest to you something like a QA position, program manager, or program analyst. Good luck finding a new job.
>(...) law school is a drastic option, but the principal is equally valid to a number of industries.
The principal or the principle?
You remind me of the old joke. In Boston a student is standing in line in a supermarket, carrying 15 items to a "10 items or less" express check-out. Is he an MIT or a Harvard student? (...) Could be either. MIT students can't read, Harvard students can't count. So... what happens if an MIT student goes to post-graduate studies at Harvard?
Yes, I have good Karma when I don't post anonymously. And yes, I know I am trolling. Go ahead, mod me down...
While your lack of ability may give you a lot in common with many others in management ranks, your honesty about that lack of ability will make that career path a non-starter for you. I'd advise working on ways to puff up what little talent you have. Perhaps volunteer on a political campaign....
What I'd like to know is how I can get a programming job without having a CS degree. I consider myself a pretty darn good Perl programmer (three years of experience at my current job), and there seem to be plenty of Perl jobs available. However, I just can't seem to make any progress in the job market--lots of recruiters from India calling, but no promising leads. Any ideas?
I could probably get by as a programmer or DBA, but I'd get bored with the same thing day after day. I like Quality Assurance because I do a little programming-type stuff (small apps to help QA or scripting with QuickTest Professional), a little project management stuff, a little database stuff (writing queries on the database, writing stored procs to assist with testing). It's got a nice variety. Range probably starts at $30,000 for entry level, up to $100,000+ for high-end load testing or consultants. Check the indeed.com salary survey for a better range in your area. -Scott
why'd you waste your life doing a degree if you didn't attend any of the classes? surely they can't *all* have been programming classes, or you would have quit or failed your degree.
and didn't your "big" university have career/guidance councelors?
didn't your tutors help you when they saw that you sucked at programming?
The reason girls and Windows users don't understand UNIX is because all the documentation is in Man files.
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.
Obviously, system administration is a viable alternative as well. Pay is on par with programming salaries, and you may even get to program sometimes.
As someone in in a similar situation to your's (albeit, with about 5 years of sysadmin/db admin experience for smaller companies), I can relate. I'm not entirely fond of coding, particularly in the languages which people are hiring for (.NET and Java with a preponderance of those both being focused towards "Web 2.0").
Part of the problem is that you're going to be competing for non-collegate level "computer people" for most non-programming jobs you'll be realistically looking for, as they'll be "1-2 years computer tech experience required" or similar.
Realistically, you've only got a handful of options:
Call center work (such as for a bank), which anyone can do if they can talk on the phone and are willing to do tedious, repetitive work.
GeekSquad or similar "computer shop" work. It's what you've got experience doing.
Apply for a large hosting company, like Rackspace, for an entry level position and, while continually improving your skills in a manner targeted for higher-level jobs, seek said jobs. Should take a couple years to get past the "stare at the blinky lights and report failures" stage.
Luck out/search for half a year or so and find a small company which will employ you as their "computer guy". I'd figure about 10-20 full-time computer users, or 10 full-time "professional" computer users (CAD, publishing, animation, etc.) would be a realistic expectation for company size.
Go back to school and get a management degree.
Find a very small, remote-area hospital with an "IT Manager", "IT Coordinator" or similar position opening, and apply. If you can stand living in the county seat of a county with only a couple thousand people, this would be the route to get a large amount of "experience" quickly, allowing you to get better jobs in the more populated areas, but it's going to suck huge monkey balls and not pay all that well (for IT - it'll probably be a good two+ times as much as the area pay average) while you're at it.
Unfortunately, it seems that there's little advancement opportunity (or even employment opportunity) in IT for CS/IT majors unless you're a programmer or go back to school to get a management degree. Most network/system administrator jobs seem to want 5+ years experience in a similar environment (completely ignoring the fact that similar skills and abilities can be learned outside of such fringe markets, and that general skillset and approach to admin work is more important than the specific technologies a person can pick up in a month or three). Add to the fact that there are very few organizations big enough to have a "tiered" sysadmin structure (jr admin, sr. admin, etc.) on a whole, and your options decrease even further...
Side note: just a BS in CS and desktop support will not technically qualify you to be a competent sysadmin. Only a small subset of sysadmin skills are taught or easily obtained through the rigorous pursuit of a CS degree, from what I've seen.
It is astounding how many people call themselves as such and yet do not have a basic understanding of the kind of work a sysadmin does, instead seemingly taking cues for what to do from the BOFH. DO NOT DO THAT. Well-performed sysadmin work is every bit as technically rigorous as (say) programming, requiring hundreds of hours each of research, regression testing, debugging/error tracing, planning, programming/automation and extensive documentation.
And if you're the sole tech guy, count on several hundred hours a year of tech support and crawling on your belly pulling/pushing cables and components, too.
Too many people (both inside and outside the field) assume computing "administrators" just have to make sure everything is up to proper patch levels and that the backup is set properly, having no idea how complex and time consuming a proper, rigorous sysadmin role is.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
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
Hey, I like that idea. Maybe the guys who're working on the hybrid human-pig embryo could help with the cloning.
== Jez ==
Do you miss Firefox? Try Pale Moon.
You went and got a BS in Computer Science, but don't know or care to write software. I want to know school you went to so we never hire anyone from there.
-----
Lady in plane:
What car company did you say you work for?
Jack:
A major one.
I am a CS Major about to finish my degree. I'm an instructional design intern at a community college. Basically a Instructional Designer helps faculty design online content (WEBCT courses). I occasionally design templates and courses myself. We also help faculty adjust to applications.. ie Photoshop, Frontpage, Powerpoint etc. It's not a bad job.. I prefer programming, but if I didn't this is where I'd probably be. The pay is good, the people are nice. As long as you have some patience (sometimes this job can be more or less a help desk job...) you might want to look into it.
Become a consultant.
I joined two users too late.
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
a janitor
Actually, a computer science degree can get you in the door at many start ups and small companies as the only "admin." This really means IT, but it looks better on the resume. You will also be treated as the authority on everything computers. You can probably command a decent salary that way as well. Probably the best bet for starting out. It also easily translates into a management position as "admin" sounds like "leader" or "responsible guy."
If you are able to do a lot of abstraction and to adjust yourself to the semantics of that particular business, you just need to pick up the money from the pavement, because your competition usually consists of accenture material and generally lacks of common sense and pragmatism which is stuff that your BS should have taught you.
Exactly (and by the way, that's not an ad--those courses are free and they're useful. I did them just to learn to trade for myself, and its paid off nicely). We have the critical thinking skills, math skills, and logic skills ... but IT is not where the big bucks are. Oh yes, you can make a nice living, but as you said, there's much more to be made applying our skills to other aspects of business, and one key rule of thumb is this:
The closer you are to the money, the more you make. IT is often rather distant from the money (less so if you develop or work on the trading desk, but still further away than a trader, accountant, or CEO).
The Future of Human Evolution: Autonomy
become a professor
Dude, can't you read? He said he can't program. No programs. No automated scripts. Nada. Cinch. His clear-cut career path is becoming PHB.
The Marine Corps has Communications Officer positions available.
Computers, networks, satellite communications, telephone switches, tactical digital links, etc.
Must be a U.S. citizen, good moral character, great physical shape, completed undergraduate degree, and eligible for a minimum security clearance of SECRET, although as a communications officer, you'll eventually be required to obtain a TOP SECRET clearance.
Contact your local Marine Officer Selection Officer.
www.marineofficer.com
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.
I know plenty of solid network engineers who can't cut code. System admins/engineers tend to do some basic coding (shell, perl, etc) which is pretty easy compared to serious software engineering.
I actually studied programming and came away with a CompSci degree and realised I wasn't a programmer at heart (although I got good marks at university). It took me awhile to find my calling but there's far more to IT than programming. If you're willing to learn and be flexible, you'll find a job you gravitate towards.
Shame your degree sounded rather wasted though. :( At least I got a lot of fundamentals out of mine.
I once did some QA for a little while when I had just joined a company and they didn't had a project for me immediately.
Good thing it didn't last long:
I think i was even starting to develop an evil laughter ...
I'm not sure when programmers were placed on such high pedestals around here. While the programming and project management that has happened with the rise to prominence of Linux/Open Source software is glamorous, the vast majority of programming jobs are not glamorous. A lot of them suck hard - especially if caught up in a project that is 100% in-house software development. Long hours, crunches, endless bug fixing, unrealistic schedules, changing requirements...
Yeah, I like programming.... for my own purposes/projects. Most of the programming jobs I see out there though are jobs I don't want any more than I want front-line/help-desk position. Now... design positions or architect positions, where you actually get to play with putting technologies together in new ways or designing new solutions - very cool - and something I get to do a fair bit of within my industry IT job. But just slinging code at the behest of a schedule and requirements document - I'll pass.
If you are good at tech support, then do tech support. that's what I did. it doesn't pay awesome, but it's enough. starts around $40-$45k for a cozy gov job (great benefits!).
I am not very skilled with programming.
That has never stopped a CS grad from seeking a programming job.
If you can't do it, teach it.
I did a computer sciences degree but opted to work as an AIX/Unix sysadmin, doing some programming in perl, java, c/c++. working with source code in the opensource domain
and it pay very well
Would you like fries with that?
"You'll get nothing, and you'll like it!"
'You should be better qualified for many of these positions than liberal arts majors."
What? All the things you just mentioned are basic aspects of what a liberal arts major is. Furthermore, who are these supposed "liberal arts majors?" That degree is rarely handed out. Do you mean those degrees from the Humanities? That's hardly considered a liberal arts degree.
Programming is a special form of problem solving. It's the ability to take a problem, break it down into its component pieces, sequence it, and implement it in a variety of different languages. All of the steps, except for the implementation in the target language are the same. This is an essential part of understanding computers and programming, and if you don't understand or can't follow through on the process you're in a field where you are poorly prepared.
You wouldn't, after all, have a Structural Engineering degree, and then be telling us that you're really not much good at designing bridges and wanted to know what other work you could get in the field related to your degree now would you?
Or a C.P.A. who doesn't work well with numbers.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
With the amount of math and science you've taken, you could probably easily qualify for a teaching job through teach for America and the like, and they don't care that you haven't taken any education courses and don't have a master. Pay's not great, but most of the fellowships pay for your masters.
open source modern art: laser taggi
Besides, PJ and NYCL could use some help and I'd appreciate knowing there was one more person out there to help in the war against the RIAA^H^H^H^H^H^H^HStupidity.
Do not mock my vision of impractical footwear
This isn't a direct response, but one of the biggest things in java right now is continuous testing. The tools make it extremely easy to 1) write unit tests, 2) run said unit tests as part of your build process, and 3) verify your unit tests have good code coverage.
It's not a silver bullet -- far from it -- but if you're diligent it's a very good way to catch unexpected changes in behavior very quickly. Definitely before anyone starts to depend on the broken behavior. That, by itself, goes a loooong way. We still had to work with testers for the functional testing, but we were able to focus on adding missing functionality instead of things just not working right.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
How about a job as a Systems Analyst?
I've met an awful lot of "sysadmins" that are perfectly capable of calling support, writing very simple scripts, etc but have not a clue what happens behind the scenes. With a background in Computer Science, you can approach problems from a different direction. For instance, "This is looks like O(n^17), there's nothing wrong with your hardware..."
You probably wouldn't want to start off as an Architect, but I think that could be a pretty cool job.
How about a Reliability Engineer? My understanding is that you try to use failure rates, statistics models, etc to try to predict time-to-failure, failure modes, etc. There may be more math in that than you would like, but I think that it would be a cool job.
I started working for an IT contractor (for the gov't) almost 6 years ago at age 25. I only had an associate's degree in systems engineering. I got the only position on the contract that didn't require a BS degree. I was told by my project manager to go back to school. After a year with my company I went back to school and they paid for it. I finished a BS in CS but I continued my job as a Systems Engineer. My title officially changed about a year before graduating. I continue to do the same work but I do no development work at all. I do requirements analysis, design, test, and deployment at a system level. The CS degree was fun (I like programming) but I don't have any professional experience with programming. I've stuck to doing the engineering. When I eventually go back for my Master's it will be in CS. Point being, just because you have a CS degree doesn't mean you have to be in development and if you can get a job with a gov't contractor I think you'll get great experience. I know I have. I got 6 years under my belt now and a BS degree. And if I stick with my company for at least another 6 months I don't owe anything for tuition (even books were paid for). No school loans. It's great.
this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
Less stress, more fun, you do good, and you tend to have a life except around grant renewal time.
Plus, you get to save hundreds of thousands of people.
Pay? Not as much as the CS side, but you tend to work around university crowds, so there's not so much of a social push to spend, so you end up with great retirement plans if you keep living like a grad student, plus you can work on your doctorate and attend seminars for free.
-- Tigger warning: This post may contain tiggers! --
While I was very good at programming, I didn't want to develop crap business applications all day as I didn't want to go insane, so I moved into Analysis. Specifically, I do User Experience Analysis, but a lot of CompSci people move into Business Analysis, Requirements Analysis, Process Analysis and so on.
take a job as a junior programmer, or work your way into one. You don't need to know a million buzz words. If you know "computer science" then you can learn how to be a good programmer. A senior level person will mentor you and teach you how to be a software engineer.
follow my lead and become a patent attorney.
You could try for a small to medium sized ISP tech support.
I did that with only 1 year of CS under my belt and though I had no clue what I was getting into I quickly ramped up and learned TONS about networking. I never knew networking would be so fun, but when you get network admins with 6 or 7 certs on their e-mail signature calling you up, and you explain to them how the internet works, it can really make you feel good.
Plus the potential to move around is incredible. One buddy (unfortunately) moved into our service engineering operations division where they ran the datacenters and fixed all the windows servers (lol). Another buddy moved into the VOIP division and was implementing brand new unheard of features and turning up 200+ clients a project. Still another moved into the security department and began exploring the worlds of VPNS and Firewalls.
All good stuff... but you won't really get that from a larger ISP because they're usually really slow to move and pretty set in their ways.
You're nothing; like me.
1) Programming isn't the only thing CS majors do. Go talk to your academic advisor and alma mater career center about options and career paths. ... but, you'll do better following what you are passionate about.
2) Figuring out a company culture is more important than how much they pay you. If you hate where you work because you don't "click", they won't be able to pay you (with reason) to stay.
3) Forget the degree, what's your passion? Just because you graduate with a degree does not mean you have to follow it for a career path. Granted, you are better prepared by following it
You are the failure we all feared. We could see this day coming, sneaking in, but what could we do? What could we possibly communicate to one that is not horrified by what you wrote?
You are the lifeguard that can't swim. Your very existence is a testament to a system both too young and too rotten already.
I don't blame you. But its bad.
I figured out about 2.5 years in that I couldn't code to save my life. Now I can tell you when to use a binary tree or a linked list, etc., but it'd take me forever to code one up.
I switched to the mathematics program and enjoyed it immensely. The only problem now is that I don't have a degree in something that people acknowledge as being "technical".
And then, of course, I get the brush-off because I don't have This Month's Must-Have Certification, even though I have the experience from previous jobs.
I'd be more than happy to do something related to math/stats rather than IT, but then I have zero experience in those jobs, so I can't get my foot in the door.
So with you...I'd say that you probably aren't going to be able to get much in the way of non-programming except the IT stuff that people are mentioning here. If you have the wherewithal, you may want to look at a master's degree in Physics, Applied Math, or something along those lines.
Personally, I went into IT and am really enjoying it. A little background: I graduated just over a year ago with a Computer Science bachelor's degree. Nearly all of my CS classes were programing, however I also spent the 4 years there working for the IT department. What started as basic support (both in person and over the phone), led to assisting the University's Network Administrator and testing, configuration, and implementing wireless access across the campus. Today, I am THE IT person for a 70 person firm, where I do everything from IT Support to System and Network Administration and IT Management. I've implemented a number of projects already, and taken on a lot of responsibility in a quick amount of time. With overtime I expect to make around $50,000 or more this year.
Try System Engineering. No real programming involved and can be mainly testing and document/requirement work. That is what I went into since I hated Programming myself.
Sounds like you're a perfect Management candidate. Educated on paper, but ignorant in practice.
A short list of jobs, from the tip of my head. I work in the IT security sector (and am therefore posting as AC) where alone you can find many different jobs:
- Incident Handler
- Forensic Analyst
- Firewall Admin
- Sec Admin
- Auditor / Pentester
- Security researcher
- Vulnerability Researcher
- etc.
Not security related jobs that come to my mind are:
- Support (2nd/3rd level)
- Network Admin
- Sysadmin
- Linux / Unix
- Windows
- DBA
- Network Designer
- Network Specialist
- Teacher
- Consultant
I was in your very same position when I first graduated from college. After spending some time in QA and then working as a sys admin for a couple years I stumbled onto some guys doing what they called "Systems Engineering". The SE path is a great place to look, you'll get to use your technical skill and much of your CS theory to work on system design. You'll also get to have a broad understanding of the system instead of just one part because you (and your team) wrote all the requirements.
Stop thinking so literally.
View the world as a liberal arts student. What CS skills can you translate into other arenas? What did you do in college that you can apply to business? What did you learn in those classes that you didn't realize you were learning?
Programming requires logic, problem solving, planning, time management, project management, teamwork, vision and a slew of other things.
I have a medieval history degree and a good job in healthcare. College taught me critical thinking, research, and communication skills. Graduating proved that I had dealt with deadlines, completed assignments, could work under pressure and had the persistence to finish. These are all very marketable skills.
It's all a matter of spin. "I can program in C++ but I'm not very good at it" or "In my work, I look for logical patterns and determine possible outcomes to work towards the most productive solutions."
You're only stuck in a CS/programming career if you tell yourself you are....
If you graduated from a private college, have a good average and decent math skills you could land a job at a trading desk.
Do you know how to flip hamburgers?
I work for a utility company and support infrastructure such as application servers. Get into application server technology mainly java. Thats where the money is.
when you outsource your class assignments to India.
What Would the Fab Five Do?
I can't believe nobody has yet suggested learning the phrase "you want fries with that?"
From the sounds of it you're leaning toward a system administration position. Managing desktops, servers, helpdesk, etc -- a perfectly reasonable career path for some folk. That said, only if you're comfortable making 50-60k for the rest of your life can you can get away without any programming.
What you're going to find out is that in today's day in age, system administration is all about automation -- and automation is all about scripting. This holds true for any platform: Windows, Linux, OSX, etc. Even if you're horrific with traditional languages (C/C++/Java), you're never going to advance in a sysadmin position unless you become proficient in a scripting language like Python or Ruby.
My recommendation: learn Python. Of the major scripting languages Python is arguably the easiest to grok. Once you understand simple procedural scripting you can move into OO-scripting, and from there you can begin to utilize the wealth of the sysadmin modules/frameworks Python has to offer. After that I'd probably recommend you check out Ruby and the excellent Puppet project http://www.reductivelabs.com/projects/puppet/.
Either way, if you're not going to learn a scripting language, don't expect anything beyond entry-level work for the rest of your IT career.
Every time I hear the words "sales engineer" a little piece of my soul dies. Sorry, but selling tech does not make you an engineer. Don't encourage bad diction, please.
Go back to school and get a Fine Arts degree.
I work at a law firm that specializes in intellectual property. A number of my colleagues have computer science undergrad degrees and are also lawyers. If you can stand being in school for another X years, I'd recommend getting a law degree.
On a related note: what do you do after almost 30 years of programming? I started in 1980 with an MS-CS. Since then I've done almost nothing but write code. No serious forays into management. A year of teaching college, a year or so of Software QA (both near the front-end of this career).
Now I'm starting to tire of it. I'm not the only one; I have a friend with about 25 years in the biz, all coding, and he's already dropped out.
I have a BS in Computer Science from a major university as well. I did fine in my classes but I've never worked as a programmer. Instead, I work as a technical artist at a video game company. If you don't have the art skills, there are positions in the industry for game scripters, tools programmers and the like, which don't require the "science" related to that major. It just takes a the ability to learn a compiled or scripted language and basic problem solving. Pay is all over the board so I can't tell you offhand. I'd guess around $50K to start, depending on which part of the country you're in, etc.
Why don't you pursue a career in network engineering or administration? I'm doing that right now and sort of wishing i knew a little more programming language. I'm going back to school full time in the fall for the BS in CS. Sounds like you should get yourself into a position as a Junior Network technician somewhere, i'm sure they will take fresh meat anyday :) Of course it's a tad more physical than strict programming.
There's also the server side of things. Maybe as a server technician? or a Server Administrator (systems admin type job). It honestly depends on what you are good at and where you think your talents lie.
"In the kingdom where everything dies, the sky is mortal."
Business Analyst, graduating with a computer science degree means you know enough about programming to write up documentation for real programmers.
First off, I don't mean being a packet logger/analyst for RIAAAA!
Seriously speaking: your local or national police services are always looking for people who can gather information from a hard drive / break crypto / extract contact lists and e-mails / steganographic analysis / plant bugs; you name it. It may not seem like the most glamourous work sometimes but I will guarantee you you'll never have the same day twice.... and you'll get the satisfaction that you're actually helping to make a positive difference.
If you're a Canadian, the RCMP are always looking for people in such positions. Here's a link for their job postings:
http://www.rcmp.ca/recruiting-recrutement/other-autre/opportunities-opportunites-eng.htm
I bet the FBI, NSA, etc are all looking too. I understand the US also has a "Cyber-Command" now... but you probably have to be a soldier first, I think. Anyway -- Good luck on your job hunt, non-programming CS major!
As someone who just graduated, I find your situation perplexing but not surprising. This sentiment is very common in my opinion of people, such as ourselves, who have just graduated with a CS degree. I personally sat in on an Industrial Advisory Board and Computer Science Curriculum Meeting at my University and heard many of my classmates voice the same concern. I think, like many that have replied today, that CS doesn't necessarily translate into 'programming' but into computational and systematic problem solving. Your degree should not limit you to programming, but offer you a wide range of job opportunities where these principles can be used. You could become a professional in any field and utilize what you have learned; besides, a degree doesn't say too much other than you probably know something about a subject and you endured 4 years of school. But this is just my opinion, what do I know; I just graduated. -Just another programmer
Before I went back to school I was working developing high level application mostly forms/ databases. I was designing but I just always ended up more useful developing.
I went back to school and have a computer arts degree where I learned mostly about animation and design.
After I went back to work, a year and a half into it I'm back making high level web apps.
My concern is that because I don't have a CS degree, am I screwed when I leave this place looking for a programming job?
I'm reading Code Complete and sucking up as much info as I can but I feel like I might be screwed w/o the CS degree.
I love developing, but I'm no computer scientist.
Do QA. It pays just as well as a developer. If you like to do a little programming on the side, but not a full time career in it - do what I do, ask for some automation related projects (as in automating test cases). Keeps things interesting minus a lot of stress. If you don't want to do any programming at all, well just be warned that repetitive manual testing gets very boring very fast.
After working in the computer field as a repair technician, closer to 40 years than 30, I can have relate to this individual. I got into this business after a 4 year stint in the USAF rebuilding airborne electronic systems on F105 after being shot to pieces over the unfriendly skies of North Viet Nam. The main reason at the time was I was deathly afraid of the High Voltage generated by this equipment. Also this was a relatively new field and fancy degrees were not needed. Just a desire to learn and alot of hands on experience. I was self taught and was considered a highly skilled repair tech. After a successful career with various computer companies and Fortune 100 companies, I retired and run my own one man business repairing PCs. You have to do something that you enjoy and have to be truthful with yourself in that respect.
You'll be glad you got out of software development. It's a horrible occupation where those with the largest egos constantly go around telling all the other programmers that they are crap in front of their bosses for the sake of job security. It's a job where you are constantly put under pressure from your boss to explain yourself while actually trying to get stuff done, and monitored and analyzed as to your production levels on a daily basis and compared with overseas talent that costs 1/3 as much to hire. Software development is a cosy, good paying job on the surface, but underneath it is buttloads of overtime, and you have to deal with people blaming you for other people's problems and then justifying yourself over and over again. Too much political slime oozing around. Yuck. Teach English, move to the tropics and get a foreign girlfriend instead. Worked for me.
I left uni, got a software development job, then discovered that the other opportunities with my particular employer were a lot more interesting. I had also done electronics, so I spent 2.5 years working on a robot for sheep meat processing, robotic gripper applications, and other interesting things. At the same time I did a lot of Solaris, NFS, and Windows support, and when I left I got a job as a Unix admin. I did that for 18 months, got involved in security, and ended up running the security infrastructure. I've been a paranoid security geek ever since.
I now spend quite a bit of time "programming", although given it's usually hacking bash scripts and the occasional foray into Perl, I think "programming" might be a stretch :-)
It's not so much that you are a crappy programmer. What the heck are you good at, and what do you like to do?
That should be your focus.
Next try and bind yourself as glue between the stuff you are good at, and like to do, and the IT/automation department.
Then you'll be golden, useful...you'll be indispensable.
Glad I could help.
Loads of jobs
Systems/Business Analyst
Test Engineer
Technical Project Manager
DBA (although some sort of SQL knowledge would be required)
Sys-Admin
IT Support
Security Specialist
etc
etc
etc
BSc Computing Science does not mean you have to be a Programmer
I also have a BSc in Comp Sci - Did 18 months as a C++ programmer, at which I was decidedly average. Had a 6 month stint as a Sys-Admin before becoming a Test Engineer, 8 years on now head of a Test Dept
I think the poster needs to really assess what type of career he's looking for. As a comp sci major, if he hasn't delved deeply into programming (beyond class work) and isn't into the other computer science focus areas (hardware, graphical design, etc), I'd worry about whether this was truly the right field. Unless he has real financial needs (babies, dying parents that need support), he needs to recognize that setting a course that fits his interests is far more important than finding a job area that pays well.
Smarter than sysadmins at any rate.
I code for a living and as hobby.
But, when I do it as hobby it's either for vintage micros or its open source development.
That keeps it separate enough for me.
Many IT companies(Large services not product development) in India, hire people who do not know/want to code and get money from their clients! You get to talk and travel in the name of doing something. The job involves mostly rerunning a job in case a problem mostly because of a bug in the system introduced by a programmer who developed it in the first place. Mainframe developers are of this kind.
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.
I went through the CS program at the local university. It was in my senior year in college, after pulling all nighters for an Operating Systems class (mind you that I pulled in an A- on a Masters level class), that I could not deal with programming any longer... So, 10 years later (14 with the job I was working at the time) of experience.. I have gone into business for myself and make over $15k a month doing IT work.. What have I learned. A degree will get you a look, but your talk and experience will get you a job. If you want corporate, the degree will get you in for an interview, but you better have something backing you up. I am looking for employees and I cannot tell you how many certificate wielding/MBA people are SO clueless to the IT world. Final words... a degree will get you a drink, experience will get you to the sack...
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
Try IT Internal Auditing. Solid demand for those with CS knowledge in entry level roles. Great way to meet senior managers. Good $ too.
Most global tech companies and firms like Price Waterhouse, KPMG, E&Y and Deloitte are top tier prospects though you need an attitude of confidence....
I'm sorry, but CS isn't programming. You might use topics from CS in order to program well, but being a "good programmer" does not, in my eyes, make you good at computer science. Maybe I'm up on a high horse or something, but CS is about theory (making it applied math, for the most part). Everything else is either software engineering or system administration. You don't need a CS degree to run an IT help desk: That's something you could pick up the skills for on-the-job. You can start working on developing a working knowledge of a particular language in a short time period (actually understanding the ins and outs will take time, but probably more time than you could have spent getting your "CS" degree in the first place). If you understand what's going at a very abstract level, it's easy to write good code, regardless of the language. It also means you probably have great analytical skills (which make you great for all kinds of work, like quant. funds). If you only can crank out half-baked code, you might not appreciate the theory behind it all. Maybe I'm biased because my CS degree's from a place whose CS majors end up going to grad school, work for a hedge fund, or go work for Google, but it's at least shown me that CS != Programming
Seriously, teaching is interesting, as you learn twice. And get a Ph.d. From someone who's in this area for 20+ years and still don't know to program decently.
Why don't you ask Steve 'Ball'mer ??
Get a job in marketing.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
At best, you might discover that you enjoy working in the developing world, and there is plenty of need for people who can do things with computers.
At worst, you get an all expenses paid vacation during which you can wait for even better responses to this post.
*bias alert* Im a PCV
Make more money than CS grads. Do something you're good at and you enjoy.
... Most importantly you'll understand the issues programmers have, which most management is clueless of.
The combination of CS degree and MBA will put you on the "pointy hair boss" management track, and you can still have interactions with programmers, understand what they are talking about, and be a good worker cog in the machine.
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
You might want to consider a career in one of the intersection fields between IT and business such as Enterprise Architecture. EAs don't program typically, but a good fundamental knowledge of IT is highly valued. EAs need to understand both their company's business and the supporting technologies equally. Most EAs I know make 6 figures. Good first steps include reading an EA book, practicing modeling using something like IBM's System Architect, and understanding some of the leading EA frameworks.
leave computing field
no static engineering practice
all just come into mind
trial-and-error
The Science of Algorithms. Expression, and analysis.
As far as I know, it doesn't have much to do with coding. And it sure doesn't have much to do with computer hardware. In fact, about the only "real" computer sciences job out there is teaching. Or, coming up with new algorithms.
Sometimes, you get to make a breakthrough; a single such breakthrough can make your career -- p-v semaphores and quicksort would be exemplars.
Which makes a "Computer Science" degree about as practically useful as a fine arts degree. Which, in turn, is why schools are tending to concentrate on teaching practical programming skills.
Now, you have indicated that you don't want to go into the programming end; which leaves the purer expression of Computer Science. Go for an advanced degree.
Just another "Cubible(sic) Joe" 2 17 3061
That won't require any programming skills!!
Comment removed based on user account deletion
I currently work as a internationalization advisor. I make sure software complies with linguistic, cultural and even political standards required to be marketed in each country. Companies hire me when they say: "We want to sell our software in [insert list of countries here]; what should we do to ensure a smooth translation and localisation process?"
Then I have to explain about how the date format varies from country to country and how the week starts in different days, about national characters and codepages, about writing right-to-left, and even about things like "if you have a drop-down list of countries and Taiwan is there, you cannot use the label 'Select country' for that list if you are selling to China".
It's a fascinating experience, and thanks to this job I have had the opportunity of meeting people from everywhere around the world and working in very nice international teams (I remember my first task abroad: it was a team of people from 27 countries!)
Despite what it may seem, no lots-of-languages knowledge is required; for me, only English (I'm native Catalan/Spanish speaker) and then some clues and basic knowledge about how a language is built and which special needs it has for localisation (i.e. Arabic is written right-to-left, Japanese has three alphabets, Russian has declination cases, etc). Also, no advanced programming skills are necessary; just a very basic knowledge of the most common languages (for example, I do not know Java or JSP but I know what "i18n taglib" means, and I can recommend it to the customer).
A fascinating work, believe me. I quit programming ten years ago because of this job, and I do not regret (of course I still do some programming for fun!)
Strength, balance, courage and reason. If you know what's this about, contact me!
All big organisations deploying new systems need people to train their users. This would ideally be someone who can read technical documentation and understand how the system works.
I was at one point involved in writing a report on the deployment of a incident report system for the police, and was very surprised by how the users complained about how impractical the system was simply because they were doing it the wrong way. The reason for all this dissatisfaction was that they hadn't received the necessary training to successfully use the new system.
Put simply, all the effort you put into developing a great system is wasted if the users are not trained. You can see how important this job can be, and I'm sure there are organisations that see the value of this and pay people who can do this job what they deserve.
The interactive way to Go -- http://www.playgo.to/iwtg/en/
Here are some positions I know of... from my classmates who didn't enjoy programming: 1) Teaching 2) Sales 3) Call Centre support 5) Recruitment Agent 6) Priest/Clergy :D
If you like wearing a suit and are willing to trade your soul for buckets of money then have a shot at the graduate programs offered by most of the big players in financial services.
I graduated in 2002 when it was hard to find jobs, so I started with whatever I got. The first job that I got was in Tech Support. Its a nice field and you get to learn lots of important aspects that will help you throughout your career. The most important one is working under pressure. I then shifted to managing a team of developers working on the same product that I supported. And now I have an offer to lead a testing team. There were lots of advice about choosing management as field but remember that you cannot get into management without doing the initial groundwork and Technical support job is a good one contrary to the popular belief.
From the sound of it, you can probably be hired on to teach CS at your alma mater.
What are you people smocking? which sysadmin/dba does not have to code? wtf?!?! my ~/src dir is close to 20mb full of C, python, bash shell scripts and SQL queries! and though i will admit of being quite high while coding some of that stuff, i do take full responsibility for creating most of that Frank-N-Furter code.
how the heck are you gonna just ofload/automate your work if you do not code?
All H{e,ai}ll from the Scary Devil Monastery,
A Brother in A[rl]ms
----
I need people who know their way around computers.
People who aren't afraid to break and fix things.
People who are intelligent, good problem solvers, and are good at writing.
If this describes you, go here: http://geminisecurity.com/company/careers
Check out our infosecurity industry blog: http://securitymusings.com/
Lots of clever jokes in these comments, but maybe not many people who have been in the same boat. I was. And I think we're not alone.
I majored in CS at a Polytechnic Institute in upstate NY. By my senior year I realized I really don't enjoy programming and didn't have the passion to do it well. Luckily there was an embryonic Cisco Networking Academy developing within the Computer Science department. Many of the profs hated it because it wasn't 'pure' and they thought it was a cert factory for low-level IT techs, but a senior Cisco exec is an alumnus and the school was pandering to him for donations, so the program continued.
I took several courses that focused on network technology, protocols, and equipment, and earned a few Cisco certs along the way. These were not boot camps, mind you, but multiple semester-long courses with seriously heavy syllabi.
Now, 6 years out of school, my entire career focus has been network engineering, design, and integration. I've broadened my scope to bone up on product lines from Juniper, Extreme, and others, but the underlying technologies are the same and what really matter. I've worked for 3 Fortune 50's and I'm now at a very small consulting/integration company. All of my job hops have been by my own hand to change my environment and broaden my experience.
Having done lots of network traffic analysis using packet capture tools and the like, my CS degree has helped me quite a bit in understanding protocol details in the TCP/IP stack and even understanding design decisions in the products I work on.
Why does the oldest connection fall out of a state table when it's full? Oh, it must be a circularly-linked list.
Why are high-powered ASICs a useful product differentiator in networking gear? Ahh, bit-masking 128-bit IPv6 addresses across an 800 Gb/s switching fabric processing tens of millions of packets per second isn't something you want to do in software.
Remember the Traveling Salesman problem that requires an optimal route calculation (probably using Dijkstra)? It's the crux of IP routing.
CS chops are handy in understanding a huge portion of network design and implementation issues. Dijkstra's SPF algorithm (used in the OSPF routing protocol); efficiently processing large primes for cryptography (IPSec, SSL, etc); queuing theory (crucial to the quality of service necessary for VoIP and video services), the list goes on. Information/Computer/Network Security is a whole topic unto itself where CS knowledge is crucial.
Just read through a few IETF RFC's to realize how integral an understanding of CS is within the network protocol development community. Even though I don't participate in IETF development, as with anything you can't effectively work on it unless you understand it fundamentally.
There are options for people like us. Just because you are trained in Computer Science doesn't mean you have to be a programmer or an algorithm researcher. Understanding software and computer architecture gives you a huge edge anywhere in IT. Find a topic that interests you and find a way to get into it.
Become an expert on High Performance Computing/Clustering (HPC).
1) Learn about high bandwidth/low latency networking
2) Learn about fabric networking (infiniband, quadrics, myrinet)
3) Learn about cluster parallel file systems
4) Learn about cluster deployment
5) Learn about cluster verification and validation
6) Learn about cluster administration and maintenance
I currently don't have a degree, and have worked for a major international company for 9 years, the last 5 in clustering technologies. I currently make over $70K a year.
In some fields, it seems that scientists grossly under-use computers. I've seen megabytes of experimental data painfully being loaded into Excel to produce mediocre-looking graphs and generate trivial post-analysis.
With basic knowledge in some multi-purpose languages (be it Matlab, Python, Octave, or even basic scripting in Bash), it's simply amazing to see what can be done. I've seen 10-year backlogs of never-opened data files processed in an afternoon, with the results plotted on a few well-thougth graphs.
Ok I admit this is in fact a programming job, but you'll probably find it much easier, interesting and fun compared to your standard business/web programming gig. There's a dire need for people with basic computing skills in probably every science lab, though you probably won't make a fortune because this need is not widely recognized.
I disagree that a MIS degree is equivalent to a CS degree for folks who do not like to program. CS (at least at my University) was a MUCH more intense and detailed program while the MIS program was far too business related for the average geek. When I was in school, I was fairly competent at programming, but knew it wasn't something I really wanted to do for a profession. I'd expected that I would land a job some place doing sysadmin type work, but luckily found my way into networking roles. (Routers, not "windows networking".) It can definitely be a rewarding field and the pay can be more than adequate depending on where you go, what you do and how good you get at it...
There are lots of school districts in the US in need of teachers technology, math and science most especially. Certification is required, but there are countless districts with chronic shortages in these areas so you will likely get hired immediately. I have taught CS for 3 years now. You get to revisit that magical time when you first learned how to code. Maybe you'll remember why you liked it in the first place. Oh, and 3 months off in the summer to do whatever you really like to do that is not "work".
it would be more correct to say that programing is based on CS and CS is a branch of mathematics.
Electrical engineering and physics and technology is only needed to make computers, not to program or invent algorithms. Computers don't even have to be "electric".
Most algorithm studies I have done were done on an abstract computer anyway. Mathematicians are amazingly good at creating abstract tools and techniques needed to prove that something will work. Concrete technological realization of their ideas is not of their concern really.
As the island of our knowledge grows, so does the shore of our ignorance.
Before I got my first job in IT I worked in retail. I hated it. But I got experience in dealing with different kinds of people.
Coder's Stone: The programming language quick ref for iPad
Do you swallow?
There is a large market for Validation Engineers. As a validation engineer you split your time between learning specs for new products, writing test plans to make sure the product adhere's to those specs, running tests manually and then occasionally automating tests that are labor intensive and are possible to automate. You will make nearly as much as the SW Engineers that you are validating for while only doing a little scripting now and again.
Honestly I can't believe that a "major" American University would grant you a CS degree without being able to program. Yes sure CS is more than just programming but let's face it programming is a major part of it. How do you manage not being able to program and still get through all the course work? Please be so kind and let me know which university you've graduated from so I don't make the mistake and let my kid's enroll in that school.
Microsoft maybe?
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.
In my experience, some successful managers really do have the skills of the people they manage, even to the point of obvious mastery. Other successful managers barely understand what their underlings do. The key to success is to know which kind of manager you are.
In particular, if you correctly believe that you're the shit, so to speak, then you can make the decisions and success will ensue. If you correctly understand that you don't know shit, and you therefore delegate decisions to your trusted underlings, success will ensue. If neither of these two cases holds and you make the decisions, failure is pretty much assured. (This latter is the usual mode.)
"Not an actor, but he plays one on TV."
There is lots of work to be done in traffic analysis and search engine optimization. A real growth area, although they might not have covered that at the university.
Its never too late to change your major to MIS (or IS?), but its sort of like recanting after the inquisition has finished with you. Though expensive, college is fun and creditors can't reposes your brain!
If you went to a good school, it really doesnt matter what your major is. Companies look will look at a CS degree and figure you can do math and solve problems. In particular, Banks and Consulting firms will hire CS majors, regardless of whether they know anything about the industry. Consulting starts at ~$65k and banking a bit higher, after about 4 years you can make anywhere from $150-$400k a year depending on the industry/firm.
No one "knows how to program" when they graduate. Go get a job with IBM, HP, Sun, Novell or one of the other larger world-wide companies. They actively seek out new graduates. They fully understand that these graduates don't have a clue about writing proper code. They hire them as an investment. Both sides win. The new graduate gets a real education, with a reasonable ramp-up (in terms of months to years), and the company gets some employee loyalty (hopefully). I've been in the industry for 20 years. After 20 years, I know something about writing software. In retrospect, I knew NOTHING about writing software when I graduated.
...and what *do* you like to do? You must've gotten into CS for some reason, right? What was it that attracted you? Which classes did you like/were you good at?
Downmodding is the refuge of the weak. Don't downmod, make a better argument!
I see a lot crap in the replies and a few good things. What I don't see bothers me though. You have a degree in computer science, that means you are a scientist or well on your way to being one. It doesn't matter that you aren't a natural coder, or a specialist in any specific field. You have proven you can grasp the basic concepts of a variety of disciplines. Take off the blinders and realize that coding is a small part of the Computer World. Think about a problem, any problem, and solve it. The world is short on problem solvers and heavy with nulls and problem makers. With skills in CS, just about any door will open to you if u have an interest. My suggestion...find a job where you feel that what you do helps people, if you think you are making the world a better place, money stays a tool instead of becomming a religion
I find depressingly little time to code. I love coding, but coding ends up being just a tiny, tiny part of research (trying out proofs of concept). The vast majority of my time is working through the math or reading or writing papers.
Mind you if you're not very good at coding, maybe you also wouldn't be very good at coming up with the theory behind the coding.
Comment removed based on user account deletion
I work for a boutique investment bank, and the level of modeling done in excel here would shock you in its complexity and functionality. Most of our hires have a CS background because the analytical thinking, understanding of best practices (versioning, programming for expandability, etc), and understanding of modualization, etc, carry through very well. An understanding of finance and accounting is really secondary. Plus, it pays better and make for a better pickup line (Hey, Baby, I'm a computer programmer?).
The company I work at has a program which allows you to work for a couple years while you decide what you want to do. This takes the form of performing phone support to get you experienced with the company's products until you are ready to apply for other jobs. This is strictly intended to be short-term, with the true intent being to move you out of the support role.
I started in this position and now work doing driver development. Many others go on to work in marketing, sales, or non-development roles in R&D. A few even find spots for themselves in manufacturing, HR, or other parts of the company. These positions may not include programming on a regular basis, but still benefit from the technical background of those who fill the jobs.
While many of the people in this program are great software developers, I also think it is very attractive to people like you, who have graduated in CS or engineering and decide they don't really like it all that much.
I have seen similar programs at other employers, but everybody calls them something different. I think they are usually open to new engineers, but not necessarily experienced hires.
I have a B.S. in computer science and a very successful career where my interaction with a computer is checking email. Point being, in life you can do anything you want...As long as you know the right people and make the right connections. My advice would be to go to graduate school in a different field, get involved with some kind of networking group and meet people who might be able to get you a job somewhere else...worked for me.
You controlled your own education, right? Ask John Gruber what to do - he's the biggest fake in the world.
On the other hand, there are a few people (like me) that is an architect (those building houses normally) and love programming. Now I'm doing my "final project" in the Architectural School of Madrid. With quite some effort I managed to be proficient in C/C++/java and acceptable in some scripting languages and some compiler theory, A.I. and now investing some time in electronics. I managed to get a nice internship in A.I. applied to geometry optimization, and then worked for a "domotics" company doing a research project while studying.
I mean, do what you love and fight hard for it. In my case, I'm not supposed to be a programmer/researcher at all, but I decided to learn when it was late in my career of architecture. I keep doing it and I know I'll manage, soon or late to do what I want if I keep working hard.
Just in case my personal experience helps you...
There is always software sales, if you can deal with the frat boys in the sales department. Our company (and many others) also has a "Professional Services" group that handles complex customer configurations - basically an in-house consulting group. They are tasked with gathering customer requirements, designing configurations, some light programming and debugging, and general customer hand-holding at a high level.
I suspect that what you really should have done is changed your major when you discovered that CS was not ideal for you - perhaps a double major in something you actually liked.