1. Poner nombres
Sí, elegir los nombres de las variables, funciones,
clases, objetos...es lo que consideran más difícil la mayoría de los
programadores. Seguro pensabais que era documentar el código o el tener que
usar el trabajo de otro, ya que suele ser el debate común cuando hablamos de
programación.
Una buena elección de los nombres, que transmitan lo
que hacen y que sean concisos son vitales cuando se desarrolla, incluso si es
un programa pequeño o una aplicación.
Sólo hay dos cosas duras en Ciencias de la
Computación: Invalidar una memoria caché y nombrar las cosas.
Es una de las cosas más importantes, si quieres que tu
código sea legible por otros.
2. Explicar lo que se hace (o no se hace)
¿Quién entiende el arte de la programación? Solo los
programadores. Para algunos es difícil hacer entender a sus familiares y amigos
(no programadores) lo que conlleva su trabajo. Todos piensan que puedes
solucionar cualquier problema relacionado con la informática.
El intento de explicar a (casi todo el mundo) que no
sé cómo arreglar su ordenador.
3. La estimación del tiempo para completar las tareas
Un programador puede pasar varias noches picando
código para cumplir con los plazos de entrega de un proyecto. En el comienzo
nunca se saben los imprevistos que pueden ocurrir.
Resulta extremadamente difícil estimar cuántas
sorpresas a un problema de programación se presentarán cuando el trabajo sea
llevado a la práctica.
4. Tratar con otras personas
Explicar tecnicismos a personas sin conocimientos
técnicos. Hay que proporcionar informes sobre el estado de la gestión,
consultar con otros ingenieros sobre el proyecto, estar de acuerdo con otros
desarrolladores...
Es mucho más fácil convencer a un procesador que haga
lo que quiero que a algunas personas.
Lidiar con ingenieros tratando de decirme cómo
escribir código...
5. Trabajar con el código de otro.
Tener que entender, depurar o mejorar la aplicación o
trozo código de otro, además de adivinar las intenciones del desarrollador
original. Y si el código está mal escrito, comentando o documentado, el trabajo
es mucho más tedioso.
Vivir con el código de alguien que en principio no
estaba tan calificado para escribirlo.
Tratar de descifrar miles de líneas de código sin
comentar.
6. La implementación de una función con la que no se
está de acuerdo.
Tener que implementar una característica o función
que, por cualquier razón, sientes que no debe ser incluida, pero que el
cliente, o alguien por encima de tu nivel, insiste en incorporar.
7. La documentación
Crear la documentación que explique lo que hace el
código o cómo funciona una aplicación. Puede ser una tarea que consuma mucho
tiempo, que pueda sentirse como una pérdida de horas si nadie la va a leer. No
un secreto que muchos programadores suelen preferir escribir código que
documentarlo.
Tener que escribir documentos inútiles que nadie va a
leer o usar, sólo porque es parte del proceso.
¡Escribir una documentación que sea buena, explicativa
y concisa, y todo al mismo tiempo!
8. Pruebas
Tener que escribir pruebas para pequeñas unidades de
código y asegurarse de que funcionan correctamente. Estas pruebas ayudan a dar
cuerpo a errores desde el principio del proceso y pueden facilitar el testeo
cuando el código se modifica o se actualiza.
9. El diseño de una solución
Tienes un conjunto de requisitos y eres el arquitecto
que debe diseñar una solución técnica e implementarla. Además de satisfacer las
necesidades del cliente y cumplir con el plazo requerido.
Pensar en cómo ir del punto A y terminar en el Z es la
parte más difícil.
Es difícil anticipar cómo serán las cosas en realidad
antes de empezar a trabajar en ello.
Conclusión: Resulta que realmente
escribir código no es una de las partes más difíciles de la programación.