For the record, I don't think this means we should abandon open source software. I simply thought it was a good analogy to illustrate why OP's argument was flawed and that we shouldn't be blaming people for taking these "terrible jobs".
I imagine your are trying to allude to the glazier's fallacy [1]. However that is only a fallacy from the perspective of the entire economy. An extra dollar spent on a glazier is going to benefit the glazier. The problem for the economy at large is that the dollar might have otherwise been spent on the tailor, baker, etc.
To take this back to software development, the glazier fallacy is why I am not against open source software. The overall economy is made more efficient from it. However that doesn't change the fact that the increase in efficiency comes from not having to pay more money to software developers. That isn't great if you view the situation purely from the perspective of a (selfish) software developer.
[1] - https://en.wikipedia.org/wiki/Parable_of_the_broken_window
Creating open source solutions to common problems doesn't eliminate work, it frees people up to work on new problems.
I propose to you a law that will increase the wages of all software developers: demand that no code can be written in a computer fabricated after 2010. *
* Hint: Bastiat.
Some people create or contribute as part of their job. If the job requires new software, the company doesn't want to sell the software, and the developer thinks others could use it, then why not open source?