The Core Qualities for Entering CS: Passion and Taste
In my view, the core qualities for entering CS are only two: passion and taste. This is not a deliberate simplification performed for the sake of sounding sharp, but a conclusion distilled from a considerable body of experience.
Some people may talk about whether someone is suited to computer science, or whether they possess so-called “computer talent.” To me, however, the attribution of “talent” often does little more than endow differences we cannot yet explain with an unfalsifiable sacredness, thereby purchasing a measure of psychological comfort. Even when facing a remarkably gifted young person, we can still feel the distance between that person and a mature scholar. To set talent and accumulation into a crude binary, therefore, does not truly explain the gap.
We often say that someone is “talented” because they can infer ten things from one, or understand a point as soon as it is touched. In reality, what we are seeing is the ability to grasp the essence of things; and that ability is, to a large extent, the result of training in abstract thought. Otherwise, how could philosophy and mathematics possess such force? Some computer people believe mathematics is not essential, not because there is a complete rupture between engineering and the formal, but because they have not chosen to understand computers mathematically. They may have seen only mathematics as a tool: tools for algorithm analysis, for instance, or the graph-theoretic principles behind algorithms. They have not chosen to model types through sets, or to understand database queries through algebra. That said, I do not think this is necessarily a problem that must be corrected. Mathematics is not the only path toward taste. According to my own view:
Any formal system or architecture is a perspective-constrained reification of reality, whose utility is measured not by perfection, but by relevance.
This also explains the source of the gap and insight described above: have we, through deliberate practice, internalized a set of methodological and epistemological thinking tools as our own mode of thought? Such internalization generates tacit knowledge; what we call taste is precisely the result of examining things through that tacit knowledge. Many suggestions to “find a mentor” are, in essence, also a pursuit of taste: through observation and imitation, one tries to capture patterns that cannot be fully made explicit.
Continuing along this analysis of “taste,” we arrive at a rather counterintuitive discovery: taste can also be top-down. It can begin from concise axioms, unfold along a strongly theory-driven path, and let philosophical speculation and self-reflection correct one another. Rather than relying entirely on empirical induction from behaviors and patterns, it is better to use the tools offered by analytic philosophy, allowing induction from experience and deductive reasoning to work together. Moreover, reading itself allows us to grasp the experience of others. Otherwise, what would be the point of reading literature? This is the core significance of metacognition.
Yet although the model that “genius comes from deliberate practice” has considerable explanatory power, it remains unsatisfying when used to examine reality. If all differences can be dissolved through deliberate practice, must the unevenness of reality be reduced entirely to differences in individual agency? Here, naturally, a negation of the negation is required: this model of reality does explain how cognition can arise from deliberate practice in methodology and epistemology, but it does not explain where metacognition comes from. It remains silent on how a person first comes to recognize a certain pattern.
From a broader perspective, this initial metacognition is almost radically contingent: whether one encounters a good family, whether one meets a good mentor, whether one has distinctive formative experiences and life circumstances. What many people call being “taught by events” can also be unified under this account, while the preceding discussion has already indicated the inefficiency of that mode of growth. Still, the variables of environment and institution are thereby better explained. We may not be able to presuppose sufficient agency in any given individual, but society can provide more opportunities for trial and error to those who hold longing and enthusiasm for knowledge, dissolve more thresholds of tacit knowledge, and at least increase the probability that they receive illumination, that first push. This is why innovation, especially creative destruction, cannot be planned into existence. It can only occur naturally within an environment whose conditions are sufficiently adequate.
At this point, we can reach a higher-order understanding: genius is a product of training, but the path through which one is trained often depends on the push exerted by environment and institution; and metacognitive capacity, in turn, can greatly help a person exceed that push. This is why I maintain that, for the introductory or early stage of CS, there is no single necessary path, but there are two unavoidable elements: passion and taste. Some standardized path may at least allow a person to participate in the social division of labor. Yet a manufactured product concerned only with how many points were scored, and devoted only to the methodology of obtaining those points, obviously cannot produce genuine talent. In the end, its taste is simply too poor.