Contro: supponendo che tu debba trattare direttamente con i clienti.
1) Viziare i tuoi clienti
Se si tratta di supporto di prima / seconda / terza linea (intendo davvero supporto di linee sfocate) in cui gli sviluppatori trattano direttamente con i clienti, allora è un grosso problema. Gli sviluppatori hanno le competenze necessarie per risolvere i problemi o sviluppare soluzioni per risolvere i problemi. Se i clienti hanno accesso completo agli sviluppatori (linea sfocata), non c'è modo di impedire ai clienti di "abusare" di questo privilegio - con conseguente clienti viziati, esigenti e privilegiati che pagano solo più di qualsiasi altro cliente.
2) Condizionare gli sviluppatori a mentire e inventare storie.
Chiunque abbia avuto a che fare con i clienti sa che è un pre-requisito essere in grado di mentire a loro. C'è un bug con una correzione a 1 linea che può essere eseguita in 5 minuti. Un addetto all'assistenza clienti sarebbe stato addestrato a gestire le aspettative del cliente - ci sarebbero voluti fino a 3 giorni per risolverlo.
Come sviluppatore, se devi trattare direttamente con i clienti, devi pensare a modi creativi per placare o ingannare i clienti quando il tuo compito principale dovrebbe essere quello di risolvere problemi tecnici e assicurarti che il sistema funzioni senza intoppi.
3) Il tuo Curriculum Vitae soffre.
A meno che non stiate passando da Ingegnere software a Analista aziendale / Consulente IT / Gestione progetti, il vostro CV risentirà di un aspetto tecnico.
Il lavoro di supporto a pagamento che ruota tra la squadra è una storia diversa.
Professionisti
1) Stop Whiners from Whining
Gli sviluppatori che fanno ciò che odiano gli faranno apprezzare la codifica molto di più. Hai un programmatore che è costantemente piagnucoloso? Mettili sulla hotline per un mese.