No meu local de trabalho atual, não temos testadores, a justificativa disso para a gerência é: "se tivéssemos testadores, você não testaria seu próprio código". Esse tipo de pensamento parece prejudicial para a qualidade do produto, pois enquanto eu testo meu próprio código, há muitas coisas que vou sentir falta apenas pelo fato de conhecer o sistema de dentro para fora e não saber como usá-lo. "errado". O teste da caixa preta realmente não funciona, pois subconscientemente evito as armadilhas em que um testador dedicado cairia. Muito do meu tempo é dedicado à correção de bugs que foram inseridos no código de produção e encontrados pelo usuário final.
O sistema em questão é grande, mas é desenvolvido exclusivamente por mim. Isso também fez com que algumas tarefas administrativas caíssem no meu colo, como definir horários e trabalhar com especificações.
Esse tipo de tarefa deve ser de minha responsabilidade? Eu me vejo estritamente como programador e nada mais. E se essas são minhas responsabilidades, até que ponto? Quando um projeto é tão grande que requer testadores? Um programador deve refinar a especificação, se preocupar com o gerenciamento do projeto ou até mesmo fornecer suporte ao cliente?
Nota
Alguns podem ter a impressão de que sou contra a ampliação de minhas responsabilidades - esse não é o caso, estou ansioso para conseguir uma função que envolva mais tarefas de gerenciamento, mas atualmente não está na descrição de meu cargo. Até que eu esteja oficialmente empregado como tal ou que os deveres adicionais comecem a aparecer no meu salário, vou pensar em mim como 'apenas' um programador. Infelizmente, como desenvolvedor júnior, a mudança para funções gerenciais não acontecerá muito em breve.
Excelentes respostas até agora, mantenha-as sempre disponíveis, se você tiver algo a acrescentar ou experiências pessoais para compartilhar!