👩🏻💻 Why do I do this?
My Masters degree is concentrated on political philosophy, feminism and metaethics, but my work experience, and half my Bachelors degree, is in tech. For a long time, I didn't understand the connection between these fields, but I think I do now.
My current self-understanding is that to design a user interface is to philosophize. Product design, when done right, is about confecting and asserting ontologies, an activity traditionally the purview of philosophers. How is this? Well, think of it this way.
Let's say your building a pizza-ordering app. In order to build this app, you have to have a theory of your user's needs and wants. This means you have to understand how your user thinks about the world: what a pizza is for them. For example, the user is probably not going to want to order a pizza which is a sphere with a radius of one meter. Nor are they going to want a pizza which is a mobius strip, or a living elephant with sauce and cheese tossed on its back, or the colour blue.
This seems like a silly example, but's as deep as you please (unlike pizzas — no offense to Chicago deep dish!) Every aspect of software development is shot through with philosophizing, from database schema to dropdown menu. The whole thing is philosophy. An app is an argument for a particular way of seeing the world, and it's the honour of software developers to have a chance to enact this living, vital form of philosophy.
Anyway. That's the theory. But the difference between theory and practice is much greater in practice than in theory!
So in the spirit of staying close to the practice of coding—of philosophizing with a hammer of keystrokes—behold now a List of Things I Both Like and Know Something About, Except for Python, which, Spoiler Alert, I Know but Do Not Like.