Contras - supondo que você precise lidar diretamente com os clientes.
1) Estragando seus clientes
Se é o suporte de primeira / segunda / terceira linha (eu realmente quero dizer suporte de linha turva) onde os desenvolvedores lidam diretamente com os clientes, é um grande golpe. Os desenvolvedores têm o conjunto de habilidades necessárias para depurar problemas ou desenvolver soluções para solucionar problemas. Se os clientes têm acesso completo aos desenvolvedores (linha borrada) - não há como impedir que os clientes "abusem" desse privilégio - resultando em clientes mimados, exigentes e privilegiados que não pagam mais do que qualquer outro cliente.
2) Condicionando seus desenvolvedores a mentir e inventar histórias.
Quem já lidou com clientes sabe que é um pré-requisito poder mentir para eles. Há um erro com uma correção de 1 linha que pode ser feita em 5 minutos. Uma pessoa de suporte ao cliente seria treinada para gerenciar as expectativas do cliente - que levaria até três dias para resolver o problema.
Como desenvolvedor, se você precisar lidar diretamente com os clientes, precisará pensar em maneiras criativas de apaziguar ou enganar os clientes quando seu trabalho principal for resolver problemas técnicos e garantir que o sistema esteja funcionando sem problemas.
3) Seu Curriculum Vitae sofre.
A menos que você esteja mudando de engenheiro de software para analista de negócios / consultor de TI / gerenciamento de projetos, seu currículo sofrerá um aspecto técnico.
O trabalho de suporte pago que gira entre a equipe é uma história diferente.
Prós
1) Pare os chorões de choramingar
Os desenvolvedores que fazem o que odeiam farão com que apreciem muito mais a codificação. Tem um programador que está constantemente chorando? Coloque-os na linha direta por um mês.