I double majored in History of Art and Philosophy for my undergrad.
Surprisingly philosophy led on quite neatly to a career in software development. Especially analytic philosophy is all about breaking down complex problems into premises and a conclusion. Sometimes it's algorithmic in the sense that premise 4 might refer you back to premise 2.
That's super interesting to me, any references for a software person who wants to find some overlap with philosophy? I know very little about the subject.
I suppose studying basic formal logic would be a good place to start because that is the place where there is the most overlap. In philosophy an argument can be 'valid' by conforming to certain conditions such as
P1: All men are mortal
P2: Socrates is a man
C: Socrates is mortal
This is an example of deductive reasoning where the form or structure of the argument guarantees the conclusion to be true. Process is called 'deductive' reasoning where a conclusion is drawn from the truth of the premises. The ancient Greeks called this a syllogism.
Computer programs are similar in the sense that they are using formal logic with tokens that represent variables to the compiler. Given these arguments exist; we can perform these operations and get a specific result.
As an aside the counterpart to deductive reasoning is inductive reasoning. That's where the premises may be true but the conclusion might not necessarily follow from them. People throw around the word 'fallacy' quite often online but essentially every fallacy is just an example of inductive reasoning where the premises do not guarantee the conclusion. Philosophers study different types of formal fallacies like 'post hoc ergo propter hoc' (because this happens, something else ought to happen) since there are different ways where combinations of premises can lead to an untrustworthy conclusion.
Intriguingly all science is speculative and uses inductive reasoning where we infer from what data we gain in experiments to a conclusion of what might be happening, however there is no logical guarantee that experiment results will be true. There's even a thesis called pessimistic meta induction which states that: Given all scientific theories we held in the past have been proven false (or refined to a slightly different conclusion), we can safely assume that every scientific theory we currently hold is 'false' in some sense.