Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: CS major who doesn't want to code. Am I in the wrong major?
31 points by ajaimk on Nov 30, 2009 | hide | past | favorite | 83 comments
I am currently in my 3rd year as a Computer Science major. I choose CS cause I love technology and still do. Its just that I do not see myself in a stereotypical "coding job" cause that is not who I am.<p>I am a very outgoing and people person and am hoping for a job of the business/marketing/management side of a technology company. I am also the founder of the Entrepreneurs Club at Georgia Tech.<p>I look at my job prospects and people want CS major for coding jobs only.<p>Am I in the wrong major?


Am I in the wrong major?

Yes.

You (and some others) may not like what I'm about to say, but you asked for it, so here goes...

In all the years I've been in technology, it has typically taken me about 28 seconds to determine if another person was "fluent" more than one or two levels below the surface.

Those that were were almost always programmers, engineers, or technicians at one time or another. Everyone else was at best managers and business people, or at worst, administrators or posers.

I know some might disagree with me, but a Computer Science major who doesn't want to code is like a dental student who doesn't want to look into anyone's mouth.

To get good in technology, and I mean really good, you must get under the hood, deeply and often. The best and most logical way to do this is by programming. And you will have to do this intensely and for long hours, so you have to love it.

The single biggest difference I've seen between great programmers and everyone else is a pure love for what they do. Intelligence matters, work habits matter, ability to work with other people matters, but make no mistake about it, there is no substitute for passion.

Great technologists love what they do so much, they can't wait to get back to it. They have to check on their work after dinner. They have to review their notes at bed time. They are often the first in the office in the morning and just as often the last to leave. They read and learn voraciously and can't wait to apply their skills to new problems. They're so busy doing what they love, they don't even think of it as "working 9 to 5".

By your own description, you do not sound like this. So do yourself (and the rest of us) a favor and find something you love and major in that. If, on the other hand, it's too late or it doesn't make sense to switch majors, then go ahead and finish your CS major, but please find a direction to follow that puts you in work you love. Be forewarned, though. Unless you're a programmer first, you probably won't make a very good sales engineer or project manager. You may want to consider sales or even (dare I say) proceeding on to business school for your MBA.


I majored in Physics in undergrad. When I was taking the physics GRE for grad school, it dawned on me about halfway through the test that I didn't want to do physics anymore (likewise it also dawned on me that I wasn't very good at physics either).

Was I in the wrong major? I'm not so sure. I've thought about it a lot. Physics, while not my ultimate passion, was responsible for teaching me a way to think about difficult problems. It "broke me in" so to say, and from then on, everything else became "well, atleast its not physics". Physics taught me to be immensely skeptical but curious. It was inspiring and thought-provoking. Satisfaction didn't come by answering a few questions quickly, but at the end of a 20-hour problem set that I sat with the entire week.

So while I agree with your post (and up-voted you for writing it), I'm not sure to what degree I agree. Because I feel like everyone should have the opportunity to explore many different subjects and find out through the course of learning them what their true passion is. Perhaps the OP will be really thankful in the future for having a CS background which afforded him opportunities he would have otherwise not had.


everyone should have the opportunity to explore many different subjects

Well, yeah. That's what this whole exchange is about. The original poster has explored CS. (S)he is done now (and knows it, otherwise this post wouldn't be here.)

Time to explore another subject! The great thing about figuring this out during junior year is that you actually have a chance to do so before you graduate, which will literally save you a lot of time and money. I'd suggest studying physics ;) [1] (Which is indeed an excellent thing to understand, even if the actual job of a physics researcher isn't for everyone.)

---

[1] Though not very seriously. From what little I can guess about OP's tastes, some economics, accounting, law, or even design classes might be more fun.


"The single biggest difference I've seen between great programmers and everyone else is a pure love for what they do."

This applies to everything, whether it's programming or gardening or sales. You can only be great at something if you love doing it. Keep trying different things until you find what you love doing. Once you find that, everything else will fall into place.


I disagree.

I am not a fan of coding, but love what I have learned as a CS major. I am much more interested in cultivating my understanding of how computers really work. Learning about coding was interesting, but it was only a tool for me, a game, another language, or system of representation necessary to develop a higher level of understanding. I would liken it to learning languages to study literature.

I learned how to do calculus and linear algebra by hand, and use it all the time, but i use calculators and matlab to accomplish this.

I love having learned about fascinating topics, such as networking protocols, functional programming and the lambda calculus, security (my favorite), concurrency, software engineering (from design patterns to agile development / project management to versioning systems (which I apply to other aspects of my life now)), all the way down to assembly language, microcode, combinatory logic, boolean gates, flip flops, busses, and pipelines, etc that makes this all possible.)

I still don't love to code, but I know I want to work with computers for the rest of my life, and I'm pretty sure that studying Computer Science was the best use of my time at school.


Thanks for the feedback but the issue for me is not a desire to never touch code in my life again. I am very passionate about technology and coding too at times. Once in a while, I will get some crazy idea into my head and will sit in front of the computer coding at it non stop for nearly days on end. But all these times, my passion was towards the final product on what I wanted to make and not in the actual coding itself. For me "code" is just a tool for me to achieve what I want.

Also, the whole thing about not thinking of it as "working 9 to 5", I totally agree with you and I will point out that I am one of those people. The only difference is that I don't do that for my code but for my pet projects. I sleep with a moleskin book next to my bed for those times when I wake up in the middle of the night and need to jot down an idea.


edw519's post is based on the assumption that you are going to take on a programming job. If that is the case, you will probably burn out on programming and not really have the passion to be a great programmer.

However, there are tons of business people who have never done any programming and are still great business people. Imagine how great a business person you will be if you do know the technology.

A lot of business people go the business route and then are forced to do programming from time to time and they really write crap code and it breaks and it's horrible to maintain that stuff. Your code will be better than that.

I had this guy tell me one time, he was a business grad, he said, "Coding is easy, all people should take business courses and learn the programming on the job." But believe me, I had to fix that guy's code and integrate it into the big picture and it was total garbage. I suppose the Dunning-Kruger effect kept him from realizing how bad his code was.

Anyway, point being, I think if your passion is in the business side and you go through the ranks in school getting your CS degree, then you could be unstoppable in the tech world. If more CS grads had the business passion, they'd be better entrepreneurs.


Sure, nothing inherently wrong with that. "I don't like writing, I like having written." -Ernest Hemingway


I agree with your perspective except that for most in his situation any major is the wrong major. Very few know what they want to do with their life. You only find out by lots of exploration. This path extends well beyond college.

I haven't always loved to code and especially don't love tasks I'm told to do as opposed to ones I invent myself. But when I do get into it, I build great products. It comes and goes with me as I like to wear different hats from time to time.


Depending on OP's history, I may disagree.

When I graduated in CS with an M.Sc. I said to myself that I didn't see myself in a cubicle coding along all day. I'm also more outgoing than the average hacker so I wanted to work with people more than with machines. So I applied for all the "wrong" jobs. (My thesis was about usability so I applied for usability engineering positions, competing with psych graduates etc. while the industry was desparately looking for programmers with my background.)

It was good that I couldn't get the job I wanted, forcing me to take on a programming job. I became a project manager within three years and a product manager in a larger company within five years. I didn't program anymore at my day job during that time.

But I realized I did love programming so I started all kinds of side projects and kept up with technology even though it was not needed much for my job.

What I'm saying is, you may not have discovered it yet. Get a programming job and if you really do hate it, get promoted to some management position (it's often easier than you would suspect because most hackers don't want to do management). I know quite a few people who did that. They're doing a good job and they're happy not having to code anymore.


This and a thousand times this. If you don't want to code - you are wasting your time being a CS major.


I had a lecturer in CS who didn't really code and would freely admit it. A LOT of what she lectured stuck and I've used it everyday in my programming jobs.

CS != programming.


as mentioned before, only if he wants to be a programmer. Even if he eventually goes on to become a business person, I think being trained in CS will give him a far better perspective and trust from the programmers working for him.


There are tons of jobs this background will be invaluable for.


Dijkstra said, "Computer Science is no more about computers than astronomy is about telescopes." It's more than that though. Computer Science is no more about most programming languages than astronomy is about telescopes.

There are a lot of people who code giant Java or PHP projects and think it's Computer Science. It's not. It's not even interesting.

Computer Science, at its heart, is a form of mathematics. Its progress, at best, stems from that, and is simple, elegant and beautiful.


Computer Science theory is a form of mathematics. That's how CS got started. It has evolved into something separate from mathematics - certainly related, but also clearly independent.

I've said this before on HN, but there is more to computer science than the math-heavy, CS theory that many people here seem to think is the entirety of computer science. Computer science also encompasses the study of programming language design and implementation, computer architecture, operating systems, networking, graphics and other fields. While math is a part of these fields, math is also a part of organic chemistry.

Perhaps the most fundamental nugget of computer science is that it is everything concerned with computation in both the abstract and in implementation. All of the fields I mentioned stem from that idea, including CS theory.


Too right. People who want to be coders shouldn't be CS majors (though the better coders tend to be CS majors), they should be IT majors and study programming. People who want to understand the theories of computation should take CS. It's that simple.

It's a common misconception that programming = CS. It stems from the fact that programming just so happens to be a very convenient way to compute things, so it happens to be what most people who don't understand CS see.


In most universities, the computer science program is the best way for people to learn how to program. In the future, I think CS departments will split into software engineering (which focuses on teaching students how to program and engineer software) and computer science (which prepares students for careers researching in the field of computer science). But that's not how things are in most places.

Also, "theory of computation" is an area of computer science theory. There is much more to a CS curriculum than theory of computation.


>In most universities, the computer science program is the best way for people to learn how to program. In the future, I think CS departments will split into software engineering (which focuses on teaching students how to program and engineer software) and computer science (which prepares students for careers researching in the field of computer science). But that's not how things are in most places.

Too right. I agree with this. I think that the "field" of software has generally gone in three directions.

1. How do you compute it (or Thinking about it)? That's CS 2. How do you plan to build it (or Planning it)? That's Software Engineering 3. Go build it (or Doing it)! That's IT

Sadly, at least at my alma mater, the trend of keeping these three fields separate has reversed. Instead, with budget cuts, the departments have merged under the CS umbrella. I think this continues to push forward the layman idea of these three things being equal because of how they are co-mingled -- but really they are as separate of disciplines as Physics is from Road Paving.

Ideally the number of students and practitioners in each fields should be distributed like a pyramid (a la any other engineering discipline). Most people doing, fewer people planning, and even fewer people thinking.

>Also, "theory of computation" is an area of computer science theory. There is much more to a CS curriculum than theory of computation.

I guess I also agree with this. I've always chafed at calling Computer Science the "Science of Computing" though since it's not a science in the classical sense. But everything I ever learned in my undergrad (not counting unrelated curriculum coursework) was definitely related to "computing" in even a loose sense of the term. I just don't think calling it the discipline of "computing" makes it any more clear since "computing" - the act of using a computer (like a Mac) and "computing" the act of performing computations, are easily confused. The "Theory of Computing" has always seemed to have the best balance while providing context for "computing". But I'm open to accepting other 2 word descriptions ;)


Software engineering is a young field. While I think separate SE and CS degrees is how things should be in the future, I'm not sure it's the right thing to do now. I recognize that SE programs do exist, but we (as a species) are still new at building software. We've been doing the other engineering disciplines much longer. And as you point out, we're unlikely to see programs split in a poor economy.

(I do have to disagree with your point 3: building it is very much engineering. I consider IT management and service of computing resources and information.)


All true, I think the very fact that we can have an interesting discussion about where the three major disciplines draw their respective lines is evidence of the immaturity of the respective fields.

I have a feeling that, with the way the three disciplines overlap, when everything finally shakes out we'll probably see the formation of a few more disciplines. We've been doing math, science, engineering and building things for thousands of years, but software for not even a century.


I don't have any interest in defending PHP or Java specifically, but giant projects really are interesting. They're just not Computer Science.

The interesting thing about giant projects (say, hundreds of thousands of lines of code on up) is that they're by far the most complicated systems that humans have ever created. And coping with a million lines of unstructured logic is simply impossible.

Lots of interesting ideas in software engineering -- higher-level programming languages, modularity, abstraction, tiny-programs-connected-through-stdin-and-stdout, service-oriented architectures, et multa cetera -- are direct attacks on the problem of how to design systems that predictably exhibit incredibly complex behaviors.

These systems would be literally incomprehensible, and unbuildable, without the library of intellectual tools we've accumulated over the last couple of decades. That library is still growing. Maybe you or I will get to write a chapter. This is Interesting. But it certainly has little to do with the analysis of algorithms.


Right, but there aren't a lot of industry jobs doing things which are "simple, elegant, and beautiful". In my experience, coding in industry is a great way to make very decent (6-figures in NYC) salary just a couple of years our of college while working on the "simple, elegant, and beautiful" aspects of our profession on the side.


But the OP is not a theoretician, nor does his post indicate any desire to be the next Dijkstra.

Dear [here I'll say it for you] But-I-am-not-a-geek: Obviously you are neither interested in the non-people-oriented ;) aspects of "technology" nor are you (or your university for that matter) projecting any signs of aspirations to the heights of application of "mathematics". Switch to a business degree and minor in the non-people-friendly-and-not-for-just-anyone CS.


Don't get smirky. I was exactly that guy. I was a CS major but minored in business and was the extroverted CEO of a software startup at 21. I used to think the fact that I often didn't like the "code" aspect in-and-of-itself (it just seemed hacky to me) made me think that it was my fault -- that I just didn't get it. After a lot more learning, I now know that I was right all along. It is hacky and it's horrible, and I never had to worry because that's not CS. There are cores of "Dijkstra beauty" in every project. Find that and extole that, because that's what's good in your project. It's not about being some ivory tower academic. I'm saying you can be a people person and be a CS major. You can hate "code" and be a CS major. Truth is, you'll be a better CS major.


I wasn't being "smirky" and don't appreciate your characterizing me as such.

The OP has indicated no interest in creating "technology", whether in bits or in the abstract, but has indicated his interest in both business and technology. So regardless of the validity of your general points and personal anecdote, you are not really answering his question.


Maybe. But your major doesn't have to define who you are or will become - it's just a thing.


It's also worth remembering that there are vast numbers of jobs that don't specify a CS degree, but where being a technical or semi-technical person helps.

If you're good at interacting with people and have a background in technology that makes you very valuable - look at the spread of jobs in consultancy and team leadership (software development end of the scale), technical writing (aka information development), technical pre-sales (explaining technical stuff to non-technical people).


very good point! we have a mathematician in our engineering team. one of our teachers (software engineer) was working toward his PhD in nuclear physics, but stopped in the tick of it because he wanted to work in the IT. you really just should do what you think is right for you. if you wake up in the morning and you're happy to go to work, then you know you've found the right thing for yourself. a major in CS doesn't restrict you. it's quite the contrary. you can choose to do a lot of things, since IT does not only consist of programming positions.


Being in a coding job is one thing, enjoying writing code and building things is another. I can fully understand not wanting to be the stereotypical code monkey who sits in a dark room and outputs code. So the real question is, do you dislike the subject matter or the imagined career. If the former, then you have a problem. If the latter, you can probably escape the stereotype by founding or working at something smaller.


Here's a few thoughts for you:

1 - I know of no major whose job outside of college resembles what you study.

2 - I went to Georgia Tech, '87-'92. Yep, a long time, as I was a co-op student and had several entrepreneurial jaunts along the way. I chose EE as a major as I specifically did not want to study CS since I had been programming for 5 years prior to college and the first 2 years of the CS curriculum looked boring to me. I have not used my EE education any more than I would have any other discipline in my entrepreneurial life.

3 - My work as a co-op student gave me clear perspective that what I was learning in school would not be what I would do afterwards. Changing majors would not have effected this. In fact my work as a co-op gave me a better "MBA" than what I feel most learn from the world's most revered MBA programs. I can't say this is the case for all co-op students as I was handed a dream job surrounded by industry veterans that loved to be my mentor. Even with that, I still didn't know what I wanted to be for the rest of my life ;).

4 - Don't worry about your job outlook. It will change by the time you graduate. Stay the course with your CS degree and continue your entrepreneurial thread. A true entrepreneur is one for life. You have no idea what you will do or if and when you'll make a windfall of money.

5 - I don't always like to code, it just happens that I'm pretty good at it and was able to fall back on coding work to supplement my income to support bootstrapping my own projects. It comes and goes. I enjoy a job well done even when it was tough to get motivated. You will most likely have to bootstrap things yourself and coding skills can play a big role.


In my experience, the best managers / product designers of programmers know how to program. This helps them tremendously in understanding how to set goals and expectations. It is very difficult for non-coders to know what is a very difficult task (e.g. data deduplication) vs. what is an easy feature to add.


There is a real need for people who can bridge the gap between programmers and non-programmers (end users, clients, supervisors, co-workers).

After graduating with my information systems degree 10 years ago, I started a small software company. Three years later, I was concerned that since my strongest skill was programming that I was doomed to be a programmer. I went back and got my MBA from Texas A&M (2 intense semesters followed by a very light 3rd semester).

Pairing the MBA with my technical background has proven to be very beneficial. I can interact with my customers or occasional clients and really understand their needs from a non-technical perspective and then I can then go back to the office and work with a developer either in pair programming or just in a project management role.


I agree. I have worked with people who are coding machines and could code stuff that took me days in hours. I was better able to understand what they were doing having programming knowledge but really did not want to be in their shoes.


Not at all. If I could choose between either an entrepreneur with an entrepreneurship major or a CS major, the CS major would win hands down every time. It seems a lot of CS/CIS majors prepare you for "coding jobs" in fortune 500 IT, which is a real shame. The degree is what you make of it.


That is my problem mostly. I love coding and do it for fun. Its just that I can't convince myself to get a desk job where I stare a monitor from 9 to 5.


To be honest, most (professional) jobs nowadays require staring at a monitor 9-5.


Then you're mistakenly saying you don't want a coding job, when you don't want a typical 9-5.


HAHA

My hair is still wet from finally getting a shower today at 240 pm...

CS is the BEST ticket to get a job that's NOT staring at a monitor from 9-5. If you're willing to do sales, you'll be flying around the country (or at least driving), doing installs, and possibly earning commissions.

If you're willing to do entrepreneurial things, you'll be staring for 10-15 hours a day, definitely not 9-5, then be checking in and on the phone most of the time after you get something moving, but definitely won't be 9-5ing it.

Additionally, for many branches of development, if you prove you deliver, you get some ridiculously flexible schedules by the standards of any other field.


You should edit your OP to include this snippet. There's a big difference between "I don't want a coding job, and I don't like coding" and, "I love coding, but I don't want a coding job."


At some point around the third year of my CS degree at Georgia Tech I went through a similar realization (I wonder if it's something about the curriculum): I understood that while I was smart, competent, and able to get through the curriculum with good grades, I was never going to be a "rock star" programmer. And, indeed, I realized I didn't want to become one, because it wasn't really my passion in life.

Do I think that means I finished my degree with the wrong major? No, not really. Like you, I'm interested in technology and I felt I could still contribute something worthwhile to that world. The understanding and ability to code are still things that have a huge benefit.

There are plenty of opportunities for people with that background as well -- from technical sales (on the more people-oriented side of the scale) to program or product management at software companies (on the more tech-oriented side). I'm a Program Manager at Microsoft, and while I don't code as part of my job, I feel like I wouldn't be able to interact with developers and testers nearly the same way if I didn't graduate with a degree in CS. You should look into positions like this and see if they sound interesting. Here's a great writeup by Steven Sinofsky, president of the Windows division at Microsoft: http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.asp...

Long story short: Stick with CS. There will be plenty of opportunities to get further away from the technology if that's what you decide to do, but very few opportunities to get back into it if you let your skills wither while you're still in school.


The most profitable ventures are always at a junction of two tings. In your case a junction of someone who can code on one hand and who can see the point of another coder and negotiate to the agreement on the other hand is very valuable in any large company. Product development in large companies always requires more coordination between different teams than is available, so you just can't go wrong by targeting this niche. Do both and you will do well.

As a matter of staging, get a coding job in a large company. Straight out of college the expectations will be fairly low for you, so meeting coding expectations would be easy. Use the spare time to seek out right-sized communication gaps in projects that are important for your skip-level manager, suggest improving it, provide your budget (I will spend one week on this, this and this) and make a tiny but clearly measurable progress. If you make a decent effort you will be noticed, if you succeed after first three attempts you will be fast-tracked.

Remember that engineers respect other engineers, so if you start with coding and especially a coding achievement you will come from the position of strength compared to any regular program/project manager.


A classmate of mine graduated with a degree in computer science, and went on to law school. I was initially puzzled by his decision, but now applaud him! Society needs more lawyers with a solid understanding of software technology.


I also know several lawyers who started with a degree in computer science. It may be a more common path than you'd think.


I was once at the same place you are with regard to CS, albeit at Virginia Tech (go Hokies!). I would suggest seriously considering an MIS program in your business school. I switched to Business Information Technology (VT's MIS program) after two full years of CS, and it was the best thing I've ever done. The programming experience I gained through CS has served me well, but the business skills learned in the business school have served me far more. I'm currently working on my MBA, something I definitely wouldn't be doing if I had stayed in CS.

If you're interested at all in starting your own company, which you definitely seem to be, I'd definitely recommend switching majors. The network of people you will meet in a business program will prove far more valuable than CS.

Edit: Good luck in the ACC champ game!


No, you're not in the wrong major but you do need to look at fields outside just "programming."

A smart girl I used to work with realized that she was more interested in the business than in coding & testing and left to become a Business Analyst. The job suits her personality much more than being a coder did and she's good at it. Basically her job now entails meeting with customers to elicit requirements and understand their needs from a business perspective. Having a CS background gives her the ability to talk to both business people and technical people and be able to translate between either "world."

In software development today, your interpersonal skills are much more valuable than technical skills. I rarely turn down an job candidate for tech skills: it's almost always a personality problem.


I am exactly in the same position as you, just got my bachelor in CS - albeit in Europe (Switzerland), and don't want to code for a living, even if I enjoy it.

In my opinion one solution would be IT or management consulting. You'll be travelling around, getting to know many people, etc... And I think it gives you the exact tools you'll need if you want to become a entrepreneur later (social network, overview of how businesses are managed, what they need, you get the picture).

Some consulting companies that love to hire CS majors here in Switzerland: - The big 3 (BCG, McKinsey, Bain) - Accenture (seems to be present in Europe only) - ...


That's exactly what I'm going to be doing with my Computer Engineering degree (like CS with some electrical engineering thrown in), but in the US with Deloitte Consulting.

I had the exact same conflict, where I didn't want to be programming every day for eternity, and this will give me the opportunity to travel around and see a ton of different companies. Granted, I'm expecting to get worked to the bone and get tired of staying in hotels every week, but it'll be a fun experience that should let me move into something awesome.


Well, I'm a CS major (or whatever you want to call to the european equivalent) and I don't code for a living.

I'm a systems administrator, and while I like to program and do so fairly frequently (both for fun, and on the job), I just can't see myself as a programmer, at least in the near future.

I find most "real-world" programming to be quite boring. And doing it day-in day-out would just burn me out of it real quick.

Of course, there are some programming jobs I can see myself taking. But making business apps or web stuff isn't one of them, and that's pretty much the whole market right now.


Nah. I'm a CS major who just left his first job (which was a coding job) for something different and hope to go to law school soon. Half the people I work with are CS majors who decided to go into business.

But being a CS major has helped. From being able to break down a problem and create a concrete solution to the fact that our spreadsheets work better and are easier to read, the things we learned as a CS major are very helpful.

Treat it as learning a particular way of thinking and I think you'll be fine. Treat it as "learning how to code" and you might regret it.

However, now that you've realized other majors might be interesting, I would suggest minimizing your CS courses and finding other courses that interest you. Take a marketing class instead of a class on compilers or something. Get a minor in something you really want to go into. Or, better yet, study something you'll never get the chance to learn about again (at least until you retire).

Edit: Sorry, one thing I didn't consider is that some colleges do core classes for 2 years and then classes for the major afterwards (didn't do this at my college). If thats the case for you, then I'd suggest looking into a CS minor and maybe some other major.


Your first job doesn't mean it's what you'll always do.

My first job was a mostly coding job (even tough it was really not "just" coding) but it quickly morphed into something else. If you are good and you are interested, there are many other things possible than just sitting at your desk 9 to 5. Nowadays I very rarely code on my day job and when I do, it usually is fun (unless its Excel macros, that doesn't count).


You are not in trade school. Take control of your life :-)

Most things in CS are able to be studied both empirically and theoretically. For example, Scott Aaronson is a CS theorist at MIT who has admitted to doing just a little BASIC programming in school. I took no computer science courses, but now I code full-time.

Are you passionate about something? What is it? Do that, and don't worry about your major.


Georgia Tech was originally called "North Avenue Trade School" ;)


Damn, beat me to the quip :OD


I think maybe the OP is just feeling a bit down today about his college life due to our poor showing against UGA two days ago. ;)


I was expecting to deliver such a fine fine spanking to the dogs too. Oh well. Piss on them.


MIT - the Georgia Tech of the north ;)


No I don't think you are in the wrong major. I was in your same boat, for the majority of college I wanted to switch to being a political science major. But now I started my own company and I code everyday. The worst part, I love it, coding and all.

So I think you have two options coming out of your major in your position. (1) you don't code, but that's ok because at least you'll have a technical background which will enable you to do a lot of cool things (tech consulting, tech ibanking, project management, etc.). or (2) you find out you really do like to code, at which point you're happy anyways.

Last, but not least, most things in college you can learn by simply picking up a book and reading about it. The only critical classes I took in college were several of my upper-division CS classes that I would not be motivated to learn about (ie. how to build a CPU) and accounting 101. As such, whatever your choice, at least you gave CS a shot, and that has defined another set of paths for you given your current disposition.


I'm not sure if I want to say you are in the wrong major, but I think there is a current disconnect between what people learn in high school and what people learn in college.

High-schools need to start informing students that what ever their major is in college, it doesn't necessarily affect what they will do out of college. I know a lot of great programmers who were history majors, and a lot of tech industry managers who were engineers.

What matters in college is that you are taking classes that you enjoy. If you are spending $20,000+ a year to just get a piece of paper, you are wasting your time. you need to find something that makes you happy and increases your knowledge of the world. for me, that happens to be CS, but if you aren't happy taking CS courses, get out now! Find something that you enjoy and do it, you are wasting your time and everyone else's if you are in something just for the money.


No, you are not in the wrong major. There are many career paths available to you. I work for Boeing, and we have a lot of people in systems engineering roles. They define requirements, perform integration, and generally do a lot buisness like tasks on the engineering side of the org chart. There is Quality Assurance, where you need to understand code but not necessarily write it. In addition to that there is Configuration Management. Our current SCM lead is not a coder but you need general technical ability.

Those are just a few examples, but it shows that there are careers out there that require a technical background but don't involve coding.

However don't expect to jump int business/marketing/management" out of the gate with a cs degree. Your going to be competing against mba's, and people with marketing degrees.


I think CS is too heavy for most programming jobs, much less for non-coding technology jobs. You'd probably be much better served having a business major or some sort of technology commercialization or even some sort of technical (or not ) writing, or psychology or math degree. CS is about reading papers other CS guys wrote, writing papers for other CS guys to read, and typically doing very little real world work. There's an exception to every rule, but I had CS professors who I feel would have been amazed if you showed them this amazing Internet concept that had flourished by building on top of the OSI model... :P That being said, your major != your career... though don't tell any HR department employees that or they'll tar and feather you.


A few thoughts come to mind here for me.

First ... So don't take a stereotypical coding job; whatever your definition of that may be. I've personally in general avoided big companies my whole career to avoid what I see as the stereotypical coding job - too many meetings, too much waterfall style development and way too much bureaucracy which I find myself unable to navigate. It's served me fairly well in that I get a chance to do a lot of different things. Small companies need more versatile staff - people who can do systems and network work as well as coding. Who can help design and architect systems as well as coding. These things from my standpoint let me enjoy technology while not going insane spending 12 hours a day producing cogs and widgets. And of course the option exists for you to go the route you are obviously culturing of Entrepeneurism. If you can handle both the technical and business sides you may have an advantage as you can work both sides of the equation. But beware of becoming the dreaded business-guy who produces crappy code and expects his programmers to take it as holy writ from upon high. If you plan on blending business and technical keep your skills and knowledge polished and relevant. (Yes, I've had a few of those. Including one who would "Align" all his code in the gutter [aka no freaking tabs] and freak out if anyone reformatted it)

Second... The degree does not make the man. Personally, I'm an autodidact although I originally pursued a Criminal Justice degree. The best programmers I've worked with personally (keep in mind the plural of anecdote isn't data) have all had either no degree, or had a degree in an unrelated subject. I've worked with chemistry, physics, English and history majors all of whom were stellar programmers. While the fundamentals are important, it's the capacity for learning and doing something that you enjoy that matters much, much more. If you think you have the core concepts of CS at a point that they're useful to you, change majors. Go get a business degree, or one in physical education if it makes you happy.

Just use what you know, and what you think you can learn in the future to best advantage.


If you're good at interacting with people and a computer science major you do have an edge over most computer science majors:-)

Perhaps you can minor in business or other area and see whether that helps with your job prospects better. I think you're "selling yourself" wrong...


No. Despite what people are saying there are a bazillion such jobs for a smart, non-coder, person to grab hold of.

Ultimately "the wrong major" comes down to the course content. CS courses can vary wildly - the one at my uni (I never was on it) was very business oriented for example. If your enjoying the course then there seems no reason to consider it the wrong one.

However beware: do talk to people who are happy to be critical of you (and you trust to tell the truth) and find out if you ARE a people person. With the best will in the world every single person I have ever met claiming to be a "people person" generally isn't. I'm sure you are: but it's worth checking :)


Does your college have an MIS focus? When I was in college, you'd chose a few focus areas for some of your electives. In the Business dept, they had an MIS focus which included some of the entry level CS classes, software process type stuff, and then some management-type classes from the business dept. It might be more for you.

Generally though, I'd agree. If you don't want to code, CS isn't the best fit for you.

Although in our field, it is quite unique that what your degree is in really doesn't matter. I several coworkers, who are great developers, with degrees in Political Science, History, and other completely non-tech fields.


Georgia Tech doesn't really have a MIS focus for an undergrad degree. They have a MBA-esque degree which is a 60 hours masters which is however.


What's a "stereotypical coding job"? I didn't know such a thing existed..

Working in a 3 person startup in a loft is very different from Fortune 100 IT dept, different still from writing code in a research lab, or freelancing, or out in the "field" in remote places, or programming lathes and CNCs on a machine shop floor. I know people who started with CS degrees doing all of these things.

Since you're still in college, I'd suggest you just finish your degree and try a bunch of different challenges. If you love coding, you'll find a place where you fit in.


I think I had one fresh out of college... It was a Windows shop where everyone was expected to spend the day in Visual C++ and never stop typing in code from 9 to 5 (with small breaks allowed for lunch and pointless meetings). Googling things or reading slashdot was more or less culturally forbidden. Collaboration was subtly punished in the sense that if you spent too much time at someone else's cube discussing a problem, the manager would interrupt and assume we weren't working and were just screwing around.


Yes, you are in the wrong major. If you're looking to be involved in the business aspect of a technology company, a computer science degree will not be very useful. I have a BS in computer science, and in my experience, the curriculum was often too theoretical even for people who become full-time programmers. If you're not interested in the nuts and bolts of software, it offers even less.

Unless you're planning on continuing education to get something like an MBA, switch majors now.


Honestly, switching majors isn't that big of a deal. It is better if you figure this out now, rather than after you've worked in the industry for 5 years. Some people see it as a "failure". This is wrong. You are just figuring out what you like, and what you are best at.

I'd imagine a lot of your credits would transfer to a program in management. Alternatively, finish your CS degree and go to law school. There is a shortage of lawyers who understand tech. Or do an MBA.


Depends, if you by "I don't want to code" you mean you suck at it so you're thinking of going into management then yes I'd say you are in the wrong major.

Junior year is the point when most CS programs really start to get difficult if it were just about not wanting to code might you not have figure that out freshman year?


I don't think the corporate-slave orientation is limited to CS students. If you're into entrepreneurship, you'll probably feel out of place in any technology-related major, especially if you only look for job prospects at campus job fairs.


Look at Product Manager and/or Sales Engineer openings. There are a few companies that hire people right out of school for such positions.


Agreed, sales engineering is a great way to start if you have a technical background but want to spend more of your time interacting with people. Beyond becoming familiar with the sales process and improving your communication skills, the most valuable part of that position is that you are exposed to real customers with real problems.


Just chiming in with agreement on this one. If you are interested in business, CS can be a valuable background to have.

Look for jobs that put you in the more administrative/management side of a software project, and then transition from there to building your own company.

Having CS credentials will give you more street cred with programmers who you'll ultimately try to rope in with a startup you want to found. Without those credentials, they'd likely just view you as "just another business guy with an idea".


Your major doesn't really have much to do with your job. The CS you learn in school doesn't really make you a good programmer anyway...


I'd say no. I've been continually disappointed in the coding part of the university education. It is much more about theory than a technical degree. I'm a code monkey, all I want to do is write code, and learn to write better code.

You on the other hand would be great for management, which I've seen lots of my friends with CS degrees who don't like coding more into in the work force. Stick with it, there are plenty of jobs for you!


Sounds like you'd be a good candidate for an associate product manager role at Google.


Howdy fellow GT CS person (although I graduated many moons ago)

You have plenty with a capital P jobs available to you as a CS major with no love of code.

However, the entry level position with someone in your degree will typically be, pretty much, coding. You don't know enough about anything else to even be marginally useful. (Remember, I have the same degree you're pursuing). Depending on how much you've co-oped or interned, you may be one hair of one bit useful, but chances are you aren't even that, in anything, not even coding, but you're more likely useful in a coding position than in anything else.

Other jobs: MS Has entry level PM track positions

Consulting companies such as Deloite, etc (of which there are lots) have positions which are more about meetings and less about coding (but require ~80% travel).

There are LOTSS of technical sales jobs about. You work on commission though, for the most part, and you often have to have pretty good base knowledge of the field, for some you have to code pretty well, others not so much. Honestly, if you're still a 3rd year, and want to learn sales, I'd go start a Clear wireless dealership right now and sell sell sell (They are in Atlanta at the moment, and appear to be cheap to start. Franchises are the most likely to succeed form of small business out there).

Now onto jobs past the first couple years:

First off: I too am quite "outgoing" as you'd say. I run a small consulting and product development company. But I'm also a deep deep code guy. Liking talking to people does not by any means mean you're going to be one of those unwashed guys in the Old CoC smelling like BO and playing wow all the time in their time off who's height of social interaction is a LAN party or anime fest (sorry to pander to stereotypes).

In our field today, there is a HUGE premium for translators. I land so many contracts because I can explain deeply technical issues to businesspeople in the terms that they care about (risks, costs, etc) while still getting across the technology. If you can get fascinated by the technology as well as working on your communication skills, you can land similar positions.

Secondly: CS is still paying well, and hasn't hit a huge of a downturn as many of the other majors available to you that fit your current skill set. If you're interested in doing something entrepreneurial, then CS is by far one of the cheapest fields to do that sort of thing in. That alone should keep you looking at CS as a means to the end and make you learn how to do something deep.

Lastly: CS is not just programming. While I studied systems and embedded programming, there is a LOT of work in software engineering that is pretty much herding people all day long. I will caution you against spending too much time in that department, because you will strangle any entrepreneurial endeavor under too much process if you get that stuff too much in your blood (it's really better suited to mid-large sized companies).

Additionally, if they haven't changed it massively since I went there, GT is WAAAAAAY too in love with somewhat older, non-MS languages.

Try some python or some C#, or even some AS3. You may be surprised how joyfully productive those languages are for you at this point compared to some sort of matlab/C/java/scheme things you've had tossed at you so far. Hell, buy a mac mini or $999 macbook pro and release a iPhone app or two, Objective C is like the best parts of C and Smalltalk rolled into one. (Although apple is a bit controlling).

PM Email me (iphoneappsiphoneapps@gmail.com) if you'd like to go to lunch and talk, I live in midtown.


Midtown Atlanta, as in where Georgia Tech is. Already had one HN person think I was in Midtown New York


Yep.


Ask HN: Math major who doesn't want to write equations. Am I in the wrong major?


We can see you can't code from the <p> tags you've scattered everywhere...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: