You’ll encounter math eventually. It could be as simple as implementing linear interpolation for a custom type, or understanding why a type is not suited for a particular application (e.g. never use floating points to represent money). If you delve into low-level networking, you’ll need a good understanding of binary/decimal/hexadecimal conversions and operations. If you go into game development or graphics, you won’t survive without a deep understanding of vectors, matrices, and quaternions. Any kind of data science is just math translated to a machine-readable language.
In my opinion, knowledge of the basic concepts is more important than being good at actually performing mathematics with pen and paper. For example, if you need to apply a transformation to a vector, nobody expects you to whip up a program that does the thing. Instead, you should immediately know:
- what a transformation is (translation, rotation, scaling, projection, etc),
- that each transformation has a corresponding transformation matrix,
- that you’ll have to deal with inhomogeneous and homogeneous coordinates, and
- that you’ll have to combine the transformation matrices and the original vector.
That abstract knowledge will give you a starting point. Then you can look up the particulars – the corresponding transformation matrices, the method to convert between inhomogeneous and homogeneous coordinates, and the process of matrix multiplication. I know because I failed calculus.
I challenge you to make an appetizing meal out of the plants (and specific cultivars!) used as animal feed.