>>12390352Yes you will definitely need to know both propositional and predicate logic - which are two distinct formal systems. Propositional logic just includes the connectives and, or, not, etc. Predicate logic uses the quantifiers 'for all' and 'there exists'.
>>12390425I would also agree with this point.
Type theory is an important subject, but I'd say it's mostly useful for specialists in theoretical computer science. In order to be at the top of their game, anyone working in software engineering should probably know some basic type theory, but you probably don't need to go super deep into it. My recommendation would be to find a textbook that actually includes some applications of type theory in CS or linguistics, as well as some philosophical discussion, just because it will make the reading more interesting, and it will also make what you learn more useful. For example, you could look into textbooks on type theory and functional programming or intuitionistic type theory or something like that.
Personally though, I think something like dynamic systems, combinatorics, game theory, or epistemic logic would be more interesting and more useful to a software engineer. Especially if you ever have to do program verification, 'modeling', or agent based programming.
Keep in mind, I am biased, and a lot of anons would probably take issue with my viewpoint on type theory, but that is my honest opinion.