When you finish a Master's degree, you realize you know nothing.
When you finish a PhD, you realize nobody else knows anything, either.
But it is important to remember what you are doing. In a PhD you should be pushing the boundary of knowledge. As a programmer in a company, you should be solving problems to generate value for your customer and your company.
If you aren't doing these things, you are in the wrong place.
You don't need to get a phd to push the boundaries of knowledge, and often people who get phds aren't actually doing that. PhD is just a fake status indicator like an MBA.
A lot of work that generates real value is also pushing the boundaries of science. Good scientific work often has real world impact.
I noticed you used "programmer" to refer to the person working in a company, but programming is also an essential skill for pushing the boundaries in just about any field now. Many "scientists" are not capable of it and look upon it as grunt work, which says a lot about their true competence.
This is definitely true. But it is important to remember that writing code is a means to an end and not the goal in many PhDs. You do it to get results and to many bears no more importance than measuring chemicals or prepping an animal for examination. In the eyes of professional coders this will lead to poor practices (hard to maintain, little testing, etc.) but up to a certain degree this is fine, IMO, because you don't need production-quality code to get results.
> You don't need to get a phd to push the boundaries of knowledge > A lot of work that generates real value is also pushing the boundaries of computer science.
I agree with both of these. A lot of cool stuff pushing the boundary of knowledge is happening outside of academia. But a lot of cool stuff is also happening within academia.
> Good scientific work often has real world impact. I agree, whether it is within or outside of academia. As I think that this is the goal of academia, I remain with my stance that if you aren't trying to do that you are in the wrong place.
A PhD works as a status indicator is valid in the sense that a Github account with lots of accepted PRs into major OSS is a status indicator: that you have done the work and it has been found by academics in that field / the code maintainers for that OSS to be of high enough quality to be accepted. The work (thesis / PRs) and the credentials of the academics and academic institution / the code maintainer and the OSS project are probably public information that can be verified if there is doubt as to the worth of the credential.
Pick any field. Find some measure of who pushes the boundaries the most in that field. Check after picking the metric, not before, what percent of those making the advances had a PhD, compared to the field overall.
For example, in computer science a the top advances sometimes get a Turing Award. Turing Awards winners need not have a PhD. Most people working in computer science don't have PhDs, yet among Turing Award winners, 59 have one and 13 don't (and most of those have masters degrees).
The same happens in chemistry, physics, biology, engineering, history, geology, psychology, and on and on.
Maybe a PhD is more than a "fake status indicator"? Maybe those most driven to push boundaries very often get a PhD along the way to become more skilled in their field.
Care to present a field and a metric of who has pushed the boundaries the most for which we can asses the impact of PhD and non-PhDs where PhDs are not the most impactful?