Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Choosing Careers in Technology? 107

Salandarin asks: "Until recently, I was convinced that my destiny involved a degree in CS, stemming from my love of video games. I've really enjoyed what I've found so far, and I enjoy the art of programming and the study of algorithms. However, from what I'm told, more advanced study requires a strong knowledge of mathematics. Mathematics, much like the hard sciences, are not my interest. Although I'm not ready to abandon CS just yet, I'm starting to examine other options. I enjoy the world of technology more than any other, and as such I would really like to stay here, no matter what field I choose. I am specifically curious about jobs that involve some form of journalism, writing, and/or communication, but I'm open to everything at this point. What other careers are available in technology, for a person like me?"
This discussion has been archived. No new comments can be posted.

Choosing Careers in Technology?

Comments Filter:
  • Some Advice (Score:5, Insightful)

    by Monkelectric ( 546685 ) <[slashdot] [at] [monkelectric.com]> on Sunday April 02, 2006 @12:28AM (#15044211)
    I am a professional programmer, I make a 6 figure salary, and I suck at math. Good programmers are efficent with linguistics and are able to think in terms of structure and process. If that sounds like you -- strugle with the math like I did. If not, consider something else.
    • Technology Writer! There are journalists and writers who just write about technology, new and upcoming trends, even how-tos in coding. These people also get some nifty benefits, such as presspasses (free admission due to press-hood) to Microsoft conferences (WinHEC and PDC, to name a few).

      You might fit into the little niche for writers who talk about upcoming trends in coding and solution development.
    • by aprilsound ( 412645 ) on Sunday April 02, 2006 @01:14AM (#15044297) Homepage
      A BS in Computer Science should be easy to get with only average math talent. Can you get a B in Cal I? You can handle the math in CS. Once you get out, you can probably forget it.

      The notable exception is most areas of machine learning. ML is for computer scientists who were too smart to be statisticians. The math there can be obscene.

      I've always liked that CS isn't rigorously scientific, but not so towards the liberal arts that anyone can get a degree in it. You need to be creative but you need to think about the structure of things. You need to think outside the box, but also work within limitations.

      Sometimes CS is engineering, many times it is artistry, in some ways it is a true science, and occasionally there is some math.

      The nice part about the math, is once you (or somebody) gets it right, you don't have to think about it anymore. Make it a function, use it a million times, forget the math.
      • Cal I

        If you look at Concrete Mathematics [powells.com], isn't it fair to say that discrete math is relatively more important than continuous in a CS setting?

        you don't have to think about it anymore. Make it a function, use it a million times, forget the math.

        Maybe you don't fret about the what so much, but isn't the why of it what matters?

        I've been getting more into math lately because it's useful and almost completely free of the nonsense going on within 'culture' these days.

      • by Glonoinha ( 587375 ) on Sunday April 02, 2006 @10:52AM (#15045515) Journal
        A BS in Computer Science should be easy to get with only average math talent. Can you get a B in Cal I? You can handle the math in CS.

        Ummm ... yea ... those of us that took differential equations (DifEQ) are going to have to disagree with you on this one.

        All I can remember about DifEQ was that it was like the Star Trek of wild ass math - you have a seriously nasty equation that you need to take the derivative of, but nobody on this planet can do it so you get Scotty to beam you to a planet in a parallel time space continua, and in the process the nature of the equation transforms slightly into something you can calculate. You do your math there, get an answer, have Scotty beam you back to Earth and the answer changes form into the Earth form. I believe there were drugs involved in the process, but it was college so we may be talking correlation, not causation.

        If the OP sucks at math, he can still do 'computers and tech' but perhaps a bachelors degree in 'software engineering' isn't how he is going to get there. It doesn't take a BS/CS from the Dept of Engineering to program Java or design a network, current HR requirements not withstanding.
        • I think this is probably the most amusing explanation of Laplace transforms I've ever heard. Really, though, it's not that hard, was it? Every degree at my school requires differential equations, but you hear a LOT more complaining about infinite series in calc 2.
        • Where I went to school, Diff EQ wasn't even required for CS majors. And it wasn't even that hard.
        • DifEQ at my school (UC Santa Barbara) was a notorious major-breaker. I nearly got flung out of the college of engineering over it.

          Sadly, I wasn't required to take it, went down the wrong road of prereqs until I found myself staring at my first F ever. Once that happened, I had to retake it (summer school, similar F) then next year (different instructor, A-)

          Math had been fun and easy for me until then. It truly hurt my brain to sit through class, homework was utterly impossible. I had a breakthrough (or


      • A BS in Computer Science should be easy to get with only average math talent. Can you get a B in Cal I? You can handle the math in CS. Once you get out, you can probably forget it.

        As an EE, there are a couple of things I've noted. I went back to school because I knew I could do it, though I thought the math (and electrical engineering is notoriously math-heavy) was going to simply be a bitter pill that I had to swallow.

        With a 52% in Grade 12 math, I went back ten years later and got a 71% in OAC (effecti

      • You need to be creative but you need to think about the structure of things. You need to think outside the box, but also work within limitations.

        You just described my Liberal Arts Degree. Advanced thinkers in any field think about these.
    • Exactly what type of programming do you do and how many years have you been doing it? I would imagine your responsibilities would be a lot more than just a code monkey. Am I wrong? Do you mange coders too?
      • I am currently stuck inbetween something of a Software Engineer and Software Architect in the RND department of a company in the "process control" industry (semiconductors). I am sort of the informal "leader" of 4 other engineers, while another two work on their own more or less. I say "informal leader" because we have the typical horror story management thats not worth repeating here. Our management is only vaguely aware of how anything works or what we do. or why we are even necessary.

        As for what ki

        • My father worked for the semiconductor industry for quite some time. He was a semiconductor technician for National Semiconductor, Matshusta, Panasonic, and HoneyWell.
    • > I am a professional programmer, I make a 6 figure salary, and I suck at math.

      Ditto. I can't even split the bill in restaurants.

      In practice, the only time I've had to worry about math is in determining which algorithm to use and some awareness of how primes work in hashing. I've had to do some permutation and combinatorial stuff, but nothing Knuth couldn't destroy before breakfast.
    • I am a professional programmer, I make a 6 figure salary, and I suck at math.

      COBOL, right?
    • -1 off topic (Score:3, Insightful)

      by mcmonkey ( 96054 )
      programing != computer science
    • It really depends on what you want to do when you get out of school. I for one enjoy some of the mathematical rigor that certain classes require. I've learned more in my CS based math classes then my math classes alone. After I graduate in December I hope to be in more of a visual field. I enjoy GUI aspects, and I find it fun explaining CS to the non-technical. My take on it, is I would enjoy the IT field, but I could always fall back on it if I get a BS in CS (can't as easily visa versa).
  • Math is just something you really can't escape in technology nowadays. Don't sell yourself short when it comes to math. Even if you end up hating it you can always tell yourself that at least you understand that it really isn't your thing and you can go from there. I don't know how much math you've currently taken but I would say give it a while.

    If you find you really hate it, and can't tolerate it being apart of what you do everyday than I would suggest journalism. I'm currently considering getting i
    • by Anonymous Coward on Sunday April 02, 2006 @12:42AM (#15044233)
      I wouldn't suggest journalism.

      It sounds like you got into comptuers because you liked games and playing around. Then you got into programming and liked some topics and now that you've come up against something hard, you want to pack up your bags and go home to Mommy.

      Journalism, like many jobs, is hard work (if done right and well). If you think you love a field, but don't love it enough to go through the hard stuff, the subject is a good line: you can always work at Best Buy.

      If you're just starting out and you're going to give up, turn tail, and run from what you think you love because of temporary adversity (it'll be over when you graduate -- you know that), then please, quit now. I certainly don't want you ever working for me.

      On the other hand, you can face the Math, get a good tutor, and you might find that it can be different than what you expect. When I worked in education, I found many students hated math because they had rotten teachers and had not done well. They came in with such a poor attitude, they never gave it a chance.

      But if you don't want to face some classes that will be over when you graduate to do what you think you love, then start right now practicing the words, "Would you like some fries with that."
  • What level of study? (Score:5, Informative)

    by Metasquares ( 555685 ) <<slashdot> <at> <metasquared.com>> on Sunday April 02, 2006 @12:36AM (#15044223) Homepage
    Keep in mind that CS began as a branch of the mathematics departments at many universities. Probably at least partially because of this, deep theory is extremely mathematical.

    On the other hand, if all you want to do is program, you don't need that much math. What you get in a typical undergraduate CS curriculum should be enough.
    • by Metasquares ( 555685 ) <<slashdot> <at> <metasquared.com>> on Sunday April 02, 2006 @12:42AM (#15044234) Homepage
      I just looked back and realized that I didn't actually answer your question. I've noticed that lots of CS people (myself included) seem to like the natural sciences (Don't go into physics if you don't like math. You will need to know some statistics in any scientific field) and music. If your school has an IT program, that may be more your style as well, and it usually involves a bit more communication than CS.
      • Amen to the physics comment. I've received an A in every math course I've taken at this school. I'm currently enrolled in differential equations and linear algebra and doing great. However, doing my modern physics homework, I just cringe at the difficulty of the mathematics. Don't get me started on the Schrodinger equation.
      • Plain and simple the vast majority of CIS/IT programs are absolutely worthless. For a BS in CIS, they give you an intro to what a computer is. You will have one programming language that will take 2 semseters to work with (the year long work is worth about a .5 semseter java class in CS-100). You may be introduced to several others for a grand total of 1 week each (that is 2-3 classes). You may learn about a DB; That is how to do a select * from table, perhaps an insert, update, and delete. You will not fin
    • I agree... I think that the reason that the stereotype of 'Computer Science = Math' exists is because the people teaching computer science today started their degrees in the Math department. However, there is a huge side of CS that does not involve mathematics.

      Spend some time looking for the 'softer side of CS' in your department. The easiest way to do this is to look at department staff list, and see what each prof has a degree in. If it's Math, Engineering or Physics, they probably believe that CS=Math. I
    • Right -- most paid programming doesn't even require calculus. Think about it -- most ecommerce requires... well, arithmetic, and that's about it. Look at the applications you use and think about the "hard" parts of programming them -- for the most part, it's not the math; it's simply dealing with the complexity of the functionality. Programming complicated apps elegantly is hard, but not because of any math involved. If you were actually only interested in incredibly difficult algorithms and mathematica
  • by ThatGeek ( 874983 ) on Sunday April 02, 2006 @12:38AM (#15044225) Homepage
    The biggest shock for me, when I started programming professionally, was not the pain of higher-level math, but the pain of maintenance. In school, you work on a project for a few weeks, maybe with one or two people, hand it in, and it's over. You never have to think about it again.

    At work, they hand you a pile of poorly written, undocumented code and tell you to fix it. Programming is often not so much about creating something new, but tweaking what already exists.
    • Say your a carpenter. In school you take fresh wood from supplies and in HUGE classroom with all the latest hardware you get to make the chair you want.

      In real life you got to fix peoples old smelly peeed on wobbly chairs.

      In school a mechanic gets to build a car from scrath with the whole class.

      In real life you will be changing the oil on cars that never been washed.

      In school a nurse... well nurses pretty much know their job is going to suck.

      School is nothing like real life. EVER.

      As for CS. Lets be ho

      • You will be suprised how many people in IT got the best grades in maths and now end up spending a year getting all the code to be adjusted for a simple tax change. Yeah, that is high science!

        Not to quibble - but I don't think that there is such a thing as a "simple tax change." Especially so when changes to the tax code aren't put into place by the IRS until at or after January of the next year (like the form 8903's were this year).

        At my first job after college, I did some programming in RPG at a hosp

      • "As for CS. Lets be honest here. 99% of what you are learn is out of date or off no use or just wrong. The remaining 1% you can get out of a book."

        No. Computational science (computer science is a bit of a misnomer, since computers are just the physical representation of a Turing machine) is loaded with lots of information that is not out of date or wrong.

        If you are in a job situation where all that you learn and use regularly is something easy to pick up from a book and changes periodically, you are in a t
        • If you are in a job situation where all that you learn and use regularly is something easy to pick up from a book and changes periodically, you are in a technical occupation. People who change oil on cars are in a technical occupation. Compared to those grease monkeys, people with real CS degrees who have taken their theory and understand the true breadth of CS are like the mechanical engineers who design engines, know exactly how to measure and project how an engine will perform given a situation, have an
    • Never reinvent the wheel if you don't have to! Too may kids coming out of college want to do it "their way" and don't understand that is impossible in a production enviroment.
    • Agreed, and perhaps it should be taught, though I suspect it's something that has to have an element of experience.

      But you can get a taste for this; I've done some work as a "support" developer, figuring out arcane bugs in other peoples' code. I find it immensely enjoyable, and it's delightful when you finally figure out the cause-of-problem in some convoluted interaction of multiple bugs.

      The only problems with it are the bureaucracy of getting fixes into production systems, and the poor pay. I do developme
    • At work, they hand you a pile of poorly written, undocumented code and tell you to fix it. Programming is often not so much about creating something new, but tweaking what already exists.

      Students should be required to maintain their own websites. Starting with the basic HTML and CSS until they can implement a content management framework using LAMP, and then keep updating and revising the code with new features as they continue to study programming.

      I been going to school part-time for the last five ye
    • Standard qualifications for actual programmers: one part detective, one part historian, one part clairvoyant.

      Working on IBM mainframes, I used to tell people I read manuals for a living. IBM have seriously good manuals.

      A little math helps sometimes, but for the vast majority of practical problems the math is done; graph theory and Markov chains were fun, but I never needed them. More important is a feel for what's going on under the covers of your runtime library; Knuth's belief that you really need to s

      • Manuals just aren't even close to being that good anymore. Wish they were. Google is quite a help, nowadays, though. Especially if some poor bastard has already documented the problem. (And I try to document stuff if I run into something new that no one else appears to have seen before, but that's rare -- unless it's in-house code no one else has ever seen... then you just document the odd-ball behavior and talk to the "Engineer".)

        This guy saying he should go into computers becuase he lives in video ga
      • Graph theory ... oddly enough, I use more graph theory now than I ever did back in school.

        Principle application: reasoning about multithreaded processes. It's HARD. Lots of state machines (yes, finite automata). Another problem, we wanted to prove a tree doesn't deadlock. (Yes, trees can deadlock when parallelism is insufficient. It sucks.) How do we avoid a deadlock?

  • advanced math? (Score:2, Informative)

    by chaves ( 824310 )

    Don't dismiss software development just yet. There is much more involved in building good software than mathematics. You might see some beyond-basic math in a CS degree, but in the real world, most of the time that stuff will be useless.

    However, the fact that you like playing videogames or find technology amusing is not any good indicator you will like the stuff. The good thing is that you can get your feet wet before you make a decision. There are some introductory books that teach general programming co

  • by cperciva ( 102828 ) on Sunday April 02, 2006 @12:43AM (#15044236) Homepage
    I enjoy the art of programming and the study of algorithms. However, from what I'm told, more advanced study requires a strong knowledge of mathematics. Mathematics, much like the hard sciences, are not my interest.

    I'm having trouble understanding this comment. First you say that you enjoy studying algorithms... and then you go on to say that you aren't interested in mathematics.

    Since these two statements don't really fit together, I see two possibilities:
    1. Your idea of what the "study of algorithms" is doesn't match mine. Are you interested in finding new algorithms, analyzing how long it takes them to run, and proving that they work? That's all computer science, and thus a part of mathematics.
    2. Your idea of what "mathematics" is doesn't match mine. What exactly do you find uninteresting? If the only things you dislike are vector calculus and complex analysis -- hey, join the club. Fortunately, very little computer science needs those.
    • If the only things you dislike are vector calculus and complex analysis -- hey, join the club. Fortunately, very little computer science needs those.

      Heh, depends on what you want to do:
      If you want to write accounting software and device drivers, then you don't need calculus, linear algebra or analysis. Otherwise, you better get on with taking the upper-division math and psyhics classes. I've been trying to read papers to understand new algorithms and I keep bumping into the problem of the writers using nota

    • As mostly an aside, I decided I didn't like programming and subsequently changed my major to Mathematics with a concentration in computing. I love algorithm analysis, optimization, discrete math, etc. It sure beat the systems programming I was doing! People also interested in the theoretical portion of CS/Math may want to look into a class in modern algebra.
  • Not so easy (Score:4, Informative)

    by JanneM ( 7445 ) on Sunday April 02, 2006 @12:44AM (#15044241) Homepage
    If you want to do CS "for real", and not just have it as a job skill, then yes, you'll need quite a bit of mathematics.

    On the other hand, programming, by itself, is not really worth all that much as a skill by itself outside the actual field of CS. Somebody who only have skills as a programmer is not going to find themselves in any great demand. You need to have something else that is relevant for the business field you will find yourself working in. A "programmer" is always going to lose out to a "[chosen field skill] with documented programming skills".

    What I mean is, if you aim to work with programming in, say, the financial sector, then having a solid, documented skill set in economics or revision wil be at least as important as programming skill. If you're aiming for some technical field, you will need at least a bachelor's degree in subjects relevant to the field, whether it means a degree in chemistry, mechanical engineering, combustion physics, medicine or whatever. And always, always, "people skills" matter and are important, no matter what field you choose, since you will always be dealing with people.

    Programming skills are a lot like mathematical skill. for most fields, it is a tool, not an end in itself, so you need to know your target field first and foremost. The lone exception is if your chosen field is CD (or mathematics) itself, but then you need to go a a lot deeper into the field; a doctorate will not hurt at all at that point.

  • Got paradox? (Score:3, Insightful)

    by unboring ( 697886 ) on Sunday April 02, 2006 @12:51AM (#15044253) Homepage
    You say you got interested in CS due to video games. If that's what you want to do professionally - game programming - you *have* to be good at math. Much of the basis in computer graphics is strongly rooted in math.

    Of course, if you don't want to get into that field but do application development, then you don't need any more math knowledge than what the basic undergraduate degree will get you.

    • "Much of the basis in computer graphics is strongly rooted in math."

      From the little I've seen, it may be more accurate to say "graduate-school level math". Simulating the real world does have its drawbacks.
    • Depends on what aspect of a game you're working on. I'm currently on a co-op work term (that's an internship, for you American types) doing some tools programming at a small game company, so the math that I use is very basic, minimal, and usually limited to the judicious use of .NET Math:: functions.

      I guess what I'm trying to say is just that even if you're not uber strong in math, you can still work in the games industry... you just probably won't end up working with the rendering guys. There's a lot mor
      • I'm currently on a co-op work term (that's an internship, for you American types)

        Hey, what's going on here?

        I thought "co-op" was an American thing. I'm American, and when I went to college for engineering (92-98), I did 4 co-op terms. "Co-op" was a commonly-used term back then, and I knew many other students who did co-ops, and everyone I went to school with knew what it was.

        Now, I'm on the west coast, and we have students doing semester-long "internships" at my megacorp. Nowhere do I hear the term "co-o
      • I guess what I'm trying to say is just that even if you're not uber strong in math, you can still work in the games industry... you just probably won't end up working with the rendering guys. There's a lot more to the average game than just graphics, after all... but you might want to develop some other marketable skills, like network programming for example :)

        Agreed with your post. Even just in designing the mechanics of a game, you will most likely want to use some kind of mathematics to help you out

  • by neomage86 ( 690331 ) on Sunday April 02, 2006 @12:51AM (#15044254)
    Without a love of hard science and mathematics you will never be more than a mediocre programmer.

    The hacker spirit is an undying desire to know; a hacker never settles for 'black box' explanations or shies away from knowledge because it's too hard.

    What confuses me most is how you reconcile your proclaimed love for algorithms with your disdain for mathematics: that portion of CS, more than any other, is pure mathematics. I ask you to check your claim and trying to read, and more importantly grasp the essence, of Knuth's "Art of Computer Programming" without a strong background in mathematics.
    I ask you to check your claim and try to design, and truly understand the workings of, a simple full adder circuit without a fair knowledge of quantum mechanics.

    Without a love of physics and math you can never become more than a code monkey, the desk jockey equivalent of a construction worker, who can put pre-assembled bits and pieces together but will never gain any true mastery of the material or progress above the millions of other mindless bromides.
    • [Y]ou can never [...] progress above the millions of other mindless bromides.
      Fantastic use of “bromide,” that; and not entirely off-topic: training in the hard sciences is also training in a certain culture, viz. appreciation of jokes.

      Unbeknowst to me, potassium bromide was used as a sedative; its meaning expanded to included sedative men: dullards.

    • by linguae ( 763922 ) on Sunday April 02, 2006 @01:37AM (#15044336)
      Without a love of hard science and mathematics you will never be more than a mediocre programmer.

      I disagree. There are plenty of good programmers who dislike the hard sciences and mathematics. As long as you know the algorithms, the data structures, the programming languages, and the APIs, and you know which tool to use at the right time (e.g., don't bubble sort a list of records stored as arrays when a mergesort or quicksort would do [we're talking O(n^2) [slow] performance compared to O(n log n) [much faster] performance, any programmer worth anything should know this]), then you should make a good programmer. You don't need to be Donald Knuth to be a 1337 programmer (although all of that CS/math knowledge surely helps).

      However, you can't be a good computer scientist without an understanding (or at least appreciation) of mathematics (especially discrete math), and to a much lesser extent, physics, depending on the subfield. A good programmer, for example, knows that bubble sorts are slow compared to divide-and-conquer sorting algorithms. A computer scientist, however, not only knows these facts by heart, but also should be able to analyze those sorting algorithms and give big-O notations of their performance. If you want to do something such as computer graphics, then you'll need to learn calculus, linear algebra, physics, and graphic design. Quantum computing requires even more physics (to understand what a quantum computer is) and math to figure out how to write quantum algorithms. Numerical analysis requires extensive knowledge in continuous (non-discrete) mathematics, and the list goes on....

      Another point: programmers may not be computer scientists, but I wouldn't label all programmers as "code monkeys"; as if programmers were inferior to computer scientists just because they don't do exercises from Concrete Mathematics every night before they go to bed. (This is coming from a CS freshman whose goal is to become a computer scientist; and yes, I'm a math minor and have a liking for physics). That is a tiny stench of elitism that can get you modded down here. There are many programmers out there that know how to apply computer science knowledge to create fast, small, and secure programs. They don't have to be Steven Wolfram clones, but that doesn't make them "code monkeys", either.

      • There are plenty of good programmers who dislike the hard sciences and mathematics.

        I agree.

        But I think you'll be hard-pressed to find great programmers who hold Computer Science (and yes, I'm being more specific) in contempt.

        (I also think there's no shortage of people who think they're great and hold Computer Science in contempt.)

        (And yes, logically speaking in the absense of hard data on programmer quality and opinions of computer science, it's hard to push this point any further because courtesy of the pr
    • You were kidding with this part:
      "The hacker spirit is an undying desire to know; a hacker never settles for 'black box' explanations or shies away from knowledge because it's too hard."
      Right? Never settles for black box explanations? You've got what, maybe 40 or 60 years on this planet, you think you're going to work on a large project and not "settle for black box" explanations? That's why languages have modularity, to -empower- you to accept black boxes. Sure, ya wanna peak inside. And when you've done th
  • Video games (Score:3, Insightful)

    by Beryllium Sphere(tm) ( 193358 ) on Sunday April 02, 2006 @01:09AM (#15044288) Journal
    If you want to program the guts of a video game (physics engine, motion control) I don't think there's any alternative to knowing math well. Math is just a tool like a programming language is a tool. Try approaching math with the perspective "I'm putting a tool in my hand and learnng to use it effectively". Math also teaches a disciplined style of thinking which may save your neck when you attempt a large project.

    If you're going to work in a large video game team, there are less mathematical jobs in the creative and design ends of the work.

    If you're looking at journalism, first check out what journalists get paid, then ask yourself whether you'd be content as a superficial and sycophantic copier and paster of press releases.
    • Re:Video games (Score:3, Insightful)

      by Glonoinha ( 587375 )
      A funny twist on that perspective : being a software developer without a strong background in math (dare I say a 'love' of math) often boils down to being a superficial and sycophantic copier and paster of source code. I have had projects handed to me with massive chunks copied and pasted from source found in Google (including spelling mistakes in the comments - no joke) without so much as a single reference giving credit to the original source.

      If someone is mid-way through college on the way to a degree i
  • Becoming a lawyer? Practising law requires the same analytical abilities that you need for CS, but lawyers also write a lot. And we need more lawyers to advocate for peaceful, productive uses of technology, since there are a lot of people up on Capitol Hill trying to stifle creativity and free communication just to make a buck.
  • Sysems Analysis (Score:5, Interesting)

    by miyako ( 632510 ) <{miyako} {at} {gmail.com}> on Sunday April 02, 2006 @01:14AM (#15044298) Homepage Journal
    I see a lot of negative comments here, and so I thought I would post something that his hopefully helpful.
    Firstly, I have to say that a lot of the comments here should be heeded, Computer Science is a hard science, and is as mathematical as any other hard science, and more mathematical than some. In light of this, you should first think about you're statement that you do not care for hard science or mathematics. You may find that this is not true, instead you may find that what you really find is that you are primarily interested in those areas of mathematics and science which directly relate to computer science, and find it loathsome to be forced into required math and science courses which you do not see as directly related to CS. If this is true, then I urge you to push forward, you will often find that at the beginning of you're education, things seem disjointed. It is not until you near the end of you're education that those disperate elements of you're education begin to form a cohesive whole. If, on the other hand, you decide that hard math and science is not for you, then you should seriously consider changing you're major.
    Computer Science is not the only technology related field of study, and it is not the only vector to working in a technology related job. I would say that you may consider looking into Computer Information Systems, which focuses less on algorithms and hard programming, and instead takes a look at how systems work together at a higher level, desiging those systems on that higher level, and resolving computer and business sytems into a cohesive and useful technological infrastructure for business. This will mean that you won't do much hard programming, though there may be some programming involved. Instead, as you expressed a desire for, you're focus will be on communication within a buisness. Writing documentation on the design of the system, interacting with people, departments, managers, and users. You act as a lieson between the developers and admnistrators and the business side of things.
    I'm in a very similar situation as to yours, except I started out in CIS and realized that my interest in mathematics and hard science meant that I should have chosen CS instead of settling for CIS as my major. I'm getting ready to graduate this term and I have to say that I would suggest you don't make my mistake, and find the major that really suits you.
    If analysis and design does not suit you, you may also consider other fields such as working as a technical writer, a technological reporter, or (if you're evil) working with marketing. There are a lot of areas where people need someone who can act as a translator between technological people and systems and others.
  • by blanchae ( 965013 ) on Sunday April 02, 2006 @01:21AM (#15044314) Homepage
    A lot of people don't realize it but electronics requires a good solid understanding of mathematics. As you progress through the levels of electronics: technician, technologist, engineering technologist, engineer, the required math component increases.

    If you are interested in technology, there's some fields of study that most computer geeks aren't aware of: Broadcast Electronics Technology and Telecommunications Technology. Both are typically 2 year programs at a technical institute. Broadcast engineers (actually technologists) deals with the installation, repair, maintenance , design of radio, television and video/audio production facilities. Here's a link to the Southern Alberta Institute of Technology's (SAIT) website on the Broadcast Technology [broadcast.sait.ca] program with a nice short video.

    Telecommunications conjours up ideas of phone systems but it is much more than that. In 1996, a milestone occured in telecommunications. It was the first time that more data then voice was transmitted via the phone networks. Telecommunication is the backbone of the Internet!

    Every ISP, MAN or WAN ends up running through the telecommunications system. Computer networking ends at the router where it connects to the phone system, then the data magically appears at the destination router. The movie Warriors of the Net [warriorsofthe.net] refers to the telecommunication's network as the Wild West where networking runs wild with little rules! Quite the opposite is true but it illustrates the point on how little is known about telecommunications from the computer industry.

    Every residence, business and government office has a phone system and data communication network that connects to its head or branch office. There is a major convergence going on where cable companies are offering voice service and data service along with their cable service. Phone companies are offering data and video services on their networks including cell phones. It is truly an interesting era!

    Here is SAIT's Telecommunication website [telecom.sait.ca] that I am currently updating to include VOIP and PBX labs based on Astericks software. And ys, I am biased as I am an instructor at SAIT teaching these disciplines.

    Good luck in your search, I hope that this information opens your eyes to other possibilities.

  • Professional gamer! (Score:4, Interesting)

    by mnemonic_ ( 164550 ) <jamec@@@umich...edu> on Sunday April 02, 2006 @02:00AM (#15044401) Homepage Journal
    Seriously though... if you like writing, you could become a tech journalist. You know, like the guys who write for Wired, Popular Science, ExtremeTech, PC Gamer magazine etc. You could be covering E3 or benchmarking video cards and combing through the data. Or you might be at a future Apple WWDC reporting on Mac OS XI (eleven or "zye"?), or in Cambridge meeting some MIT prof about his flying car. Eventually perhaps you'll author a definitive history of SGI (it truly was an amazing company). I wouldn't call these serious "tech" jobs, but it sounds like you want to get paid to have fun related to tech, preferably involving journalism. Tech journalism would bridge your interests pretty well I think.

    And hey, your /. submission was accepted, congrats. You're already published. Well, kinda.
  • by Jerf ( 17166 ) on Sunday April 02, 2006 @02:16AM (#15044431) Journal
    I can't quite tell where you are from your question; you could be a high-school-aged person getting into programming, or an early college student. I'm assuming that's true, as you probably wouldn't be asking if you were on the verge of graduation from college.

    It is true that you need some good mathematical foundations to truly excel. It is also true that those who never realize this rarely make it much past "mediocre", by my admittedly-high standards. However, the math you need to be good at may not be the math you are thinking.

    When most people say "math", they're thinking Arithmetic (the manipulation of numbers with few or no "variables"), some Algebra, and maybe Calculus. These maths are nearly useless for day-to-day programming, unless you are dealing with a clear and obvious exception, like game engine programming, writing a CAD program, etc. This is not to say they are completely useless; at the very least they are brain exercise of a calibre hardly attainable anywhere else, and that's nothing to spit at. But in general, this sort of math is not useful to programming, and you can be borderline atrocious at all three of those disciplines and be fine.

    What you really need to be good at is "discrete math", which at best gets mentioned in high school cirricula as "sets" and then ignored pretty thoroughly after that. It's still true that what you do in the classroom doesn't bear much resemblence to programming (I've only had to do something even remotely like a proof two or three times in 10 years of programming), but the things they are trying to test you on do matter a lot. Think of it like the exercises you'll do on a basketball team or something; you're not going to do a lot of running straight to half-court and right back again 20 times in a row in a real game, but it's good exercise. And you can still be good at playing basketball even if you don't do the exercises, but you'll be better if you do.

    Some examples of things that the discrete math theory will talk about that I find many people are very weak on:
    • Understanding the "domain" and the "range" of a function, and thus how to manipulate the domain and range of the function, and to verify (at some level) that the complete domain and range are covered. Concrete example: For every function you write in C that takes a pointer, you need to know what happens when a NULL pointer is passed in, 'cause it will be, sooner or later. Maybe you choose not to write code to handle it, but you need to have thought about it and made that choice, not let ignorance or poor thinking make it for you. Failure to do so is a failure to consider the entire domain of the function.
    • Working boolean expressions in 'if' statements; can you write the logical negation of (A&B)|(C&D)? Considering that's literally a homework problem, I've witnessed several of my co-developers screw that up in practice and then not notice, because the particular cases they tested happened to work right.
    • On that note, a gut feeling for how treacherous discrete math constructs can be. If you've got an if statement working on 6 true/false values, you really need to be careful that all 64 combinations do what you expect, not just test 5 of them and call it a day.
    • Understanding data structures, in particular when a tree is called for and when a graph is called for. (It's important to understand list vs. hash and a couple of others, but this is the one I see a lot of people missing a lot more often, and often it's not a matter of slowing the program down but of it being a buggy, fragile piece of junk, in a way a much worse problem.) In my experience, people start with trees, then badly kludge semi-graph-like features on top, breaking the whole system and ending up with something that still has all the complexities of a graph, but all the features of a tree, plus a couple, and usually buggy. They might as well have gone straight for graphs, but they are tricky buggers, which is why people avoid them in the
    • Understanding data structures, in particular when a tree is called for and when a graph is called for.

      A tree is a type of graph. More specifically, a tree is a connected forest, and a forest is an acyclic graph.

      Perhaps you meant "understanding data structures, in particular whether the graph you're using is a tree or not"?
    • That's one of the most insightful posts that I've ever read on this site. A really good breakdown of what it is to apply the knowledge behind discrete math to a problem, rather than solve problems in discrete math.

      And in response to the other reply above, yes, a tree is a type of graph but you've missed the point. If an algorithm can be coded over trees rather than graphs, then it should be, as it will simplify the design, and reduce the complexity.
  • by Edmund Blackadder ( 559735 ) on Sunday April 02, 2006 @02:27AM (#15044457)
    1. the math you need for software and the math you do in college in general is very different from the math you see in high school. There are much less numbers and formula memorization and there is a lot more conceptual thinking.

    2. Anything you decide to do will have some difficult parts. That is life. If you keep running away from challanges you will never get anywhere. If you truly like writing programs and figuring out complex algorithms, then you should just stick it out with some math that may not be as enjoyable.
  • Informatics (Score:4, Informative)

    by D.A. Zollinger ( 549301 ) on Sunday April 02, 2006 @02:28AM (#15044463) Homepage Journal
    If straight CS is not something you are interested in, perhaps you should look at Informatics. Informatics is a relatively new field of study applying computer technology to other established fields. For example, bioinformatics applies computer science to biology, studying the genome, and using computer modeling to understand how our bodies work at the molecular and cellular level. Wikipedia has an entry in Informatics [wikipedia.org] that explains the connection better than I could in a simple slashdot post, and links to many of the informatics sub-domains talk about work that is being done in those fields, from Human Computer Interface to Health Informatics, Chemical Informatics to Lab Informatics, the field is opening up fast and students are needed. Being a former CIS major who is going into Health Informatics, I can say that I enjoy the prospect of applying my knowledge of computer information systems to the health care industry to help the doctors, nurses, and clinicians do their jobs better, more efficiently and grant them access to information that would not have been easy to come by in the past.

    So far the program does not delve into the depths of detail that are seen in many of the other programs. And while knowledge of bits and bytes might help me do my job better, it is more important that I understand the concepts of what clinicians need, and what technology can provide, so that I may bridge the gap between both fields. Instead of Computer Science where you understand a computer as an entity, Informatics allows you to apply knowledge to various fields in ways that experts in one field or another would not find obvious. Consider Informatics to be the jack-of-all-trades degree that allows you to push information technology beyond the "a computer on the desk" mindset and into the future of computer technology.
  • If you don't want to do the math you don't have to. I suppose when you are talking about further study in CS you are talking about graduate programs. While some programs are highly mathematical, some programs are not. If you are good with algorithms and with the computer languages, I say you are good to go. The way I see it is that many programs have the mathematics sort of built in for people who are interested technology but not "computer science".

    If you want to be an academic, then you have no choice

  • Don't listen to the people who say you need math or other sciences in order to do computers. In general, the people who say that tend to be people who don't know anything about computers.

    I was never very good at math, never really took any chemistry or biology, but did get into physics and electronics a bit. However, I was insanely into computers. Since then I've done lots of work programming, system and network administration, and all sorts of other computer-related work. A decade ago I started a techn
    • Don't listen to the people who say you need math or other sciences in order to do computers. In general, the people who say that tend to be people who don't know anything about computers.

      ...or just anything about computer science...

      I was never very good at math, never really took any chemistry or biology, but did get into physics and electronics a bit. However, I was insanely into computers. Since then I've done lots of work programming, system and network administration, and all sorts of other computer

  • 1) systems administration, where at most you are writing cron jobs or bash scripts.
    [ an understanding of programming is a huge benefit though. ]

    2) Writing Articles / Books on specific topics, such as Administration of Windows Server2003
    [ requires a very good knowledge of the subject, as well as excellent language skills. ]

    3) Data Base Administration, which requires excellent logic skills, and usually knowledge of sql plus an in depth knowledge of the engine being used.

    Systems level, graphics, and game progr
  • Computer Science is a branch of Mathematics. You cannot be a Computer Scientist without being a Mathematician. You have to know Discrete Mathematics, Automata Theory, Complexity Theory, Algorithmics, Graph Theory and other mathematical stuff. It is not possible enjoying studying algorithms without enjoying mathematics at the same time. Perhaps you should question yourself why you dislike Mathematics, and what do you think Mathematics is? I bet you had a bad maths teacher in school, or you do not really know
  • I studied engineering in university, and it involved a lot of advanced math. If I had known that leaving high-school I probably would not have taken it, since when I left high-school math was *definitely* not one of my interests. Had I followed my academic talents I would have chosen music or journalism.

    That would have been a big mistake, since it was not until 2nd year university that I discovered I had a previously unknown interest quite a talent in advanced math, and achieved straight As in all my matc
    • Agreed. So - Start in Computer Science and approach all of the classes with the same zeal that you have in technology. Someone else mentioned it, but I'll bring it up as well. There are many tech jobs in games that do require strong math skilz (say for calculating the reflection of the sun off a lake, or that head shot from a half mile away) - but there are many that don't.

      Since you already have an interest in tech - if you are any good, you'll probably be bored and far ahead of your peers during the
  • Unless you are going to do scientific (e.g. matlab) or security programming (e.g. create a new encryption schema), you probably won't ever use your advanced math skills. I have been programming for 6 years and have never needed them, other than in an interview where they asked me. I have been given lead programmer on all major projects at all the places I have worked, so I guess I am not the worst programmer out there. Considering I don't use all those advanced mathmatical algorigthms, that's not too bad
  • 1. If you don't like math, then you don't like computer science. Period. This also means that many career paths are closed to you. You might be able to squeak out a CS degree, but you probably won't get far or be happy in the field. 2. You say that you don't like math, but it may be a bit early to say that. Most people enter college knowing no math. I say this from experience teaching college math and cs, and from the experience of graduating high school with no math skills - but eventually completi
  • We have too many 'technology' people now, in this slowly diminishing 'market'. We are bursting at the seams and dont need any more, including you.

    Go be a cop or something.
  • It isn't likely to be going away anytime in the near future.
    A degree in CS or related and a CISSP makes a good door-opener.
    And, there are so many aspects to the field, you can basically pick your fave area and self-train for it to get started and then work up to certification in that specialty.

    Am there, doing that, T-shirts not allowed,
    T_O_M

  • Journalism is certainly an option, although computer journalism is often geekier than you might imagine. Technical writing, human-interface design (had any psych classes?), marketing or pre-sales technical support can be fun.

    Don't, however, give up on a technical path. People with technical backgrounds who can also write a sentence in whih noun and verb agree in number, and paragraphs witha topic sentence, and all that nasty English Comp stuff, are rare. If you like public speaking as well, you're reall
  • lim f(CS)=MIS
    GPA->0

    'Nuff said.
  • Why don't you try blogging? :)
  • People in all sorts of desk jobs spend hours, days, or weeks performing boring repetitive tasks that should take a programmer minutes. Subjects like computer science and economics should be taught at an early age.
  • I went to college to do a CS degree about 15 years ago, and like you, I was into the technology but dreaded the threat of mathematics. I saw it as a necessary evil, gritted my teeth and got on with it.

    What I found astonished me. The mathematics work I was being asked to do was actually pretty interesting, and could be applied directly to programming. The terrible, terrible calculus problems I'd struggled with in high school all went out of the window. Instead we were studying things like Graph Theory, basic
  • Forgive me for ignoring the specifics of your request, but I couldn't tell you the first thing about jobs in programming or CS. I'll leave the minutea of that to my fellow posters.

    What I can tell you is that many people end up working in a field that they never envisioned themselves being in while in college. Perhaps this is not quite as true with highly-specialized technical jobs, but there's always the case where your talent (measured by abilities and experience) will be paramount to your degree. And if y

A list is only as strong as its weakest link. -- Don Knuth

Working...