When people first hear about my double major, they are usually surprised as computer science and philosophy seem like two completely different fields. While they have many differences, they both share many similarities, and I have found that they complement each other tremendously.

First, a crucial aspect of both domains is taking a big problem or topic (like designing an application or arguing in support of utilitarianism) and breaking it down into small, manageable parts. It helps to enforce this skill by applying it to two distinct problem spaces.

For example, when you are designing an application, you can divide it into the initial design, implementing the design, testing and assessing the implementation, then finally revising your implementation. You then further divide each part, where you’ll end up with manageable pieces to tackle.

If you are writing a paper in support of utilitarianism, then a possible division of parts would be introducing different ethical systems, presenting your argument in support of utilitarianism, providing thought experiences and evidence to support your argument, and finally considering and rebutting counterarguments.

This is an important skill to have for just about anything in life, and it is a great help to have experience practicing this skill on two separate problem spaces.

Second, logic is fundamental to both fields. Logic has been called the calculus of computer science since it plays the same role in CS as calculus plays in physical sciences. Having a solid grasp of the basics of logic will make your experience with CS much easier.

Arguments are central to philosophy, and understanding the basics of logic is key to understanding and assessing philosophical arguments. Furthermore, a solid grasp of logic will help you when formulating your own arguments and thought experiments.

Third, studying philosophy and more specifically ethics gives you the tools and perspective to better consider how the technology that you and others in your field will impact society. Computers are an ever increasing part of our lives, and the importance of considering the ethics and the effect of them cannot be understated.

Tech companies are starting to hire people from philosophical backgrounds to consider the risks and ethical issues that could arise from the use of their products. Studying both computer science and philosophy puts you in a unique position to not only understand the product itself but to also understand the bigger picture around the product.

In short, studying computer science and philosophy is a great combination and both complement each other well. I recommend anyone in either field to take a few classes in the other subject. It will benefit you greatly, and the demand for people with experience in both fields will only go up.