It took me many years to understand what he meant. After understanding it, now, if anyone does not follow this, I won't be happy in taking that person to my team.
Many employees ask their company to provide good work. But, the company hired them to solve it's problems and not to provide good work. It is completely upto the employees to solve the problems either with good work or bad work.
Once, an acquaintance of mine called me for some small help. He wanted to download many files from a website. At that time, he could not find anyone else to do this bad work. So, he called me. He told me this, and went out and returned after few mins. Then, he told me that, he would start downloading the files from the bottom, and asked me to start downloading the files from the top. I told him, I had already written a script, and the files are getting downloaded. And we just did gossip till the download was over. He was very happy for that, because, last time, he and three more people had to spend few hours in downloading it. Now, I did not spend more than few mins.
If he gets another bad work, and if he has opportunity to call either a highly qualified person or less qualified person, I am sure, he would directly call the highly qualified person to do that bad work. The expectation is, the work would be done in very efficient way. If the highly qualified person thinks that, he is under utilized, nobody can help him.
The employer wants the problem to be solved. The employer may also give some method of solving the problem. It is upto the employee, whether to use that method or any random method to solve the problem and criticizing the employer for not giving good work, or using the most efficient method, and let others call that as good work.
Another example
I have seen an application, which is developed in a technology in which I cannot write anything other than "Hello World" program. That has just five pages with some data storage. In general, highly qualified people are not interested in doing the application with just five pages. So, it was given to a normal developer. After developing that application, the developer moved out, and I was given the control of the server which hosts that application to maintain it. That's when, the real problems started.
The application is developed in such a way that, it cannot be taken out and host it on a different server. They hard coded and assumed the OS, Path on the disk, path in the URL and everything else. The only way for me to deploy a new version of that, without touching any code is, buying a new server and installing the same OS and deploying in that. Nobody would sponsor a new server, just to deploy such a small application.
So, there is no backup. So, if there is any issue, I have to directly work on the production server and fix it. Since, it is production server, I cannot debug so easily. Since, it is production server, I cannot give control to others. So, I cannot take help from others, unless they are going to sit next to me and help me in that. There are so many issues like this.
If the same work is given to a highly qualified person, and that person develops the same application like how a highly qualified person develops rather than a less qualified person, then I would not have faced so many problems in maintaining it.
Many highly qualified people forget that, when they are given work of less complexity, the work is supposed to be done the way highly qualified people do rather than the way less qualified people do. Everybody should do the work in such a way that, no less qualified person can get the same quality. Otherwise, there is no use of hiring that person. We can hire a less qualified person with lesser pay.
I feel, the most under employed job is, taking care of children.