And it takes time to learn how to use software tools effectively in a standard way in a production environment that others can understand and extend and maintain. This isn't taught in academia either, and usually it takes several years in the real world for these skills to mature and integrate into the practice of writing good pro code.
A PhD offers no advantage in this school of hard knocks.
"Oh, we see you have Perl, awk, sed, Bash on your CV.. We need you to write some code to get this and that data from the server logs and then spit it out in this and that format, but we don't want this particular info."
I about crapped myself the first day on the job. Fortunately, my team lead knew what he had asked for and coached me through how to be a useful nix admin. This led me to being more interested in coding than setting up nix boxes and getting them to talk to databases. I fell in love with regex stuff and still love it. Perl and Python are still my go-tos with regards to this. I still write small (25-30 line) programs in awk. Sadly, I have a job now where they all love PowerShell, so I've been "forced" to use it for certain Windows tooling tasks. Learning Go on my own now. I find R and F# fascinating and might take this on in time.
I know very few PhDs who are also sysadmins. And fewer yet who can properly diagnose issues with workstations, servers, etc. In college campuses, the labs are maintained by sysadmins. I've worked with PhDs who were "coders", yet could not set up their own programming environments because they were done for them in academia. Not all, but most. I'm not deriding PhDs here, but as one poster said, they generally work in silo environments and don't really understand the broader pictures around them.
I've often had the task of guiding phd's in making the transition. In my experience, the most motivated ones can do it in six months, but most take a year or two (or never get there).
ymmv, of course.