Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Education

Interesting Computer Science Jobs? 352

mattskent writes "I'm currently a junior in college working towards my Bachelor's degree in Computer Science. As such, I'm starting to look pretty seriously at jobs in the IT/Computer Science field. I've spent plenty of time working entry-level IT jobs doing various kinds of help desk type work, and so most of the exposure I've had to the field is related to support of other people's computers. I enjoy helping other people out, but I'd rather not be plugging things in and restarting computers the rest of my life. Although the possibility is growing on me, I don't think I would particularly love to write code all day for a living either. What are some interesting jobs that you've had or heard of that I could look into fresh out of college with a Computer Science degree?"
This discussion has been archived. No new comments can be posted.

Interesting Computer Science Jobs?

Comments Filter:
  • by alain94040 ( 785132 ) * on Friday January 02, 2009 @05:50PM (#26304769) Homepage

    Let's see. You'll get a CS degree but don't feel like writing code for a living. That's a tough one.

    Are you a "people" person? All those introverted geeks need to talk to each other, make decisions and agree on stuff. Something that they (on average) do very poorly. You would have a career in product marketing, since you understand the geeks and can talk to them.

    If that makes sense to you, then short-term, your best bet is to join an open source project and volunteer to *organize* stuff. Not code, but organize. You'd be amazed how badly needed it is for most projects.

    --
    the elephant in the room: How to Make Money with Open Source? [slideshare.net]

  • by bwoodring ( 101515 ) on Friday January 02, 2009 @05:51PM (#26304775)
    If you're any good, you'll spend a lot more time understanding problems, designing solutions and finding good techniques for factoring code. If you do nothing but "write code all day", you're a shitty developer.
  • Whatever you do... (Score:2, Insightful)

    by Anonymous Coward on Friday January 02, 2009 @05:53PM (#26304791)
    Don't become a sysadmin.
  • by merreborn ( 853723 ) on Friday January 02, 2009 @05:55PM (#26304829) Journal

    Most people go for CS degrees because they want to work in IT, or write code.

    You may want to take a step back, figure out what you *do* want to do with the rest of your life, and switch majors.

  • by COMON$ ( 806135 ) * on Friday January 02, 2009 @05:55PM (#26304831) Journal
    How many times is this question going to be asked on slashdot?

    Gonna save some people some time here

    CS is no more about computers than astronomy is about Telescopes.

    There are many accomplished IT admins who use their CS knowledge on a daily basis, I am one of them.

    CS is not Coding.

    CS is more about Math.

    If you want to stay pure CS you need to find R&D departments or go for your PHD.

    CS is a great degree but isn't going to get you far when getting a job because most managers don't understand its purpose.

    Find out what you love doing and do it, chances are, CS prepared you to do that thing.

  • by phantomfive ( 622387 ) on Friday January 02, 2009 @05:59PM (#26304891) Journal
    I'll tell you what, no matter what job you are working, it's still going to be a job. I like my job, I get to figure stuff out, I try new technologies all the time, but at the end of the day I am still doing it because I need to pay the bills (eat, rent, etc). There's always going to be an element of misery (dealing with coworkers, getting up in the morning when I'd rather sit at home and play Smash Brothers, debugging......that's a big one. Can't finish your code without debugging it).

    Working isn't about 'fun' or 'entertainment' or 'what I want to do.' If you really want to work, then something is strange about you. Working is about surviving in a cold hard miserable world, it's about being self-sufficient, it's about producing something of value. Those all feel good, but you aren't working to have fun (even though work can be fun sometimes!), you are working to survive.

    Don't confuse work with your dreams.........what do you REALLY want to do? Only in rare people is it something you can make money doing. Do you want to help starving children in Africa? Be a beach bum? Travel the world? Live the life of an eternal frat boy? Get married and live a quiet life? Whatever it is, focus on that, and your job will help you with it. Otherwise, if you make your job your life, it will just weigh you down and make you miserable. Work sucks, but you can still be happy. Life sucks, but you can still have fun.

    That's my advice. YMMV
  • by mattsqz ( 1074613 ) on Friday January 02, 2009 @05:59PM (#26304897)
    ..and that is IT technician at a call center. at least the company i work for, i am solely responsible for keeping 500 pc's, all associated switches and servers etc up and running - and i am surrounded by people with double digit iq's - or to put it another way, i'm astonished that i havent brought my kalashnikov to work yet. almost anything is less stressful than dealing with hundereds of idiots that cant figure out that a mouse wont work if it isnt plugged in, or elderly hillbilly management from oklahoma that thinks thousands of dollars worth of equipment grows on electric trees, and that months of work can be done in 2 days. i hope they fuckin fire me. at least then ill be able to look for another job and still have a govt check to pay rent while i do so.
  • by 77Punker ( 673758 ) <spencr04&highpoint,edu> on Friday January 02, 2009 @06:00PM (#26304919)

    I just got my BS in CS in May and have been writing code all day for the last 4 months. It's really not bad (at least where I work) and it's nowhere near as difficult as doing real CS. CS homework is hard, but implementing business rules after you already "get" CS is no problem.

    One thing to keep in mind when job hunting is that recruiters don't know what they're looking for in a developer. They ask for all kinds of scary qualifications that don't mean shit. Bluff your way through a phone screening and keep in mind that 9 out of 10 people they're interviewing can't write a simple factorial function, let alone do it recursively.

    If you've never used a relational database before, learn about those. It's not difficult, but you need to know about it because you will use it.

  • by enharmonix ( 988983 ) <enharmonix+slashdot@gmail.com> on Friday January 02, 2009 @06:04PM (#26304963)
    Not that you'll read this, but from my own (similar) experience, you will have a more rewarding career with a better company than with a "better job." Get a list of good companies (like the Fortune 100) and start at the top and work your way down. The way companies treat their employees will affect your happiness level much more than whatever it is you actually do for them.
  • by StandardDeviant ( 122674 ) on Friday January 02, 2009 @06:04PM (#26304969) Homepage Journal

    As a professional developer with about a decade of commercial experience, I can assure you that you won't be writing code all day in many jobs. You'll spend at least half your time writing TPS report coversheets, attending meetings, writing reports about attending meetings, attending meetings about reports, and occasionally meetings about meetings or reports about reports. Figuring out how to answer the latest hare-brained question from the suits with the shitty data to hand (abortions of SQL and/or one-off hacks with a scripting language go here) takes up another twenty-five percent of your time. Twenty percent to thinking about lunch, eye-balling the hot MOTAS in Accounting or HR, sneaking in the side entrance so Lumbergh doesn't see you, and you're looking at five percent of your time going to real actual coding/work.

    You may think I'm pulling your leg, and you also probably laugh rather than cry when you read Dilbert. Don't worry, by the time you graduate you'll probably be old enough to legally drink and that really helps take the edge off.

    Hope that helps! :D

  • Life in a cage (Score:5, Insightful)

    by SuperKendall ( 25149 ) on Friday January 02, 2009 @06:07PM (#26305005)

    Working isn't about 'fun' or 'entertainment' or 'what I want to do.'

    It isn't? It sure is for me. At least "What I want to do". Sometimes it's not fun or entertainment but those are very different things. Anything else is putting yourself in a cage 50 hours a week, a cage for which you have the key but few people chose to leave.

    I don't even think it's all that rare or hard to be able to do "what you want to do". The hard part is figuring out what that is... but if you think you know that should be at the TOP of the list of things to look for in a job.

    Also consider that thinking that companies are the only source of jobs, is a great way to limit your options and your own potential. Leave nothing out including the prospect of starting your own company.

  • Comment removed (Score:2, Insightful)

    by account_deleted ( 4530225 ) on Friday January 02, 2009 @06:07PM (#26305007)
    Comment removed based on user account deletion
  • by COMON$ ( 806135 ) * on Friday January 02, 2009 @06:09PM (#26305023) Journal
    Just make sure you work as an "apprentice" for a good 3-5 years. Nothing worse than coming across a guy who developed his/her own way of doing everything. You will be way ahead of the curve in the parent's areas if you learn from someone who has been around the block a couple times. You will learn much faster, and become a much better admin in any of those areas. You will also have a much smoother career (fewer headaches from learning experiences).
  • exactly (Score:4, Insightful)

    by CarpetShark ( 865376 ) on Friday January 02, 2009 @06:10PM (#26305029)

    Exactly. If you really enjoy computing, but have found the industry isn't what the hobby was, and you're a people person (which it sounds like you are), then you might enjoy a different application of your skills, like teaching IT (or even teaching math). But for god's sake, get out of the subject altogether, if it doesn't interest you. Sometimes it's hard enough to enjoy when you have a passion for it.

  • by ralphdaugherty ( 225648 ) <ralph@ee.net> on Friday January 02, 2009 @06:13PM (#26305067) Homepage

    Although we don't need any more of them, the answer to your question is the Project Manager path to IT management.

    You would add a PMP certification and for fast track an MBA, then talk enough Java buzzwords to get by. Being able to prototype Windows screens with VB or C#, lay out web pages, and SQL query databases like your problem log will make you a star.

    Before you know it you'll be a CIO.

      rd

  • by mlwmohawk ( 801821 ) on Friday January 02, 2009 @06:23PM (#26305193)

    I have been writing software since the 1970s, and there isn't much left in the field for "work." There may be "research," into things but the average "job" is tedium.

    "Computer Science" as it were, is nothing more than a craftsman tool belt. There is no "science" left. It is all the fashion of end-user application. Web sites, social networks, e-commerce, etc. No one in the field is producing great work (and making great money) any more.

    I've been interviewing candidates for the last 15 years and "computer science" is a joke. The universities are teaching a trade, not a science. Kids barely understand the mathematical basics of how a hash table works. Don't even get me started on twos-compliment arithmetic or how to evaluate algorithms.

    Sure, the desktop processors and environments do a lot for you, but maybe you'll want to do something interesting some day with different types of devices like PICs.

    In the end, you'll have to learn about something else, like banking, medicine, civil engineering, accounting or some such to be able to write software for those fields, but since those fields currenly pay better, why not go there first?

  • by james_shoemaker ( 12459 ) on Friday January 02, 2009 @06:30PM (#26305263)

    Essentially it is: form -> business rules -> database. Alway, alway, always....

        Ever think of writing some sort of engine to handle that rather than writing the same code over and over again?

  • by DrTime ( 838124 ) on Friday January 02, 2009 @06:32PM (#26305281)

    Coding should not be more than 30% of a job. We need people than can read specifications, turn them into requirements, design an architecture, model solutions, code, integrate, document, and debug. I am sorry, but the talented and rewarded people are the ones that can do it all. The ones that can't code and prefer to administer systems are the easiest to replace.

    Where I work, we do embedded software that runs close the hardware, operates in critical environments, must work every time, run for years, and be secure. The guys I give the highest performance ratings (raises) to are the ones that can design, code, re-use code, and solve problems.

    I haven't coded in 5 years and miss it, so I came up with a project for home to keep me current and have fun with. I can see not wanting to do it 8 hours a day, but any true CS geek deep down enjoys it like solving puzzles and playing games. Coding is problem solving. It should be enjoyed and done well or not at all.

  • by TheGreatOrangePeel ( 618581 ) on Friday January 02, 2009 @06:40PM (#26305367) Homepage

    First and foremost: DO NOT ACCEPT CAREER JOBS YOU WILL NOT ENJOY. I made the mistake of grabbing a VisualBasic 6 job when I'm a Linux and C++ guy. Now I've 4 years experience (3 in VB6+DB2, 1 in Linux/KSH scripting + Netezza Database warehouse) and I'm having a VERY tough time using that experience to land anything that I might actually enjoy. Your first couple of jobs define the path of your career in both the short and mid-term which then makes it easier to steer it the way you want in the long-term.

    I suggest a sys-admin role. In the right place, you'll do some shell scripting, update hardware and (politely) smack the occasional end user. I'll let others speak on this as I've only seen it from a distance and don't have much hands-on with it.

    Another possibility (and I REALLY really hate to suggest this, although it might be better suited to you than me) is go into a consulting firm under the Consultant or Solutions workforce. As a consultant, you'll do some paper pushing (eventually you'll help design how major, high volume applications) and some coding. As a Solutions Consultant, you'll be mostly coding.

    The advantage of both types of consulting positions is that you'll do something for 6-12mo. and move on to a new project. The disadvantage to both is you'll find yourself with twice the number of bosses (Office space, anyone?). One set of bosses for The Client and another for Your Consulting Company. Personally, this drives me crazy. Also, you don't get a whole lot of say on what client you'll be working for which can be a big problem (e.g. non-smokers working for a major tobacco company ... nothing like your boss lighting a stogie in a meeting).

    As a Consultant, you'll have to travel (plus or minus, depending) and make quite a bit of money. On the flip side, you'll have longer hours and more stress.

    As a Solutions Consultant, you'll have less stress and it'll be easier to stay at home, but you won't make as much.

    My final suggestion is Application Support. You'll do a little coding, a little debugging, interact with users who are knowledgeable about how the process should REALLY work (assuming the organization is well structured) and get the occasional amusing service ticket like, "Have the magical elves in APP-land fix the claim again."

  • by starfishsystems ( 834319 ) on Friday January 02, 2009 @07:15PM (#26305783) Homepage
    And I've found that system administrators who have not developed significant programming experience also have difficulty with basic system administration concepts. The most basic of these is that any system is a particular instance of a certain class. System administration amounts to maintaining a code base written in an ultra high level object language. That's if you're competent.
  • Go for a MBA (Score:3, Insightful)

    by Greyfox ( 87712 ) on Friday January 02, 2009 @07:30PM (#26306007) Homepage Journal
    They'll have to lobotomize you, of course, on the off chance any useful knowledge has been imparted to you in the past couple years, but that's SOP for an MBA anyway, and the fat paycheck generates no complaints. Moreover the lobotomy will insure that you don't need to worry about whether the work is interesting or even useful.
  • by Klootzak ( 824076 ) on Friday January 02, 2009 @07:40PM (#26306137)

    Let's see. You'll get a CS degree but don't feel like writing code for a living. That's a tough one.

    Not really, there are elements of Algorithmic Design and Analysis in most Technology based positions, however it doesn't mean you have to be a programmer for your entire career - I found as time went on I spent less and less time infront of an IDE and more time infront of Word and/or Visio.

    Are you a "people" person? All those introverted geeks need to talk to each other, make decisions and agree on stuff. Something that they (on average) do very poorly. You would have a career in product marketing, since you understand the geeks and can talk to them.

    Most Geeks I've worked with (the talented ones anyway) aren't introverted, they just aren't engaged by "normal" people, mainly because "normal" people are stupid, or at least unwilling to learn, even when you try to break whatever concept you're talking about down for them.

    I once had a brilliant young geek (he was 14 at the time) come into my Cafe, he was socially ostracized by his peers and his School Councillors had told his parents they thought he had Aspergers Syndrome, I spent time with him, talked to him, showed him some cool stuff he could do with computers and got him enrolled in a CCNA program. Since that time he's changed schools (from public to private), and is now one of, if not the most popular guy in his year, unfortunately I don't see him much anymore (due to his now busy social life), but it just shows if you're surrounded by people who don't (and can't, due to their innate stupidity/ignorance) understand you, anyone can feel like there's something "wrong" with them.

    Alot of the "Geeks" (and I take that label to mean "A brilliant and curious person") I talk to say the same thing "I'm Different", my comment to them is "Yes, but AWESOME is different."

    To the original Poster, I'd say if you want to avoid programming, get a SysAdmin job to start, do that for a few years (you will have to do SOME level of programming/scripting as a general rule), and then move on to Technical/Systems Architecture. Someone else suggested Bioinformatics/Computational Biology [slashdot.org] type work, but that tends to involve alot of coding for simulation purposes.

  • CS vs IT (Score:4, Insightful)

    by Sparr0 ( 451780 ) <sparr0@gmail.com> on Friday January 02, 2009 @07:55PM (#26306325) Homepage Journal

    Unfortunately most Computer Science degrees these days are at least half IT. If you do not understand the following sentence then you probably did not really get an education in Computer Science:

    Computer science does not require a computer.

  • by datababe72 ( 244918 ) on Friday January 02, 2009 @08:10PM (#26306529)

    I can't quite figure out how to reply to this without sounding snarky towards the parent, who clearly has a different view of the field than I do and who am I to say which view is right? But feel I need to say- we're NOT that desperate anymore. The boom in bioinformatics was about 10 years ago now (pause while I shudder at realization that I have been out of grad school for that long....) I work in this area, and have since leaving grad school. When I graduated in 1999, there weren't really any bioinformatics grad programs, and the field was populated by a mix of biologists learning computers, computer types learning biology, and some physicists. Now, there are plenty of grad programs churning our bioinformatics MS and even PhD graduates. The only people I know working in bioinformatics w/o some serious bio background now have either been at it for many, many years or are pretty much pure coders.

    However, as one of the previous replies said- there is a career to be made by being the interface between a specialized customer set (in this case, biologists) and the software developers. I've done that quite a bit, and have managed to keep myself employed. But you need to have credibility on both sides- which means a strong bio background (an advanced degree helps) AND an understanding of how software development works (it helps if you've coded).

    You could also look at project management. Lots of folks laugh at project managers, but that is usually because they've never worked with a good project manager. Once again, though, I think it helps if you've done some coding, both for credibility with the team and so that you can make reasonable estimates about how long development tasks will take, etc.

  • by Anonymous Coward on Friday January 02, 2009 @08:12PM (#26306553)

    My boss (a very smart man) told me that if you want an education go to college, if you want training go to a tech school. For me a CS degree has given me a better ability to think and tackle problems that I have no training for. In our IT department, about 40 people, the smartest and most capable people have a theoretical background or a CS degree. A college degree is just the entry way into a job.

    Also another interesting point, you have a tendency to run with your own kind at work. It's interesting to break down the educational background, work abilities of the people you work with and compare it to the social circles.

  • by Anonymous Coward on Friday January 02, 2009 @09:08PM (#26307267)

    Not sure if that is a good place to start. I am still studying CS but work as part-time web developer in a company with less than 30 people (including sales folks, management, etc.).

    The atmosphere there is amazing. I am not talking just about the benefits (free health care, a personal trainer for 3 hours a week) but also from going out for a few drinks with most of them (including the co-owners) on fridays, chatting long into the night, taking our lunch breaks at the same time... And our CEO coming to ask if I am okay or would like to talk about something after she apparently had read my facebook status from the previous day (I had broken up with my girlfriend).

    I have worked in our country's ministry of foreign affairs' IT department and it was NOTHING at all like that. We have had a few excursion trips to IBM and other big companies but in them too I haven't seen much trace of such spirit. I know it is not easy to find such a place and that not all small companies are like that but just mentioning that finding a big company that makes most profit might well not be the road to enjoyable work.

    Other than that, I fully agree that what exactly you do at your work is not the most important factor in determining if you enjoy it.

  • by Eil ( 82413 ) on Friday January 02, 2009 @10:00PM (#26307811) Homepage Journal

    CS is no more about computers than astronomy is about Telescopes.

    I absolutely hate it when slashdotters trot out this line every time a computer science post appears. Not only is it excruciatingly condescending, it's quite wrong, even if a computer scientist was the one who originally uttered it.

    Computer science is very damn well about computers because there would be no computer science if you took away the computer. If there were no digital processors, data storage, or networks, there would be no reason to develop solutions to problems that are unique to information systems alone. No reason for someone to sit around all day dreaming up the optimal programming language for a given application. No reason for teams of graduate students to work tirelessly in search of the best human-computer interface.

    I'll agree that there's a great (almost overwhelming) amount of math in studying the theory of computer science, but you can't honestly say that a computer science graduate is merely just some sort of specialized mathematician and leave it at that. It doesn't do justice to those in the field and it misinforms those who don't understand what the field is all about.

    (Disclaimer: I'm not a computer scientist and don't care to be one.)

  • by underflowx ( 1108573 ) on Friday January 02, 2009 @10:38PM (#26308099)
    Be aware that there's a funding treadmill to jobs at national agencies. If your current president goes off to a protracted and expensive war, you just may find your funding getting rather thin.
  • by rossifer ( 581396 ) on Saturday January 03, 2009 @12:38AM (#26308933) Journal

    I never imagined sitting in a cubicle for 8+ hours a day doing the same thing every day could be boring.

    If you're spending 8 hours a day coding, you're doing it wrong. Hell, if you're spending 8 hours a day doing the any one thing, you're doing it wrong. Coding is exactly one, somewhat valuable part of software development. To implement an effective solution requires that you:

    1. understand the problem (interact with people)
    2. understand the external constraints (interact with people)
    3. design an effective solution to the problem
    4. while designing the solution, design some tests to verify that the problem is solved (and remains solved)
    5. code the effective solution to the problem
    6. teach other team-members about your solution to the problem (interact with people)

    IMHO, effective design is the most valuable part of software development, but all of the steps above are important. Coding is just one of those steps. Also, I didn't really mention soliciting feedback (aka code reviews), though on a good team, that would be a part of the last step.

    If you've got a CS degree and all you're doing is coding, you wasted about 2-3 years of your life on a four-year degree you didn't need. All you needed was an associate's degree from DeVry and you could be coding. Write software instead. It's much more interesting.

    The most important way to "write software" instead of "write code" is to choose a good employer and a good team. Unfortunately, I have no simple advice for how to do that. But don't be satisfied with the first place that offers you a job. If your job seems like a crap job, it probably is. Keep looking until you find a company and a team where you feel valuable.

  • by weston ( 16146 ) <westonsd&canncentral,org> on Saturday January 03, 2009 @01:56AM (#26309339) Homepage

    Not only is it excruciatingly condescending, it's quite wrong, even if a computer scientist was the one who originally uttered it. Computer science is very damn well about computers because there would be no computer science if you took away the computer.

    It's not wrong. It's substantially correct, even if Dijkstra takes a little license by introducing a bit of hyperbole. He *didn't* say computers have no place in computer science or anything ridiculous like that. He's explaining, roughly, that actual computers are really only tools and that the concrete tools themselves do not encompass the field of computation.

    Of course, that changes if your definition of "computer" is wide enough to include, say, something between its original meaning and the entire universe in which we live. And having a rather application-oriented viewpoint, I do think the concrete tools are one of the most interesting part of the field. But I also think Dijkstra's comment is extremely useful for performing perspective inversions among people who haven't understood the field is wider and deeper than the conventional set of Von Neumman architectures we've managed to make so far.

    If there were no digital processors, data storage, or networks, there would be no reason to develop solutions to problems that are unique to information systems alone. No reason for someone to sit around all day dreaming up the optimal programming language for a given application. No reason for teams of graduate students to work tirelessly in search of the best human-computer interface.

    As it turns out, the field is bigger than these things too: even if you eliminated every last one of these things, theoretical computation would probably remain interesting to some people, and indeed, you can find a significant amount of theoretical work done back before most of these things existed in digital form.

    I'll agree that there's a great (almost overwhelming) amount of math in studying the theory of computer science, but you can't honestly say that a computer science graduate is merely just some sort of specialized mathematician and leave it at that.

    As a Math grad and a programmer of 20+ years, I'd agree that CS is best served as a separate discipline drawing from mathematics, physics, chemistry, EE, and more. And yet you could in fact devote yourself entirely to studying specialized mathematics, never writing a single line of code, and still be working in computer science.

    It doesn't do justice to those in the field and it misinforms those who don't understand what the field is all about.

    I'd agree it's hard to do the entire field justice in a single sentence, but far from bounding it badly, this phrase invites people to look outside of preconceptions about the field and potentially see something beyond the boxes and screens on their desks.

  • by leabre ( 304234 ) on Saturday January 03, 2009 @02:59AM (#26309627)

    I know it is anecdotal but the majority of people I've worked with that are within about 5 years of college graduation with CS degree are among the least capable I've worked with. Among those that are self-taught and haven't a degree (or have a degree in an unrelated field), within their first 5 years or so are also among the least capable I've worked with. Those with degrees tend to be more stubborn mainly due to their indoctrination.

    I don't mean any of this negatively. I myself am attempting to get my CS degree (dual computer engineering), after 15 years of practicing it and working up the ranks. For me, it is because it is what I want; I do not require it. There is little that I've been learning in these classes that I didn't already know. I studied all the books and topics on my own for many years before I took the classes in school. Being a practitioner I actually find the university frustrating as I have to be dumbed down to get a grade. When I complete an assignment differently than expected because there was a defect in the textbook (that I opted to correct) I get a bad grade (granted I wasn't asked to correct the mistake, but I don't like being forced into servitude, either, especially after being freely creative for so long before the class); funny considering revisions or errata of the same textbook eventually recognized and corrected the same defect. My statements are more a fact of the state of education and that I believe it does not truly adequately prepare students for life as a programmer. Rightfully so, CS is not software engineering, but most people opt for it because it is the closest available topic.

    I do not have a college education, am a sr. software architect for a fortune 500 company, and I often end up teaching some of those CS undergrads a thing or two about when and when not to use certain data structures/algorithms, optimizations, or to stop thinking like a robot and make up their own mind about how to solve a tricky problem. I sometimes hold training for some of them and discuss how to augment the functionality of some data structures and algorithms to solve variations of the problems that those structures and algos are good at. I'd think they would have been through that already.

    Electrical and computer engineers are different altogether, they are truly smarter than the typical CS grad of the one's I've encountered or worked with.

    Most don't even know why GOTO statements are "evil". They never read the book (or heard of it) yet they religiously hold firm to avoid them because they would have had bad grades in class if they had used them. In other words, they are shoveled a level of dogma and do not quite think for themselves. Then when they come to me, they want me (or other mentor types) to hold their hand while they are afraid to do anything for themselves until some point in time where a light bulb goes off in their head and they realize that it is okay to think for themselves.

    Not to stereotype, it is just an observation. Degree or no agree, certain people are made for code and other technical wizardry and others are along for the ride. In either case, their first few years in the work force and they are not very capable (with the odd exceptions here and there).

    I've come to realize that CS actually really isn't about programming as much as people think it is. It's more or less a type of preparation but their first few years they don't have an anchor with which to apply the knowledge and think for themselves. Most people will need guidance their first few years; CS degree or not.

    When it comes to hiring, that is the reason I don't care so much about whether they have a degree. If they can demonstrate ability to fill the open position competently, I'll hire them. It is not always easy to know whether the person is a good candidate, but when it comes to interviewing for positions related to high-performance computing and heavy parallel computations/computing, it is not so easy to fake your way through an interview. You can either do it or not.

  • good/bad news (Score:3, Insightful)

    by KGBear ( 71109 ) on Saturday January 03, 2009 @08:26AM (#26310901) Homepage

    Hey mattskent, welcome to the field. I'm 43 yo, been working this field all my life, and I have good news and bad news for you: the good, as others have pointed out, is that there's a big range of things you could be working on.

    You don't have to develop all the time or to do support all the time. I've done a lot of those things myself, from crawling under people's desks to developing (not in the programming sense) products for my own company. The bad: you will always be doing some amount of support (and coding for that matter). Can't get away from it.

    At entry levels, it's just expected. As you move upwards on the ladder -- and if you're any good -- there will be things only a very few people understand and you're one of them, in each case you will have no choice but to do some support, just because there are not a lot of people who can actually do it at that level.

    This has led me to realize that ALL CS jobs are somehow related to support because the machines, programs and systems we create/develop/program are actually there to perform some work for somebody else, who usually knows a lot about that work but not necessarily about the machines they use.

    AFAIK there's only one way out: get a PhD and become a researcher. That's the only way you will eventually get payed to play with computers, which is what most of us want when we pick CS as a major. But then you'll be required to teach also, which wouldn't work for me.

    As I said earlier, welcome to the field...

  • by rossifer ( 581396 ) on Saturday January 03, 2009 @05:34PM (#26314257) Journal

    Absolutely. And in my opinion, those companies and organizations are "doing it wrong". My point wasn't that there aren't lots of jobs where all you do all day is code, but that anyone with skill and drive should avoid those jobs at all costs.

    Each part of the SDLC can be and is divided between different people with very specific responsibilities. Not always the best solution, but sometimes unavoidable in larger corporations.

    I'll go further and say that that's never the best solution and that anyone who wants to develop interesting software should make sure that their shadow never darkens the hallway at any of those anonymous corporations. Having a team of skilled craftspeople who work well together is always superior to a role-partitioned group of analysts/managers/coders/testers tossing development artifacts back and forth via channels.

  • by TheRaven64 ( 641858 ) on Saturday January 03, 2009 @05:39PM (#26314299) Journal

    computers are the reason CS exists in the first place so yes, it is about computers.

    Telescopes are the reason astronomy exists too. Without telescopes, astronomy is just star-gazing and making up names for constellations. You can not be a good astronomer without a detailed understanding of how telescopes work (the kind of distortions you get from reflectors / refractors, and so on). You need a detailed understanding of optics. Telescopes, however, are not the object of study, merely the tool.

    Exactly the same is true of computer science and computers.

  • by mattwarden ( 699984 ) on Saturday January 03, 2009 @07:40PM (#26315229)

    On this line of thinking, any deep knowledge in a niche area can be very useful. ...and incredibly risky. The idea with a double major is to REDUCE your industry risk, not increase it. It may not feel like it, but your decision of your career direction is one of the riskiest decisions you will make. You have no real control over whether your industry will grow, disappear altogether, be outsourced, become obsolete, see demand drop due to economic forces, be legislated into oblivion, be taken over by the government, be disadvantaged by the tax code, etc.

    Not to get philosophical, but capitalism requires agility. It requires businesses to fail, industries to disappear, jobs to be outsourced, etc. And it requires you to be able to switch gears. I think we would ALL be much better off if everyone assumed that one or more career switches in their lives is a very real likelihood.

    Capitalism is not very compassionate to the minority of individuals. Some people lose their jobs to India; some people end up making less than they did before; some people have to change jobs to something they enjoy less. At some point, we did understand that these unfortunate realities are necessary to advance the economy as a whole and improve the average standard of living for the community, nation, and world.

    I say this as a double major myself. I studied Systems Analysis and Neuroscience. My approach was to study things I was very interested in, NOT to find a profitable intersection that may or may not be there when I graduate (and believe me, most people who asked me about my choice in majors had a hard time understanding this and did not agree with my approach).

interlard - vt., to intersperse; diversify -- Webster's New World Dictionary Of The American Language

Working...