Machine learning is different from programming
As a developper doing a new program, you mostly knows the inputs you will have. You writes a series of rules to process the inputs and get outputs. You "design" those rules yourself, knowing all what is expected in the "happy path" and thinking of all possible errors.

In machine learning and deep learning
(ML versus DL), as a computer scientist, you come
with a set of inputs ( features) and
outputs (labels) and with a Mixture of art and science,
you let the computer "learn" the rules by himself.
