I have to disagree about the mathematics. I've heard this "need math!" creed my whole career (40 years) and it simply is not true.
Of course, if you're dealing with math-related programs (like statistics, plotting, mapping, 3D CAD, etc.) then you do need it. But the vast majority of applications and nearly all database work does NOT need anything beyond the most basic of algebra (and Boolean algebra). Even relational algebra isn't required for 3NF, only to derive the principles--which has already been done.
It has been said programs are literally math and in a very special sense this is true, but the integer, finite-state math involved is as different from general, non-finite mathematics as the plant kingdom is from the animal kingdom.
If I actually ever need to deal with higher math (say, calculus) I go find a mathematician (or more likely, Google the formulas needed).
Finally, soft skills are important--if you're dealing with enterprise environments. There everything is political and you need basic political skills so you don't piss off somebody who then makes it their life's ambition to get you fired. In the SMBs where I've spent the majority of my career people skills beyond "don't be a jerk" aren't really needed.
But then again, I don't really consider requirements gathering a people skill, it's more forensics, but I'm probably biased. 🙂