How is the Computer Science Major Like


Recommended Posts

As a hiring manager for IT positions of all types, and an ex computer science (switched over to management info systems later on) major, here's what I can tell you...

First, if you become a programmer you have to love coding. You can learn to code without going to university (college) but you can't learn to program properly. Yes, there's a difference, and it always shows when I review a coder's work (no university) or a programmer's work. You'll find also, that proper university training may not teach you the latest and greatest languages -- often you're learning C or ASM or something, and you'll get a job programming .NET or Java.

What you learn in university is theory, logic, and application. You learn how to think of the WHOLE project, rather than just the block of code you're working on. You learn how to work on milestones, learn the proper meanings of beta, alpha, roadmaps, etc. I see lots of code monkeys out there making software, and you can always separate the good from the bad in terms of their training.

Granted, you can get some people who have gone through college and still be a 'coder' rather than a programmer. That's my job when I hire to figure them out before I give them the job :)

If you don't love logical problems (Google some Mensa questions if you are curious), then programming is going to suck. And if you want creative freedom well... then programming is going to be 'iffy' for you. It was that way for me. I personally like the ability to have freedom to design something the way *I* see fit, but unfortunately if you get a job the way you design software is going to be limited in many ways, mostly by a business decision from somebody higher than you. If you don't mind working towards it, you will eventually get a lead programmer or design position, and you can call the shots (like me!), but that's later down the road.

I started out as a systems admin, graduated to systems engineer, and then finally into a quasi SE/PM role like I am now. But I'll tell you this, I learned logic, I learned definitions and meanings, I learned how to stage things, I learned how to create and meet milestones, and I have applied that in my career. And any good systems person will know how to program at least a bit, for automation's sake.

Best of luck to you, and if you have any other questions please PM me and I'd be happy to help you out. I worked my way up through the ranks because people were willing to help me, and teach me -- and I'd be a real ass if I didn't offer the same to others who are working their way up and eager to do it now.

Cheers! :)

As a hiring manager for IT positions of all types, and an ex computer science (switched over to management info systems later on) major, here's what I can tell you...

First, if you become a programmer you have to love coding. You can learn to code without going to university (college) but you can't learn to program properly. Yes, there's a difference, and it always shows when I review a coder's work (no university) or a programmer's work. You'll find also, that proper university training may not teach you the latest and greatest languages -- often you're learning C or ASM or something, and you'll get a job programming .NET or Java.

What you learn in university is theory, logic, and application. You learn how to think of the WHOLE project, rather than just the block of code you're working on. You learn how to work on milestones, learn the proper meanings of beta, alpha, roadmaps, etc. I see lots of code monkeys out there making software, and you can always separate the good from the bad in terms of their training.

Granted, you can get some people who have gone through college and still be a 'coder' rather than a programmer. That's my job when I hire to figure them out before I give them the job :)

If you don't love logical problems (Google some Mensa questions if you are curious), then programming is going to suck. And if you want creative freedom well... then programming is going to be 'iffy' for you. It was that way for me. I personally like the ability to have freedom to design something the way *I* see fit, but unfortunately if you get a job the way you design software is going to be limited in many ways, mostly by a business decision from somebody higher than you. If you don't mind working towards it, you will eventually get a lead programmer or design position, and you can call the shots (like me!), but that's later down the road.

I started out as a systems admin, graduated to systems engineer, and then finally into a quasi SE/PM role like I am now. But I'll tell you this, I learned logic, I learned definitions and meanings, I learned how to stage things, I learned how to create and meet milestones, and I have applied that in my career. And any good systems person will know how to program at least a bit, for automation's sake.

Best of luck to you, and if you have any other questions please PM me and I'd be happy to help you out. I worked my way up through the ranks because people were willing to help me, and teach me -- and I'd be a real ass if I didn't offer the same to others who are working their way up and eager to do it now.

Cheers! :)

Wow Hercules thanks for the answer man, so the thing is that programmers basically have more control over the software creation process ?

Wow Hercules thanks for the answer man, so the thing is that programmers basically have more control over the software creation process ?

Programmers don't have control over the software creation process... that's the job of a project manager or lead programmer -- a role you can GET to by being a programmer to start. But it takes time, like anything else.

That said... the difference between a 'coder' and a 'programmer' is generally (and not always) university training. Getting the college background teaches you logic, helps you to look at your work as a 'project' rather than just a block of code, etc. I recommend if you want to get into software development, make sure you have your 4 year degree because most good programming jobs *require* it. Don't spend a lot on your education, you won't make much more if you graduated from Harvard or Rutgers. The only benefit those schools get you is connections, and when you're doing your undergrad you're generally too immature to make use of the connections. If you go back to school, then it's worth doing at a great school.

And in addition to your university training, learn on your own. The best programmers are the ones that did stuff in their spare time... that's how you have games like Counterstrike, because somebody created a 'mod' for Half Life and boom -- now it's an in depth game. Learn the major languages, C# is a good foundation because there are lots of jobs out there, and you'll be basically trained to write C or Java code in little time. I know VB.NET now myself, and I find it a difficult transition to write C# code, though I can read it -- i always miss the syntax :) Thankfully though, I'm also not a programmer so it's kind of a moot point :)

Programmers don't have control over the software creation process... that's the job of a project manager or lead programmer -- a role you can GET to by being a programmer to start. But it takes time, like anything else.

That said... the difference between a 'coder' and a 'programmer' is generally (and not always) university training. Getting the college background teaches you logic, helps you to look at your work as a 'project' rather than just a block of code, etc. I recommend if you want to get into software development, make sure you have your 4 year degree because most good programming jobs *require* it. Don't spend a lot on your education, you won't make much more if you graduated from Harvard or Rutgers. The only benefit those schools get you is connections, and when you're doing your undergrad you're generally too immature to make use of the connections. If you go back to school, then it's worth doing at a great school.

And in addition to your university training, learn on your own. The best programmers are the ones that did stuff in their spare time... that's how you have games like Counterstrike, because somebody created a 'mod' for Half Life and boom -- now it's an in depth game. Learn the major languages, C# is a good foundation because there are lots of jobs out there, and you'll be basically trained to write C or Java code in little time. I know VB.NET now myself, and I find it a difficult transition to write C# code, though I can read it -- i always miss the syntax :) Thankfully though, I'm also not a programmer so it's kind of a moot point :)

Hercules once again thanks for the good answer man :D I don't think I'd want to be a coder, rather I'd want to be someone who is more in charge of the creation process. I definitely will try to learn stuff on my spare time since I like tech. Yet here is the thing, do I need to have a CS degree in order to get such a job ?

Hercules once again thanks for the good answer man :D I don't think I'd want to be a coder, rather I'd want to be someone who is more in charge of the creation process. I definitely will try to learn stuff on my spare time since I like tech. Yet here is the thing, do I need to have a CS degree in order to get such a job ?

A quick background: I am doing a Masters in Computer Science right now and I am working full time at a company over the summer (it's summer now in NZ).

One thing's for certain - an architect or designer won't be able to do as good a job without being at least half decent at coding (unless they rely on and trust the opinion of people who are actually very good). This is because you need to know what is achievable within a given business mandated deadline and you need to at least be able to do a proper cost-benefit analysis of every design decision you take.

If you want to be in charge of the creation process right at the beginning, you should make your own stuff or if you are sufficiently enterprising, start your own company. If you want to be employed by someone else and still have a say, work for a small company. I do both of these right now because I have similar goals - I make my own software applications and I am in full control of that in every way. I work in a delightful company which is small only in the number of employees - I love working there because my input is taken seriously and I get to do architecture level stuff. This is only possible because a) the company is small, b) for someone at my stage, I am quite good at what I do, and I'm very passionate - which translates to real hard work (mostly because it doesn't even feel like "work" to me :) ).

You should go for a computer science degree if you code on your own in your free time and want to make something out of it. Wanting to jump directly to design and architecture is not very realistic - you need to put in solid groundwork before you get there.

And taking advice from people with considerable experience like Hercules is a very good idea.

Just to quickly say... if you want to be a programmer, get a computer science degree. You'll learn all the important things OUTSIDE of programming that make you a good programmer. The language you learn is irrelevant, if you can grasp the way to use objects properly, how to measure milestones, what a 'beta' means (not what people say it means), and how to look at a project as a WHOLE instead of just a little feature... you'll benefit.

The odds are though, the techniques you've learned in college by the time you graduate, will be four years out of date. Don't worry though.... most of your learning comes on the job, you only get concepts in college. Oh, and a degree... which is important for any job nowadays.

And I'll reiterate this again -- DO NOT SPEND A LOT OF MONEY ON YOUR COLLEGE DEGREE. Spend as little as possible, without going to a county college. Go to a real school, get a real degree, and spend as little as possible. It will be the best money you never invested :) Trust me.

The odds are though, the techniques you've learned in college by the time you graduate, will be four years out of date. Don't worry though.... most of your learning comes on the job, you only get concepts in college. Oh, and a degree... which is important for any job nowadays.

If the knowledge you gained in college is outdated in 4 years, you went to a bad college. A GOOD college will teach you the fundamentals which will NEVER be outdated. Techniques, fundamentals, and concepts will never go outdated. Only the languages, latest technology fads, and paradigms will change.

If the knowledge you gained in college is outdated in 4 years, you went to a bad college. A GOOD college will teach you the fundamentals which will NEVER be outdated. Techniques, fundamentals, and concepts will never go outdated. Only the languages, latest technology fads, and paradigms will change.

If you read my other posts, I am talking mainly about the languages they learn in college, not the methods they use to implement them.

If you are properly trained, you can pick up any language after you learn the syntax, as the logic and foundation are what's most important.

Make sure it is what you want to do.....its a challenging course (with lots of programming and theory). Looking back this it was NOT a good decision in life as I have other interests besides computing and it does make other career paths harder to get into....if I could go back in time I would not have done this course as it wasted a lot of my young life studying instead of having fun doing something I liked more such as working with animals.

  • 1 month later...

Make sure it is what you want to do.....its a challenging course (with lots of programming and theory). Looking back this it was NOT a good decision in life as I have other interests besides computing and it does make other career paths harder to get into....if I could go back in time I would not have done this course as it wasted a lot of my young life studying instead of having fun doing something I liked more such as working with animals.

So its pretty bad ??

I'm finishing my major on Computer Science this semester (with a dual major on Mathematics), and I'm continuing on my graduate studies for the PhD.

In my opinion, if all you want to do is code, there are easier and faster ways to learn so (equally good).

Maybe its because my university focuses so much on research that we do not care a bit about programming. On my university they focus on theory, A LOT OF MATH (enough to make most students finish a second major con Mathematics), and in the end we all learned that we are there to prove things are possible or impossible, and then let someone else code it.

I started computer science because I liked videogames (still do) and I wanted to work in the industry. But during my coursework I found a new passion in several topics, and thus I'm continuing for my PhD.

So in reality, all you need is motivation. Maybe in the middle of the program you'll find that you want to continue graduate studies and would love the SCIENCE part about Computer Science more than the COMPUTER part.

Hi, CS major here :)

Let's make it clear : CS isn't hard, it's misleading. A lot (and I mean a LOOOOT) of people think that they should invest in a CS major just because they like programming and stuff. This is wrong ! If what you want is just making programs you should maybe consider a minor involving software development but not a CS major. A CS major is more about studying data structures and organizations, algorithmic, languages theory, programming paradigms, AI, etc. so it involves a lot of theory and you'll need either to have a good grasp of some advanced mathematical concepts, or be ready to learn them quickly. So if that's not what you want, I highly encourage you to do something else as a CS class would quickly turn into a nightmare. Now if you're into this kind of stuff, you'll reaaaaaally enjoy a CS major which I think is one of the most rewarding majors out there as it will give you a great sense of self accomplishment looking back at all the projects you've worked on and all the knowledge you have that you can start using to do virtually anything you want with computers.

Hope it helps :)

PS : Start by asking yourself "Do I want to learn how to make programs that work, or how to optimize the time complexity of a recursive function from quadratic to linear ?". While you will learn the former in a CS class, you'll also have to deal with the latter. So if the second option is a definitive "NO !" to you, then I wouldn't recommend CS.

I'm finishing my major on Computer Science this semester (with a dual major on Mathematics), and I'm continuing on my graduate studies for the PhD.

In my opinion, if all you want to do is code, there are easier and faster ways to learn so (equally good).

Maybe its because my university focuses so much on research that we do not care a bit about programming. On my university they focus on theory, A LOT OF MATH (enough to make most students finish a second major con Mathematics), and in the end we all learned that we are there to prove things are possible or impossible, and then let someone else code it.

I started computer science because I liked videogames (still do) and I wanted to work in the industry. But during my coursework I found a new passion in several topics, and thus I'm continuing for my PhD.

So in reality, all you need is motivation. Maybe in the middle of the program you'll find that you want to continue graduate studies and would love the SCIENCE part about Computer Science more than the COMPUTER part.

This differes ALOT between uni to uni. Some uni's are all about theory, and back it up in maths. But at my uni we learnt lots and lots of theory that is relevant to software engineering, and much of it is useful for games. Theory about data structures, how databases work, TCP/IP networking stack, different forms of animation, using unix and software engineering processes to just name a few of the top of my head. I know lots of people who learnt to program on their own and although they can program, and they are good enough to be able to produce good aps, most often miss stuff because they don't know the theory I know. But what I really learnt was the confidence to go off and do my own thing.

Plus in reality the actual coding is monkeys work. It's the algorithms and designs behind the code which are the important bit. That's not to say coding is bad, but often your just translating your designs to code.

I'll add that I shifted my career from CS to MIS (Management Information Systems).

I realized that coding for hours in front of a screen isn't my thing. After working 3 years as a part-time web developer, what I enjoyed was coding my solutions that I had to come up to solve a problem, not to be told "make this function, etc.". The code-monkey part of the job was boring, almost too mechanical. I preferred to be the analyst which is why I'm shifting into full analysis positions.

I'll add that I shifted my career from CS to MIS (Management Information Systems).

I realized that coding for hours in front of a screen isn't my thing. After working 3 years as a part-time web developer, what I enjoyed was coding my solutions that I had to come up to solve a problem, not to be told "make this function, etc.". The code-monkey part of the job was boring, almost too mechanical. I preferred to be the analyst which is why I'm shifting into full analysis positions.

Which is one thing I like about my job. I got a degree in Computer Engineering. I've got a job as Software Engineer. The one thing I like though is how we operate. I'm not a simple code monkey. The developers themselves come up with the design, algorithms, functional requirements, etc and those are approved by your technical lead. We usually do have some restrictions like line item XYZ has to support ABC, but we get to choose the details.

I like programming and I like this way. I don't have some management analysis dude who does 0 programming telling us how to design and implement a feature.

It's boring as you find yourself able to work far ahead of the the curriculum if you were allowed to pace yourself. Programming courses are especially boring as they take weeks to go over the most simplistic of concepts like objects, control structures, data structures, et cetera.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Nothing Ear (a) and CMF Buds Pro 2 with active noise cancellation drop to lowest price ever by Fiza Ali With Prime Day 2026 scheduled to run from Tuesday 23 to Friday 26 June, Amazon has already begun rolling out early access offers ahead of the main event. Particularly, Nothing Ear (a) and CMF Buds Pro 2 wireless earbuds have dropped to their lowest price ever with limited Prime deal offering 33% and 24% discounts, respectively. Nothing Ear (a) are equipped with 11mm dynamic drivers featuring a PM1 + TPU diaphragm. For noise control, the earbuds offer active noise cancellation (ANC) of up to 45dB across frequencies reaching 5,000Hz. The smart ANC algorithm adapts to surrounding noise levels, while a Transparency Mode allows users to remain aware of their environment when needed. Connectivity is handled via Bluetooth 5.3, with support for AAC, SBC, and LDAC audio codecs. Additional features include IP54-rated earbuds for dust and splash resistance, paired with an IPX2-rated charging case. Furthermore, users also benefit from pinch controls, in-ear detection, Google Fast Pair, Microsoft Swift Pair, dual-device connectivity, and a low-latency mode designed for gaming and video playback. The Nothing X app unlocks a range of customisation options, including a personalised equaliser, bass enhancement, control remapping, ear tip fit testing, firmware updates, dual-device management, a Find My Earbuds feature, and low-latency mode settings. When it comes to the battery, the earbuds house a 46mAh lithium-ion battery, while the charging case contains a 500mAh cell. With ANC disabled, users can expect up to 9.5 hours of playback from the earbuds and up to 42.5 hours in total with the charging case. With ANC enabled, battery life is rated at up to 5.5 hours per charge and up to 24.5 hours combined with the case. Finally, fast charging is also supported that should provide up to 10 hours of playback from a 10-minute charge with ANC turned off. Nothing Ear (a) Wireless Earbuds (Black): $53.20 (Amazon US) - 33% The CMF Buds Pro 2 feature a dual-driver audio system consisting of an 11mm bass driver and a 6mm micro-planar tweeter. The earbuds use PU (polyurethane) and PET (polyethylene terephthalate) titanium-coated diaphragms and are tuned by Nothing to deliver balanced audio performance. They further support active noise cancellation of up to 50dB across a frequency range of up to 5,000Hz, and noise control features include a Smart ANC algorithm, Adaptive ANC, Transparency Mode, and Clear Voice Technology 2.0. For calls, the CMF Buds Pro 2 use a total of six microphones and feature an environmental noise-cancelling algorithm, Clear Voice Technology 3.0, and Wind Noise Reduction 3.0 that should improve voice clarity during conversations. Furthermore, when it comes to the connectivity, it is provided through Bluetooth 5.4. Additional features include an IP55 rating for dust and water resistance, Google Fast Pair, Microsoft Swift Pair, in-ear detection, a low-latency mode, and a Find My Earbuds function. Moreover, through the Nothing X app for Android and iOS, users can access custom EQ settings, a bass enhancement algorithm, customisable controls, Find My Earbuds, low-latency mode, dual-device connectivity, an ear tip fit test, and firmware updates. The earbuds contain a 60mAh rechargeable lithium-ion battery, while the charging case houses a 460mAh battery. A full charge of the earbuds and case via USB-C should take approximately 85 minutes, while the earbuds alone should be fully recharged in the case in around 60 minutes. Battery life is rated at up to 11 hours of playback on a single charge and up to 43 hours with the charging case when ANC is turned off. With ANC enabled, playback time is reduced to up to 6.5 hours on the earbuds and up to 26 hours with the charging case. Talk time is rated at up to 6 hours on the earbuds and 25 hours with the case with ANC disabled, or up to 4.8 hours and 18.6 hours, respectively, with ANC enabled. CMF Buds Pro 2 Wireless Earbuds (Dark Grey): $37.05 (Amazon US) - 24% Good to know This Amazon deal is U.S. specific, and not available in other regions unless specified. We only use first-party seller links (at the time of article publishing); ensure that you purchase from a first-party seller link only. Check out Today's Deals on Amazon | or our recent tech deals. Become a Prime member (for Students or SNAP) via Neowin Get Prime Access - Prime for half price (for qualifying Medicaid, EBT, SNAP) Subscribe to Prime Video, Audible Plus, Music Unlimited or Kindle Unlimited via Neowin As an Amazon Associate, we earn from qualifying purchases.
    • The entire world moved to the vastly superior and now universally supported Dolby Atmos technology a very long time ago, mate.
    • Insane. This is as crazy as COVID back in 2020, where you could go back one year in time and tell them that everybody's gonna be locked in and now with memory that your old computer was going to be worth more tomorrow
    • "Bad Pool Caller" meaning one of your software is trying to change memory it doesn't own, in a memory pool that's it ,nothing to do with Windows
  • Recent Achievements

    • Collaborator
      ryansurfer98 went up a rank
      Collaborator
    • Week One Done
      Eurosoft10 earned a badge
      Week One Done
    • One Month Later
      Eurosoft10 earned a badge
      One Month Later
    • One Year In
      Skeet Campbell earned a badge
      One Year In
    • One Month Later
      Sharbel earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      544
    2. 2
      +Edouard
      187
    3. 3
      Michael Scrip
      77
    4. 4
      PsYcHoKiLLa
      75
    5. 5
      Steven P.
      71
  • Tell a friend

    Love Neowin? Tell a friend!