La lista de responsabilidades de los programadores [cerrado]

40

Entonces, todos hemos oído hablar de La Declaración de Derechos de los Programadores y XP tiene un concepto similar.

Es una queja común en estos días que escuchamos mucho sobre los derechos de las personas pero no tanto sobre sus responsabilidades, así que lo que debería estar en la lista de responsabilidades de los programadores. Esas son cosas que deben hacer, que pueden encontrar desagradables, pero que separan a los programadores que actúan de manera profesional y responsable, de aquellos que no lo hacen.

Me interesan principalmente los desagradables y los que no suelen suceder. Esos son los que los programadores tienden a eludir y evitar, en lugar de los que el 90% de los programadores realmente quieren hacer (como refactorizar y usar siempre el control de código fuente).

Entonces, ¿qué debería estar en la Lista de responsabilidades de los programadores?

    
pregunta Jon Hopkins 22.12.2010 - 16:57

17 respuestas

41
  • Un programador tiene la responsabilidad de rechazar los requisitos deficientes en lugar de implementarlos ciegamente. Esto incluye decirles a los clientes que lo que quieren es más caro que otras opciones o tiene un conjunto particular de riesgos. También incluye comunicar malas noticias de manera profesional, no gritar, tontas a las personas, lo que implica que son estúpidos u otras conductas infantiles. Si retrocede, debería tener una serie de razones (más de "No me gusta el servidor SQL y no lo usaré") y un plan alternativo para presentar.

  • Sin embargo, el programador también tiene la responsabilidad de aceptar decisiones y usar herramientas o diseños que no les gusten si no se acepta su rechazo. Si se solicitó un informe en SSRS, no es aceptable entregarlo en Crystal Reports (que el cliente puede no tener). Si se requiere una solución .net, no es aceptable entregarla en Haskell. Si nadie más en el equipo utiliza una herramienta o un idioma que desea utilizar, no es profesional utilizarla si la administración no está de acuerdo con que sea la mejor herramienta para el trabajo en particular.

  • Un programador tiene la responsabilidad de probar su trabajo. (Esta no debería ser la única prueba, pero ningún programador profesional debe enviar un código que no haya probado). Esto incluye probar incluso las ramas del código que no espera que llegue con mucha frecuencia. Si tiene un conjunto de IF anidados, pruebe todas las rutas posibles.

  • Un programador tiene la responsabilidad de manejar los errores y las excepciones con gracia y de escribir mensajes de error que el usuario verá que son profesionales y neutrales, no bromas ni insultos.

  • Un programador tiene la responsabilidad de proteger los datos privados, proteger el código de propiedad que escribe para la empresa y proteger a los usuarios de catástrofes (incluso catástrofes autoinfligidas) de su uso de la aplicación.

  • Un programador tiene la responsabilidad de asegurarse de que su código sea mantenible y esté en control de la fuente.

  • Un programador tiene la responsabilidad de coordinarse con otros para asegurarse de que sus cambios no afecten de manera adversa lo que están haciendo.

  • Un programador tiene la responsabilidad de recomendar la mejor opción para el cliente de herramientas o idiomas en la fase de diseño, no la herramienta / idioma con el que desea jugar y aprender.

  • Un programador tiene la responsabilidad de trabajar con todo el personal apropiado para un proyecto, incluidos los que no le gustan. No es tu trabajo gustar a las personas, es tu trabajo trabajar con ellos y ser educado.

  • Un programador tiene la responsabilidad de producir un producto que haga lo que se especificó en un marco de tiempo razonable. Si no se va a cumplir el marco de tiempo, él o ella tiene la responsabilidad de informar a la administración de eso tan pronto como se conozca.

  • Un programador tiene la responsabilidad de informar a la gerencia del proyecto sobre los impedimentos para realizar el trabajo. No pueden arreglar lo que no saben.

  • Un programador tiene la responsabilidad de hacer toda la tarea, no solo las partes divertidas e interesantes. Cada trabajo tiene algunas partes aburridas, aún deben hacerse. Esto incluye elementos como hojas de asistencia y agregar elementos de discusión al software de gestión de proyectos. Incluye cosas como documentación, revisión de código, etc.

  • Un programador tiene la responsabilidad de aprender el dominio empresarial que respalda, no solo los conceptos de programación.

  • Un programador tiene la responsabilidad de mantener sus habilidades actualizadas.

  • Cuando un programador se equivoca, tiene la responsabilidad de hacer todo lo posible para solucionar los problemas tan pronto como sea humanamente posible. Esto puede incluir llevar las malas noticias a la administración en lugar de tratar de ocultar que acaba de eliminar una tabla crítica en la base de datos de producción.

  • Un programador tiene las mismas responsabilidades que cualquier otro trabajador: presentarse a tiempo, trabajar las horas contratadas, solicitar el tiempo de vacaciones por anticipado, responder mensajes de teléfono y correo electrónico (haga clic para leer sus correos electrónicos), para rellenar los formularios requeridos para Recursos Humanos, etc.

respondido por el HLGEM 23.04.2012 - 11:23
42

Todos los programadores deben hacer que otros puedan leer su código.

    
respondido por el dan_waterworth 22.12.2010 - 17:06
22

El programador es responsable de la privacidad y seguridad de todos los datos proporcionados por el usuario. Especialmente contraseñas, números de tarjetas de crédito, direcciones de correo electrónico y ubicación física.

    
respondido por el Malfist 22.12.2010 - 17:19
20

No hagas que el usuario pierda su trabajo.

Esto es más difícil de lo que parece ... el trabajo es más que solo "datos en un archivo" ... es cualquier momento que el usuario ha dedicado con su software.

Por ejemplo, si el usuario completó su formulario de 30 campos con 29 elementos válidos y 1 inválido, no borre todos sus datos válidos para quejarse del 1 inválido (heck, ni siquiera borre el inválido uno ... tal vez sea largo y solo requiera una corrección menor, o el usuario no recordará lo que era antes si lo borras)

Un ejemplo no obvio pero importante es lo que Windows y prácticamente cualquier otro software de "administrador de archivos" se equivoca ... si paso media hora con cuidado, pulsa Ctrl-Click para seleccionar un conjunto de archivos y lo hago accidentalmente. Haga clic en lugar de Ctrl-Click, no debería borrar todos mis archivos previamente seleccionados, haciéndome comenzar de nuevo.

Otro en el que se equivocaron ... si accidentalmente presiono Ctrl-A (en lugar de Ctrl-S justo al lado), no debería perder mi lugar en el archivo y colocar el cursor al principio ... Llamo a encontrar el lugar correcto en el archivo "trabajo" que el programa ha "perdido".

Otro más: el diálogo de "confirmación" de TortoiseSVN tiene una larga lista de archivos. Antes de pulsar "Confirmar", puede bajar la lista de archivos, haciendo doble clic en cada uno para ver sus cambios en un segundo cuadro de diálogo. Para hacer esto rápidamente, a veces uso solo el teclado, presionando <Esc> para cerrar el segundo cuadro de diálogo y volver al primero. Si accidentalmente golpeo <Esc> dos veces, también cierra el primer cuadro de diálogo, lo que hace que olvide el archivo que estaba haciendo.

    
respondido por el JoelFan 24.12.2010 - 14:32
15

Un programador tiene la responsabilidad de respetar el sistema en el que se ejecutará su programa. Una vez finalizado el desarrollo y las pruebas, el programa se implementará para ser utilizado para su propósito previsto, y eso generalmente involucra a otras personas que lo ejecutan en sus computadoras. El programador debe tener esto en cuenta: su programa se está ejecutando en propiedad de otra persona , no en el suyo propio, y necesita comportarse como un huésped en su hogar en lugar de irrumpir como si fuera el propietario.

Por ejemplo, su programa no debería:

respondido por el Mason Wheeler 12.04.2017 - 09:31
8

Desde el Manifiesto para Software Craftsman :

  
    

Como aspirantes a creadores de software, estamos elevando el nivel de desarrollo de software profesional al practicar y ayudar a otros a aprender el oficio. A través de este trabajo hemos llegado a valorar:

         
  • No solo funciona el software, sino también un software bien diseñado

  •     
  • No solo responde al cambio, sino que también agrega valor constantemente

  •     
  • No solo individuos e interacciones, sino también una comunidad de profesionales

  •     
  • No solo la colaboración del cliente, sino también las asociaciones productivas

  •     

Es decir, en la búsqueda de los elementos de la izquierda, hemos encontrado que los elementos de la derecha son indispensables.

  
    
respondido por el spong 22.12.2010 - 20:35
8

Mírese al espejo y posiblemente reconozca las peores cualidades de un programador en sí mismo. Luego trabaja eliminándolos cada día.

  1. No aprendiendo nada nuevo
  2. No busco ampliar tus habilidades
  3. No estar abierto a nuevos, apegándose a viejos hábitos
  4. No importa la calidad de su trabajo
  5. No busco mejorar la calidad de su trabajo
  6. Ser un trabajador de 9 a 5 sin pasión
  7. No tener opinión propia de las cosas
  8. Aceptar la opinión de los demás sin cuestionar
  9. creyendo que lo has aprendido todo
  10. No tolerando ninguna crítica
  11. No se escucha la entrada externa
  12. Ser egocéntrico, saberlo todo individual
  13. Tener una personalidad negativa y criticar a otras personas
respondido por el 3 revsuser8685 10.05.2012 - 18:54
6
  
  • La responsabilidad de un programador es crear un software que satisfaga las necesidades de los requisitos, análisis, diseño y especificaciones establecidos en cualquier contrato entre el programador y el cliente.
  •   
  • La responsabilidad de un programador es crear un software que sea económico, confiable y que funcione de manera eficiente en máquinas reales.
  •   
  • La responsabilidad de un Programador es trabajar de la manera más eficiente, ética y con la mayor integridad posible, y comportarse con la máxima profesionalidad.
  •   

Algo de eso se aplica a las Responsabilidades de "Una Compañía de Programación.

    
respondido por el Stephen Furlani 22.12.2010 - 17:13
4
  • El programador debe conocer y usar las bibliotecas centrales y la plataforma utilizada.

Especialmente cuando el programador proviene de otra plataforma / idioma. Es terrible encontrar al programador luchando por algo que la biblioteca central proporciona o por mal uso de la ventaja de la plataforma debido a la ignorancia.

  • El programador debe crear un código de auto documentación

Es muy importante tener el código documentado para que otros lo usen, pero cuando se trata de mantenimiento, el código de auto-documentación puede, literalmente, ahorrar horas y horas de frustración.

Por ejemplo, compare:

// validates if is leap year
if(  year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ) { 
     doSomethingWithFebruary();
}

a

if( isLeapYear( year ) ) { 
    doSomethingWithFebruary();
}
    
respondido por el OscarRyz 22.12.2010 - 20:04
4

La programación es una profesión, no una habilidad. Esto significa que un programador tiene la responsabilidad de mantenerse actualizado en su campo con las últimas herramientas, técnicas y tecnología.

Esto puede significar presionar a los gerentes para que den tiempo para permitir el aprendizaje y la capacitación continua, o hacerlo en su propio tiempo.

    
respondido por el Neal Tibrewala 22.12.2010 - 20:27
2

1) Explique claramente que una solución para cualquier problema tendrá que ver con el rendimiento, el costo, el tiempo y la calidad.

2) Complete la documentación relevante, ya sea que se publiquen notas o planes de prueba. (La documentación variará según el tipo y tamaño de la empresa)

3) Solicite las herramientas correctas para su trabajo (muchos simplemente se quejan de ello pero nunca se acercan a su jefe con un caso razonable para obtener lo que necesitan)

... Otros, sin duda, para seguir.

    
respondido por el Kevin D 22.12.2010 - 17:06
2

Cuestione cualquier cosa: un programador debe tener la responsabilidad de consultar cualquier cosa que un sistema deba hacer o manejar. Esto puede incluir preguntar lo que los usuarios pueden ver como preguntas tontas, ya que hay varios sitios dedicados a mostrar lo que los usuarios pueden hacer. WTF diario y SharkTank siendo un par de ejemplos, aunque estoy seguro de que hay otros.

    
respondido por el JB King 22.12.2010 - 17:09
1
  

Un programador es responsable de convertir las historias de usuario en la cartera de productos en incrementos de software de trabajo y de envío

Es por eso que los gerentes deben asegurarse de que tienen todo para su objetivo.

    
respondido por el 2 revsuser2567 22.12.2010 - 17:17
1

Aquí está mi propuesta.

  1. Un programador debe exigir las condiciones de trabajo expuestas en la Declaración de derechos del programador, para no reducir los estándares de la posición.

(para "programador" me refiero a "programador", no a "hacker de fin de semana", por lo que todo lo que un programador debería hacer está implícito)

    
respondido por el cbrandolino 22.12.2010 - 20:33
1

5 preceptos del gremio de programadores

1.) verifique su código semanalmente y en días festivos.

2.) satisfacer las necesidades de la comunidad de programación.

3.) leer al menos un libro de programación por año.

4.) ir al menos a una conferencia de programación por año.

5.) confiesa tus errores.

    
respondido por el Peter Turner 22.12.2010 - 21:09
1

Agregaré "siempre documentar cualquier suposición hecha" a la lista. :-)

    
respondido por el John Parker 22.12.2010 - 22:40
0

Un programador no debe hacer ni implementar nada que no sea ético o ilegal, como escribir virus o piratear los sistemas de otros (a menos que sea para descubrir agujeros de seguridad y luego informar a la víctima y qué él o ella puede hacer para evitar que esto sea explotado por cualquier hacker malicioso).

    
respondido por el gablin 23.12.2010 - 14:24

Lea otras preguntas en las etiquetas