¿Qué les sucede a los programadores que carecen de trabajo en equipo?
Entonces se hace difícil trabajar en proyectos que son demasiado grandes para un solo programador. Difícil para el programador en solitario, y difícil para el resto del equipo.
¿Dónde comienzan los problemas?
Todo tipo de lugares. Actualmente tenemos un solo programador que es malo para trabajar como parte de un equipo. Tiende a hacer atajos que tienen malos efectos en el resto de la aplicación porque está demasiado centrado en solucionar el error que tiene delante. O escribir la nueva característica de tal manera que no sea compatible con el resto de la aplicación. Tenemos que reorganizar las cosas para que el resto del equipo revise cada código de su registro. Pero para no identificarlo, también revisamos los registros de códigos de todos los demás, por lo que, junto con la reunión de estado de la mañana, no trabajamos hasta después del almuerzo. Entonces, en nuestra oficina, esto significa que 4 personas están perdiendo medio día de trabajo todos los días porque un chico es pésimo en el trabajo en equipo. No puedo decir que sea una mejora con respecto a las aventuras anteriores, porque podríamos perder aleatoriamente un día a una semana (generalmente persiguiendo nuevos errores) de sus registros que rompen cosas (los llamamos "robstacles"). Algunas de las correcciones a su código terminarán borrando media docena de errores debido a lo enredada y desordenada que es la aplicación (mi recomendación paraatacarlo desde la órbita y comenzar de nuevo porque esa es la única manera de estar seguro de que no fue aceptado).
Cuando estamos en un estado de ánimo generoso, lo llamamos un "programador cabeza abajo", tiende a mirar el teclado y escribir muy rápido. No presta atención a lo que otros están haciendo.
¿Ser un buen programador compensa al menos un poco?
No. La mayoría de los programadores que son malos jugadores de equipo tienen una opinión muy alta de sus propias habilidades, y esto se llama el efecto Dunning-Kruger . PDF de papel.
Tal vez: el programador en solitario necesitaría ser mucho mejor que el resto del equipo. Pero esto solo significa que nadie más puede mantener lo que hace; y cuando eso sucede, probablemente significa que el programador en solitario no es realmente mejor que el resto del equipo: él (y casi siempre es un hombre) es simplemente mejor para engañar a todos.
En el desarrollo de software empresarial, la compañía estará presente mucho después de que se vaya. Lo más probable es que los programas se hayan escrito antes de comenzar, y se mantendrán mucho después de que usted se haya ido. Si escribes cosas que son tan especiales y sorprendentes que nadie más puede entenderlas, entonces terminas en la situación en la que se encuentra Naughty Dog : su desarrollador principal renunció, nadie más entiende el lenguaje de programación patentado que escribió el tipo (y escribió cosas en), por lo que ahora tienen que cambiar todo a C ++.
¿Es normal que un programador tenga una visión sobre su trabajo en lugar de simplemente hacer lo que le dicen?
Es común, como un embotellamiento o diabetes. No lo llamaría normal. En el mundo corporativo, hay muchas otras cosas a considerar; El fuerte ego que muchos desarrolladores tienen típicamente hace que el desarrollador piense que nada más importa. Esta "falta de ajuste" y falta de consideración para el resto del negocio es la razón por la cual tantos tipos de gerentes llegan a la conclusión de que es difícil trabajar con los desarrolladores de software.