TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What are the reasons not to go into computer science?

12 pointsby gschilleralmost 12 years ago
I'm a high school senior considering majoring in computer science. We obviously hear about the positives, but what are the negatives?

11 comments

nostrademonsalmost 12 years ago
I assume you&#x27;re actually thinking of going into software engineering as a profession, and not just getting a CS degree and doing something else. The latter can actually be pretty useful in a variety of scientific, technical, and management fields, except you have to pair it with something. Anyway, here&#x27;s my list (for reference, I&#x27;m 32, have roughly 9 years of professional experience all of it in software, and currently work on search for Google. I have a CS degree but went to a liberal arts college and switched around between physics, philosophy, and sociology before settling on it):<p>1. Programming is a very cognitively demanding and highly rational skill. To do it well, you to some extent need to &quot;shut down&quot; your emotional circuitry and your intuitions about how things <i>should</i> work, pay very careful attention to how things <i>do</i> work, and then retrain your instincts to take this into account. All on a very rigorous, formal, mathematical level. Unfortunately, if you do this without simultaneously maintaining an active social life, you risk finding yourself unable to relate to &quot;normal&quot; people. It&#x27;s not just that programming attracts geeks, it&#x27;s that programming enough can <i>turn you into</i> a geek. This is avoidable (some of the top minds in our field have a life outside work and are quite approachable as human beings), but it requires that you set strict limits on the time you spend hacking - which can often be hard to keep to when you hear about a 19-year-old kid who invented a peer-to-peer protocol or a 23-year-old who invented a programming language.<p>2. There&#x27;s an expiration date on your knowledge. It&#x27;s not as drastic as some people make it out to be - it is still possible to get hired as an engineer past 40. But pretty much everything you learned when you first started out will be obsolete. I&#x27;ve only been doing this since 2000 and I&#x27;ve had to reinvent myself at least three times - I started as a desktop UI dev working with Java Swing; then I learned JS and web technologies pretty deeply; then I got into unstructured data mining, clustering, and ranking algorithms; now I&#x27;m back doing UI, but for mobile web devices (which have completely different performance characteristics as desktop) in a lead role. In fields like law or accounting you gradually learn more of a huge body of relatively static knowledge, and so your intellectual capital increases monotonically over your career. In computing, large bodies of knowledge become completely obsolete overnight, and so you can easily have huge discontinuities in your career where you have to adapt or fade into irrelevance.<p>3. Programming is not amenable to just putting in your time and packing it away when you go home at 5. It&#x27;s a creative profession, and creativity is subject to the whims of your brain and requires engagement and grappling with the subject. Many programmers find it really hard to work on a set schedule - Paul Graham has a good essay called &quot;Maker&#x27;s schedule vs. Manager&#x27;s schedule&quot; on this.<p>4. The egos. A large segment of the software world seems to be composed of people who keep trying to one-up each others in their knowledge of esoteric trivia, and then once they&#x27;ve found something they know that nobody else does, suddenly everyone else is an idiot. This is exhausting and not all that pleasant. It is much more prevalent in some communities than others - there are places you can go that are quite supportive, where <i>everybody</i> is interested in learning new things and new knowledge is gently pointed out and explained - but if you read many of the places where programmers gather, there are many a pissing contest that are just complete wastes of time.
评论 #6171322 未加载
评论 #6172868 未加载
brudgersalmost 12 years ago
A girl I dated in high-school wound up with a degree in agriculture - she wasn&#x27;t from a rural area, and none of her grandparents had even lived on a farm - at my age that&#x27;s going back to the early part of the 20th century.<p>She had started out as a math major.<p>The biggest negative for a young person is pursuing something they have no passion for. The dilemma of college for most young people is that they have little idea what a field entails until they arrive on campus and start taking courses - and even those who do have applicable knowledge of the reality still don&#x27;t know about many of their other options.<p>So why do you want to major in CS?
评论 #6170838 未加载
digitalzombiealmost 12 years ago
It&#x27;s a sausage fest in college (especially upper divisions) and your social skills can take a nose dive.<p>The lack of social skills, assuming that you don&#x27;t have one and didn&#x27;t gain much of it during college, will carry over to your negotiation skills when you look for jobs.<p>Depending on which area of software engineer you are going in, your tech skills have a half life of supposely 2.5 years. Meaning there will always be something to learn, dev black berry for a long time now? Ha! Iphone and Android is the shizzle now. Cold fusion? Well, now, it&#x27;s PHP &amp; Ruby.<p>There is a decent chance you will work under an idiot that lied his&#x2F;her way to where he&#x2F;she is now and will back stab you (very high chance if you work in the public sector ie gov,fed,state). Ah! Politics, it&#x27;s a bitch and it can be in any profession really, but I feel it&#x27;s more pronounce in this profession. Especially, well the dev team is a few developers and you&#x27;re like how the fuck is this guy paying more than me and I&#x27;m doing most of the work? Eventually, if you catch on, you&#x27;ll quit and learn how to embellish and get better at interviews.<p>Ah this lead to ego! It fucking hurts that someone is getting paid more than you but you know more than them. Yeah sure you can say you&#x27;re just whiny. But really, you can constantly feel like you&#x27;re being underpaid and under appreciated.
bruce511almost 12 years ago
I always tell folk that programming is a great job, if you love it. If it&#x27;s just a job, it must be a terrible job. All day, behind a desk, fixing bugs, or getting ui pixel perfect, or doing the write-build-test-debug cycle over and over again.<p>So if you&#x27;re considering it because you already love programming then (for me) there were no down sides. (I even met my wife there.) if you are considering it because &quot;all the money is in computers&quot; then rather pick something else.<p>Yes, many, ( most?) will make a reasonable amount of money, and there&#x27;s always the carrot of the big payday for the very very few, but when it takes 2 days to find and fix an obscure bug, which turns out to be a , instead of a . then suddenly something like duck farming sounds like a more fulfilling way to make a living.<p>If you love it, go for it.
dkrichalmost 12 years ago
For better or for worse, we live in a society where higher education does not teach you a trade. That is, when you leave college and start your first job it really won&#x27;t matter too much whether you studied CS, Philosophy, or the Harlem Renaissance because you&#x27;ll spend the first six months of your working life learning how to do the job anyway.<p>To state the obvious, I would say don&#x27;t major in Computer Science if you aren&#x27;t genuinely interested in it. There are many different kinds of businesses to start and simply knowing how to program doesn&#x27;t really make you any more likely to found a successful one. Even if it did, you don&#x27;t need to study it in college. While I believe that learning the fundamentals in college is the best way, a person of above-average intelligence with a desire to learn could become a serviceable programmer in a matter of months with nothing more than a computer and a few books.<p>When you start college you do crazy things like envision a path to success that relies on specific factors that you will soon realize really didn&#x27;t make any difference. In short, your major will have a predictive rate of about 0% of an impact on your success after college and that&#x27;s especially true if you are going to start a business.
helen842000almost 12 years ago
Sitting. Seriously! It&#x27;s a pretty unhealthy lifestyle unless you make significant effort to request a standing desk, work in hands-on manual role (server integration, physical networking) or are actively fixing issues at different locations or mixing with different teams.<p>Shoulder, neck, back issues. RSI, eye strain are all common complaints. You have to be prepared to integrate decent amounts of exercise into your free time to stay healthy.<p>I know engineers that are so used to having everything accessible at their finger tips that it becomes a major effort to get off their ass and go and put a disk into a server.<p>Always remember, when you go to interview for a job - look at the team. Are they healthy &amp; active or will you be joining a culture that expects you to be sedentary all day.
djengineerllcalmost 12 years ago
You lose your life in the consumption of programming knowledge and development
gosualmost 12 years ago
It&#x27;s true that, if you learn to enjoy CS-related work, it&#x27;s thrilling and rewarding. You&#x27;ll find dazzling solutions to interesting problems, and have a blast doing it. But as respectable a craft as CS work is, does your output really improve anyone&#x27;s life? Probably not, and it likely even contributes to some mild social ill. And once the dopamine wears off, have the lonely hours spent solving fun puzzles in front of a screen been a good use of your time on Earth?<p>I&#x27;d still recommend a CS major, but I urge perspective.
michaelpintoalmost 12 years ago
To thy own self me true: Only do it if computers are your passion. The negatives in life are doing something for a living that you don&#x27;t really love — and i see that every day.
mcpherrinmalmost 12 years ago
What do you want to do? Program?<p>Many people learn to program on their own, or in their spare time.<p>How many people learn algebraic topology on their spare time? Or delve deep into combinatorial optimization?<p>Consider doing something else, and figure out the programming stuff on your own.
erualmost 12 years ago
&gt; We obviously hear about the positives, but what are the negatives?<p>There&#x27;s lots of fluff in your average CS degree. You might want to take a mathematics degree instead, which is `harder&#x27; (as in `not as soft&#x27; and fluffy).