But re-formatting, filtering and running basic QC on complex data is something a lot of biologists have to do every day; and the types of data, their quality and their format are constantly evolving. Biologists who have to run down the corridor to their local (probably overworked and underpaid) programmer every time their data format changes, then explain the problem in terms the programmer can understand, then wait for the programmer to write something, and then check the script's output for errors, will be at a huge disadvantage compared to those who can quickly whip up and debug a parsing script themselves on the fly.
I've been working in bioinformatics in some capacity since the late '90's when the field started to really take off. My skills are pretty much 50/50 computer science/biology, so I think I've got a pretty good grasp of things now.
On the programming side, there are LOTS of micro-decisions you need to make as a programmer. I think to myself many times how spectacularly screwed up my code could be if I didn't have a biology background. There are huge issues in the area of data modeling in particular that are very complex and require deep biological understanding to get your models right. This is mostly because you need to have a sense of where biology is headed and make allowances for the future. A good example case was that I once worked with a system that had a 1:1 relationship between a person and DNA genotype results. That system worked fine for years until they tried to expand into cancer. See, it turns out tumors have their own genotypes (owing to mutations) different from their host. The system was completely unable to handle that scenario. Someone with sharp biology skills MIGHT have recognized that was an issue. Being a biologist doesn't make you immune from making bad assumptions though. For years biologists insisted that large pieces of DNA in our chromosomes had no function and called it "Junk DNA". This is in spite of all kinds of evidence from other organisms (like bacteria for example) that organisms generally are efficient about what "legacy code" they drag around. Now it's generally accepted these regions do have a purpose.
On the flip side, the problem I've seen with many biologist/programmers is that they haven't had the rigorous programming training one needs to write good code. There are a ton of "hacks" whose code is low-quality and inefficient. Most of these people learned to code on the side, so they haven't had the benefit of being forced to learn the things that nobody wants to teach themselves. You might have hated your compiler or algorithms courses in college, but that's the stuff that makes you a better programmer. You can learn those things on the side, but it's very hard to do when programming isn't the core part of what you do.
I think the data revolution in biology is going to eventually force a change in how undergraduate biology programs are designed (at least in the US, I can't speak for other countries). There is a real need for a radically different program that doesn't force people into a "biologist bucket" or a "programmer bucket". I know many universities offer bioinformatics programs, but these aren't enough. They sprinkle in some programming courses from the CS department, some extra math, maybe a course or two actually in bioinformatics where they teach you about all the 10 year old bioinformatics technology and how it works. The real trick is to integrate all that stuff together coherently. I would venture to guess that few if any bioinformatics programs have a bioinformatics lab course where students need to build software to solve a particular biological problem.
It looks to me like researchers have figured out specialization of labor: one well-educated researcher to make the theory, several low-wage grunts who get to feed the rats. (Whether this relationship is fair to graduate students is outside the scope of this post.)
I think we're suggesting people learn programming so that they can do tasks which are of comparative complexity to feeding the rats. Converting data from one form to the other? That is feeding rats. Iterating over data to produce summary statistics? That is feeding rats.
(I know biologists work with really big data sets. So maybe they're not feeding rats, they're feeding monkeys. Disgustingly parallel algorithms are getting easier and arranging the hardware for them is getting easier: in a few years, the monkeys will be about as easy to feed as rats are today.)
Biologists don't have grad students scratch-build their own microscopes, do they? That would be silly. Why not have the scientists and proto-scientists concentrate on science and outsource the feeding of computational rats to someone who doesn't really need a graduate degree in bioinformatics.
Plus, if using cheap outsourced rat-feeders achieves comparable quality to graduate students, there will be less market need for a permanent underclass of rat feeders with crushing debt loads and stipends that make McDonalds look generous.