A skilled worker like software professional generates more income than an unskilled worker. Why?

A skilled worker generates more income than an unskilled worker mainly because the productivity of an educated and skilled person is higher than an unskilled one.
A skilled worker also commands a higher earnings or gainful employment. This is because they cannot be substituted with another since, it takes years to generate a manpower which is skilled in a particular field. On the other hand, an unskilled worker like a rickshaw puller can be easily substituted and such workers easily compromise on lesser earnings.