Comment author: MendelSchmiedekamp 07 May 2009 01:21:28PM *  11 points [-]

I'm someone who has been educated in CS, as well as other fields. I both perform and manage industrial-scale programming and research programming, and I hire programmers of varying skill-levels for projects.

In my experience, there are a few caveats to your advice:

1) Strong programmers, fun side projects, and deep understanding comes from the pre-Computer interest which many of the die-hard CS people have. It is rarely, if ever, taught in academic programs and is something I specifically look for in my heavy-duty programmers whether or not their major is or was in CS.

2) My personal take on things is: The best programmers take innate talent and a lifetime of experience and turn it into super-star ability - don't expect to become one by majoring in CS. The second best programmers have a strong mathematics background (i.e. proof writing), because their code requires less debugging, which is the most costly part of software development. Any programmer can do better by analyzing their process and learning from that, but that form of software engineering seems to have become less popular, since it takes more work and makes you vulnerable to bad managers. Algorithm design is, of course, an entirely different matter.

In short, I'd suggest a CS/Mathematics double major. It's a good idea to be able to speak more than one technical language after all.

Oh and, my usual answer to:

When's the last time you heard a math person refer to some real-world situation as "a real elliptic curve"?

Well there was the time Heisenberg came back from his honeymoon where he had, of course, spent the entire time trying to puzzle out quantum mechanics. He was about to give up because of the non-commutative multiplication when he talked to a mathematician friend who said, "Wait, let me tell you about these things we call matrices."

Mathematics gives you very useful models, it just doesn't tell you how to use them. CS gives you the tools to implement solutions, but it tends to leave the solutions rather ad hoc. Bringing the two together is one good mix. I could suggest a half-dozen others - but this will do for now.

Edited to add: This is a mix if you want to achieve the goals laid out in the post. Not suggesting that it is either trivial to get such a pair of degrees or desirable for everyone to head in that direction.

Comment author: talisman 07 May 2009 01:50:05PM 0 points [-]

I don't at all disagree that for those who can do it, the CS/math parlay is excellent.

Comment author: MrHen 07 May 2009 01:23:12PM 6 points [-]

Whoa... you are suggesting that everyone else do what you didn't and the reasoning is a list of ideas with no data? No offense, but how do I know this is not a grass-is-greener, I-wish-I-would-have moment?

I would beware of other-optimizing. As soon as I graduated with a CS degree I realized I should have been in philosophy the whole time. I love my CS major and agree that it is an excellent choice and do not regret the work I put into the process. I also agree with your points. But choosing a major is not a small thing that should be tilted by a post based on anecdotal evidence from someone who didn't do it.

After watching math and physics majors struggle in CS101 I realized that CS is not an intuitive field for everyone. They were not stupid or lazy people. They just didn't "get it". You can graduate with a CS degree and never "get it" and not know jack shit about coding, systems, or any of the other great things you mentioned. I learned about those things. But right now I am working with someone who graduated with a CS degree and did not.

This isn't meant to be a rain-on-your-parade comment; I just want to warn the bloke who reads this post and thinks, "God, math is that useless? I guess I will go CS." The key part in your post they may have skimmed over is this:

You shouldn't be considering a career in academia unless you're passionately in love with your field, unless you think about it in the shower and over lunch and as you drift off to sleep, unless the problem sets are a weekly joy. A lesser love will abandon you and leave you stranded and heartbroken, four years into grad school.

If you are passionately in love with your field, go for it. If you are not, find a different field. CS is not something everyone can fall in love with and think about in the shower and over lunch and drifting off to sleep. Neither is Math, Physics, Engineering, Psychology...

Comment author: talisman 07 May 2009 01:45:08PM *  1 point [-]

I am very successful in my secret identity life, so no, this is not some kind of grass-is-greener observation; rather, it's an attempt to give practical advice to my younger selves out there. I majored in math and physics, and did well, and am in the world now, and can concretely see the ways that a CS education would have helped me, ways that people less smart than I am think better!

As soon as I graduated with a CS degree I realized I should have been in philosophy the whole time.

I'm comparing CS only to other technical majors.

CS is not something everyone can fall in love with and think about in the shower and over lunch and drifting off to sleep.

I'm not proposing CS as an academic discipline, but as a discipline for training the mind for work in the world.

Do I know the intricate details of every reader's intellectual life? Do I claim that everyone who's currently majoring in math or econ drop it and switch to CS?

To quote Robin:

[S]harp people ... distinguish themselves by not assuming more than needed to keep the conversation going.

Comment author: AnlamK 07 May 2009 05:02:45AM 0 points [-]

Just to add my own two cents. The market for CS majors is excellent. I guarantee you; you won't have any trouble finding a job if you are a CS major. Nowadays, there isn't a company that doesn't have software people.

Comment author: talisman 07 May 2009 05:23:26AM 7 points [-]

True, but what I want to emphasize is that the CS way of thinking is extremely valuable outside of the software field.

Comment author: Vladimir_Nesov 07 May 2009 02:00:32AM *  2 points [-]

So, what's wrong with this article? Is it bad prose, or too hand-wavy assertions, or overly obscure presentation/inferential distance, or too much text, or too obvious a point? Please leave a comment, I really don't understand.

In general, I think that getting a custom of writing some formal review-like comments would be valuable as feedback, not about the subject of the article, but about presentation, especially if the article looks bad and there is much for the author to work on improving.

Comment author: talisman 07 May 2009 05:21:37AM 3 points [-]

I think the problem is a combination of:

  • length
  • density of ideas too low --- long section resummarizing old posts
  • prose hard to read, feels somehow flat --- try using shorter paragraphs, varying sentence lengths, using more tangible words and examples

Comparing to Robin's and Eliezer's stuff, the gold standards:

Robin's are generally very short, high-level, and high-density. Easy to read quickly for "what's this about? do I care?" and then reread several times to think carefully about.

Eliezer's are long and lower-density but meticulous and carefully arranged so that the ideas build brick on brick (and also offset length with effective, dramatic prose).

I would suggest trying to write this post Robin-style and see how it comes out: present your key points in as strong, terse and efficient a way as you can, even if you lose some people. Writing long posts seems harder.

Also, try pulling out some individual sentences and reading them out of context. Just to grab one almost at random: "Contamination by Priming is a problem that relates to the process of implicitly introducing the facts in the attended data set." Pretty inscrutable.

Compare to Anna Salomon's description of the same thing: "To sum up the principle briefly: your brain builds you up a self-image. You are the kind of person who says, and does... whatever it is your brain remembers you saying and doing." Even though hers is longer in words, the concepts are clearer and more explicit. The text is bouncier and has more places for the mind to grab onto.

Hope that helps? Good luck!

On the Fence? Major in CS

18 talisman 07 May 2009 04:26AM

I talk to many ABDs in math, physics, engineering, economics, and various other technical fields.

I work with exceptional people from all those backgrounds.

I would like to unreservedly say to any collegians out there, whether choosing an undergrad major or considering fields of study for grad school: if you know you want a technical major but you're not sure which, choose Computer Science.

Unless you're extremely talented and motivated, relative to your extremely talented and motivated peers, you probably aren't going to make a career in academia even if you want to.  And if you want a technical major but you're not sure which, you shouldn't want to!  Academia is a huge drag in many ways.  When a math ABD starts telling me about how she really likes her work but is sick of the slow pace and the fact that only six people in the world understand her work, I get to take a nice minute alone with my thoughts: I've heard it over and over again, in the same words and the same weary, beaten-down tone.  You shouldn't be considering a career in academia unless you're passionately in love with your field, unless you think about it in the shower and over lunch and as you drift off to sleep, unless the problem sets are a weekly joy.  A lesser love will abandon you and leave you stranded and heartbroken, four years into grad school.

What's so great about CS, then?  Isn't it just a bunch of glorified not-real-math and hundreds of hours of grimy debugging?

Let's start with several significant, but peripheral, reasons:

  • CS majors learn to really program.  There's an ocean of difference between the power of a decent, desultory programmer and that of a real programmer.  If you're not a programmer, the power of real programmers to create good stuff borders on magic. 
  • Not least among the good stuff is time.  It's disgraceful, the amount of human effort that goes into work that could be done by a Perl one-liner.
  • CS majors learn to be at home with the guts of computers.  This seems to come in handy in a hundred little ways.
  • CS majors are significantly more likely than other technical majors to get involved in startups, which are one of the best ways around to create wealth.
  • While having abstract and intellectual sides, the good kind of CS is strongly tied to the practical.
  • CS people can do fun side projects.   I've never heard of an engineer doing a bit of engineering on the side from their management consulting job; with CS people it's rare that they don't have a little something cooking.

None of that gets to my real point, which is the modes of thought that CS majors build.  Working with intransigent computer code for years upon years, the smart ones learn a deeply careful, modular, and reductionist mindset that transfers shockingly well to all kinds of systems-oriented thinking--

And most significantly to building and understanding human systems.  The questions they learn to ask about a codebase--"What invariants must this process satisfy?  What's the cleanest way to organize this structure?  How should these subsystems work together?"--are incredibly powerful when applied to a complex human process.  If I needed a CEO for my enterprise, not just my software company but my airline, my automaker, my restaurant chain, I would start by looking for candidates with a CS background.

You can see some of this relevance in the multitude of analogies CS people are able to apply to non-CS areas.  When's the last time you heard a math person refer to some real-world situation as "a real elliptic curve"?  The CS people I know have a rich vocabulary of cached concepts that address real-world situations: race conditions, interrupts, stacks, queues, bandwidth, latency, and many more that go over my head, because...

I didn't major in CS.  I saw it as too "applied," and went for more "elevated" areas.  I grew intellectually through that study, but I've upped my practical effectiveness enormously in the last few years by working with great CS people and absorbing all I can of their mindset.


In response to comment by talisman on Bead Jar Guesses
Comment author: Alicorn 05 May 2009 04:15:17AM 1 point [-]

I haven't read Jaynes's work on the subject, so I couldn't say. However, if he thinks that equal probabilities mean equal obligation to be surprised, I disagree with him. It's easy to do things that are spectacularly unlikely - flip through a shuffled deck of cards to see a given sequence, for instance - that do not, and should not, surprise you at all.

In response to comment by Alicorn on Bead Jar Guesses
Comment author: talisman 05 May 2009 04:17:08AM 0 points [-]

That's because you didn't specify the sequence ahead of time, right?

In response to comment by talisman on Bead Jar Guesses
Comment author: Alicorn 05 May 2009 04:02:58AM 1 point [-]

By "bead jar guess" I mean a wild, nearly-groundless assignment of a probability to a proposition. This is as opposed to a solidly backed up estimate based on something like well-controlled sample data, or a guess made with an appeal to an inelegant but often-effective hack like the availability heuristic.

In response to comment by Alicorn on Bead Jar Guesses
Comment author: talisman 05 May 2009 04:11:46AM 0 points [-]

Groundless or not, if you propoose to run two experiments X and Y, and select outcomes x of experiment X and y of experiment Y before running the experiments, and assign x and y the same probabilities, you have to be equally surprised by x occurring as you are by y occurring, or I'm missing something deep about what you're saying about probabilities. Are you using the word "probability" in a different sense than Jaynes?

In response to Bead Jar Guesses
Comment author: talisman 05 May 2009 03:33:32AM 0 points [-]

This post confused me enormously. I thought I must be missing something, but reading over the comments, this seems to be true for virtually all readers.

What exactly do you mean by "bead jar guess"? "Surprise"? "Actual probability"? Are you making a new point or explaining something existing? Are you purposely being obscure "to make us think"?

I propose replacing this entire post with the following text:

Hey everybody! Read E.T. Jaynes's Probability Theory: The Logic Of Science!

Comment author: MichaelBishop 25 April 2009 06:17:43AM *  1 point [-]

It sounds like you're arguing that there are increasing returns to rationality in groups.

I am not sure. But I think that it would be helpful to think about what experiment would demonstrate the argument you're making here. e.g. Give a rationality diagnostic exam to a bunch of people, then put them in groups of various sizes and measure how well they perform various tasks.

Comment author: talisman 28 April 2009 01:12:45AM 1 point [-]

Relatively rational people can form deeply irrational groups, and vice versa.

I would probably take a group with rational institutions but irrational members over a group with irrational institutions but rational members.

Of course, rational people will be better on average at building rational groups, so I would still predict a positive correlation in the experiment.

Comment author: hrishimittal 25 April 2009 09:26:54AM 3 points [-]

How have you used rationality in your marriage and family life? Did it help you choose the right partner?

How do you 'imagine a couple that truly understood Aumann'?

Comment author: talisman 28 April 2009 12:56:27AM *  2 points [-]
  • I was several years away from starting to learn about x-rationality when I met my partner.

  • Since there seems to be some interest, I'm going to try to collect my thoughts to describe the contribution of x-rationality to my personal life, but this may take considerable time; I've never tried to put it in words, and there's a strong dash of "dancing about architecture" to it.

View more: Prev | Next