College and Technical Maturity

When living in the Bay Area and seeing what people needed to know to build interesting things in various fields, I started to believe that most of what you learn in college is (for most people) useless (or can be learned in one's own time), and that if you purely optimizing for vocational expertise you're better off taking the foundational courses in your field and then leaving school. My attitude on this has shifted slightly. I maintain that the above stance is, as stated, probably accurate, but I also now appreciate that this thesis is incomplete.

Where I Was Wrong

The initial premise of my argument was that learning new material is only useful insofar as it does one or more of these things.

  1. Stretches your cognitive limits (eg. class field theory)
  2. Teaches you material you will directly use in the future (eg. intro CS)
  3. Is fascinating enough that you would regret not studying it (eg. quantum mechanics)
In fact, there's a fourth major reason you'd benefit from a class: to build "technical maturity" in a specific field.

Technical Maturity, Defined

This means understanding the foundational modes of thought of the field well enough that you could easily teach yourself adjacent material in the field. The "in a specific field" caveat is important because it do not think that taking a hard graduate course on, say, randomized algorithms will improve your ability to learn financial economics or solid-state chemistry by making you "generally smarter." I think humans are too bad at applying knowledge across domains (even related ones) for that to happen. Instead, what I mean is that taking a grad course on randomized algorithms will help you learn computational complexity theory, algorithmic game theory, and probability theory. In other words, fields that have substantial overlap in content/keywords, and not just "modes of thinking." I elaborate on this, analogizing it with graph theory and giving examples, below.

Knowledge as Graph Theory

To understand what I mean by "technical maturity," think of knowledge as comprised of nodes in a graph. Each tid-bit of knowledge constitutes a node, and the connections between them are the edges. For example, a class about line and surface integrals over vector fields would create a new node on the graph, linking it to, say, electromagnetism from one's physics class, where studying electric fields gives rise to line integrals that have physical meaning. That would be an edge between the two nodes, since the two topics are closely related.

Why is this relevant? The contention that many champions of the liberal arts have is that studying challenging topics in broad contexts makes one "generally smarter" and improve one's "ability to learn," in generality. This is NOT what I mean by technical maturity. This claim of theirs, in the context of our knowledge graph, is claiming that a node about, say, group theory or the portrayal of feminism in Austen's Pride and Prejudice has edges going to things that people do on their jobs; say, writing code or hiring employees. I think there is a wealth of evidence supporting the fact that humans are very poor at transferring knowledge across domains, even closely related ones. Therefore, this "liberal arts as building critical thinking skills" school of thought, I see as pretty much baloney.

But they're on to something. Instead, I claim, knowing about, say, group theory is useful for learning molecular representations in chemistry, where understanding the symmetric structure of molecules is important to understand their behavior. Indeed, molecular chemistry quite different from abstract algebra, but has clear and direct applications of group theory and so is similar enough for meaningful transfer to happen. In other words, not as different to abstract algebra as, say, doing corporate taxes in Excel. Just different enough. Similarly, knowing about the portrayal of feminism in Austen (again, think of this as a node) really could concievably be directly useful when studying the Suffragete movement because, again, they're different yet similar enough.

Therefore what I mean for technical maturity is comfort around a set of keywords. In abstract algebra, one keyword might be "symmetric structure" and in feminist studies one might be "intersectional theory." Having heard these words in other contexts -- even very different ones -- adds value and builds "technical maturity." However, groups and feminist theory is too far from writing code or drafting speeches to reasonably possibly have any keyword overlap.

A Concrete Example

In the fall of my freshman year, I took my first rigorous math class. It studied linear algebra from an abstract perspective. One of the things we learned about were unitary operators, which are linear transformations that preserve inner product structure. During the winter break after that semester, I perused a textbook on quantum computation. And in quantum computing, the unit of logic/computation is the idea of a quantum gate, itself a linear transformtion that takes some input and maps it to some output. Being a linear transformation, we represent such logic gates as matrices, and they operate on vector inputs.

One thing that the author of the textbook really emphasized and spent a good amount of time explaining was why we used unitary operators for our logic gates. Evidently, he thought most people reading the book would find that unmotivated. But because I was lucky to take a relatively abstract linear algebra course and had taken a class on probability beforehand, it didn't need any explanation: unitary operators preserve inner products, and random variables, being measurable functions, are vectors in a Hilbert space of functions. If you want to ensure the probabilities in the vectors coming in AND leaving the linear transformation (quantum logic gate), using a unitary operator is the obvious choice, since they preserve the inner product (sum of probabilities) of their input. This is the key point: taking the class on abstract linear algebra and one on probability firmly planted nodes (unitary operators, random variables as vectors), and the new topic I was learning (quantum logic gates) had enough keywords in common that I could reasonably create new edges between these knowledge nodes, on the fly. This is the crux of technical maturity: increasing your threshold for what is "obvious".

Another example of this "threshold increasing" is found in mathematical economics, as studied by John von Neumann. When he was doing his studies on game theory, he met with George Dantzig who was studying linear programming, a method to optimize high-dimensional functions. Dantzig explained his simplex method, a particular algorithm using for such optimization, to von Neumann. Immediately, von Neumann conjectured his now-famous theorem of LP duality by realizing the problem he was working on in game theory was equivalent. On the surface, they look nothing alike, but von Neumann had a deep enough understanding of both game theory and high dimensional optimization to be able to see that this equivalence between the two was "obvious," even though it had never been obvious to Dantzig or other mathematicians. Von Neumann had built enough technical maturity in those two fields for him to find connections between the two "obvious."

What Might This Look Like In Practise?

If you see college mostly as I do -- a 4-year course on "learning to think like an X" for many different X (mathematician, programmer, physicist, economist, statistician), you should optimize for taking difficult, foundational courses in many fields. It's important to emphasize that by "foundational" I don't mean introductory. For example, I do not think taking an introductory CS course or two suffices to "learn to think like a computer scientist." Instead, take advanced courses in algorithm design and operating systems to get those gains. You might say that this requires several introductory courses as pre-requisite. I mostly disagree: I think if you have enough mathematical maturity, pre-requisites in most technical fields become a social construct. That is, if you are good at math, you can pick up pre-requisites for most technical classes as they're needed An aside: this is part of the reason I'm a math major -- it's strictly more foundational, abstract and harder than most technical fields, and can even trivialize them if you are sufficiently good at it. My freshman math professor went through 2 semesters of theoretical CS on a weekend because he was good enough at math that once he'd read the first half of a chapter in a textbook, the results in the second half became obvious to him!

At Harvard, you need to take 12-16 courses in a field and 32 courses overall to graduate with a degree in that field. What if, instead, you took the most central ~6 in a several related fields? In math, perhaps that includes group theory, rings and fields; real, complex, and functional analysis, algebraic and differential topology. In physics perhaps classical and quantum mechanics, electrodynamics and thermodynamics? In economics, maybe the intermediate micro/macro sequence alongside game theory, behavioral economics, political economy. In CS, algorithms and operating systems, programming paradigms, complexity theory and compilers. You'd get 80% of the value of 3-4 different undergraduate degrees, and more importantly be equipped to at least understand parts of the research frontier in each field. Teaching yourself would become much easier, and you wouldn't really be an outsider to any of the fields. The emphasis here is on seeing college as the starting point for life-long learning, and not the terminal stage in education.

The obvious caveat here is if you're set on spending your life exploring and deepening a specific field. If you want to be a mathematical physicist, ignore my advice. Go ahead and take quantum field theory and Lie algebra at the expense of understanding how economists or computer scientists think. That is the price you pay for mastery. And that's fine. But most people are not quite as pointed in their goals, and so my thoughts are probably more relevant for them (and myself).

To summarize, I think that building technical maturity in multiple fields equips you with the ability to learn new things in those specific fields (unlike the claims of the pure-liberal-arts charlatans, who claim it builds critical thinking in general). And this manifests itself as deep comfort in novel sitatuations (again, in the fields you've cultivated maturity in only) which leads to very fast learning and growth of knowledge graphs. Ultimately, the point of college is to set down as many nodes as you can in as many diverse fields, constrainted by the fact that you want node density within any specific field (ie. part of your knowledge graph) to be high enough that they roughly approximate/sample the entire space so you can learn new things in new fields and slot them into the context of existing knowledge.

This mostly explains the big difference I saw between technical college graduates and high-school dropouts in the Valley -- the college graduates felt comfortable in novel situations because they knew their graphs were wide and dense. The high-school dropouts mostly had no nodes to use as reference points from which to grow their graph, and so struggled to keep up with new material. Of course, this does not always hold; you can create these graphs outside of the academy and most people in the academy fail to do a good job at creating these graphs at all. But for me, school seems to work well for this, so I'm happy I'm here, for now.