Skip to main content

One post tagged with "Design"

View All Tags

· 8 min read
Carl Liu

Definition of Liberal Arts: Liberal Arts is intended to provide chiefly general knowledge and to develop general intellectual capacities (such as reason and judgment) as opposed to professional or vocational skills.

Growing up in two different countries, China and Canada, I encountered a common trend: faculties were often divided into the Faculty of Arts and Faculty of Science. However, my experience working as an engineer at Presence, a pioneering AR tech startup, has taught me that what is often underestimated in the tech industry is the value of liberal arts education.

In some extreme cases, engineers believe that hard skills like coding are the only skills that matter, while liberal arts education is dismissed as irrelevant or impractical. However, I argue that this is a flawed perspective. In fact, liberal arts education can be just as valuable as hard skills for engineers working in the tech industry.

Limitation of Engineering Education

Throughout my academic and professional experience in the technology industry, I have come to recognize three major issues that are rarely discussed.

1. Fixed Reward Mechanism

In academia, technical interviews, and in the industry, the standards for evaluating and rewarding engineers are often fixed. Engineers tend to obsess over code cleanliness, optimization of memory and computation usage, and test coverage. While these standards may contribute to the development of better engineers, they may result in less creative problem-solvers overall. In fact, some experts in the field, like Dan Abramov, have highlighted how an obsession with clean code can be problematic. Although there is value in these standards, they prioritize certain skills over others, and consequently, limit engineers' capacity to be well-rounded creators.

Examples of these reward mechanisms include getting an A in a course because your exam answers were elegant, or landing a job offer because you wrote a perfect algorithm that solved a Hackerrank problem faster than anyone else. Additionally, building a better API product than Stripe does not necessarily mean that people will abandon Stripe and use your product.

2. Narrow Field of View

Engineers often have limited interaction with customers. Typically, they focus on writing code, allowing product managers and designers to define the features that need to be implemented. This can result in a bottom-up working model where engineers remain in the background. However, numerous thought-leaders, like Paul Graham and Clayton Christensen, have emphasized the importance of understanding and interacting with customers. In his essay "Do Things That Don't Scale", Paul Graham remarks that:

A lot of startup founders are trained as engineers, and customer service is not part of the training of engineers. You're supposed to build things that are robust and elegant, not be slavishly attentive to individual users like some kind of salesperson... They'd rather sit at home writing code than go out and talk to a bunch of strangers and probably be rejected by most of them. -- Paul Graham

3. Limitation of Experiments

Although science is rooted in experiments, many liberal arts subjects such as design, calligraphy, and music produce results that are not always unequivocal. In music, for example, different compositional genres (romanticism, atonality, jazz) will attract and repel different audiences. This subjectivity within certain fields means that experimentation produces more open-ended results.

Overall, recognizing these three limitations of engineering education can encourage engineers to develop broader skill sets so that they can become better communicators and creative thinkers.

Universal Understanding

The liberal arts were the continuation of Ancient Greek methods of enquiry that began with a "desire for a universal understanding." [1]

I am a strong believer in "Orthogonal Learning", an approach to gathering inputs as much diversity as possible in a learning process. In Computer Science, there is Problem Reduction, which is transforming one problem into another problem. There are many examples of studies in other industries that have helped to explain and solve computer problems:

  • For people familiar with Unity or video game development, the quaternion is a common technique for object rotation used in character movement. I was not aware of this terminology but it is no stranger to folks who studied Physics or Aerospace engineering.
Quaternion (Physics and Aerospace)Leg rotation (Unity)
  • Donald Knuth used a lot of real-life problems to describe algorithms problems in his book "The Art of Computer Programming", the example of using train track design to explain dequeue data structure is fascinating:
Track Design (Civil Engineering)Dequeue (Computer Data Structure)
  • And as a music minor student, composing with chord progression is simply building up a finite state automata:
Chord Progress (Music)Finite-State Automata (Computer Science)