Cinco requisitos para ser un buen programador
¿Eres un buen programador? ¿Reúnes los requisitos necesarios para trabajar en el campo de la programación de forma profesional? Dice uno de los programadores en activo más reconocidos por todos, Kent Beck , actualmente trabajando para Facebook que su objetivo es ‘programar bien, en equipo, para promover la mejora de la profesión, y mejorar mis habilidades de diseño e interactuación con la gente’.
Así, que un buen programador como Kent Beck, debe tener maestría sobre los lenguajes y herramientas más adecuados para cada tarea, y una actitud de autoexigencia. Un buen programador llega a ser bueno porque se lo propone y trabaja mucho para conseguirlo.
Sintetizaremos aquí las cinco características que debe tener todo buen profesional de la programación:
1. Interacción.
Se puede hablar de interacción en varios niveles: el programador debe ser capaz de trabajar en un equipo donde compartir opiniones, aceptar sugerencias e intercambiar ideas. Y al mismo tiempo, debe ser capaz de empatizar con aquellas otras personas que desconocen el mundo de la programación pero necesitan de sus soluciones. Primer error: el programador no es ese informático que está todo el día encerrado en una habitación con un ordenador.
2. Análisis y síntesis.
Este profesional debe ser capaz de analizar el problema al que se enfrenta, sintetizar la información que ha recibido y elegir los datos con los que comenzar el trabajo. Segundo error: el programador no trabaja de forma estandarizada.
3. Conocimientos.
Debe tener una formación que lo capacita como tal. Un buen programador más que saber el cómo, sabe el por qué de las cosas. No es lo mismo saber cómo solucionar un problema, que saber realmente cómo funciona esa solución. Tercer error: El programador no es un libro cerrado.
4. Creatividad.
El buen programador debe tener creatividad para obtener soluciones factibles, rápidas y sencillas a problemas complicados. En un mismo lenguaje de programación puede encontrar varias formas de solventar una situación. Cuarto error: Los ordenadores son cuadriculados, los programadores no.
5. Inquietud.
Un buen programador siempre se sigue formando, busca nuevas formas de enriquecer su trabajo, y es curioso por naturaleza. Algo que repercutirá de forma muy positiva en su trabajo. Quinto error: el programador no es un friki, el programador sigue aprendiendo.
Ahora solo te queda responder… ¿Eres un buen programador?
Hola,
Muy interesante el artículo. Y muy sensato. Añadiría algunas cosas más, sacadas de mi propia y humilde experiencia como buen programador (sí, me atrevo a considerarme un buen programador...):
- Interacción. El programador debe poder interactuar sin tapujos con sus superiores (jefe/manager/team leader/supervisor/bwana, como queráis llamarlo). Poder hacer críticas (constructivas), sugerencias de cómo hacer o mejorar ciertas cosas, de cómo mejorar el ambiente de trabajo para trabajar mejor (no más, sino mejor), sin ser tachado automáticamemte de conflictivo o negativo. El jefe debe formar parte integrante del equipo, y ayudar a los programadores a hacer bien su trabajo. Un ejemplo tonto puede ser la serie CSI: mirad cómo Grissom u Horatio trabajan junto con sus compañeros, y les aconsejan y defienden si es necesario, y cómo debaten entre ellos al emitir hipótesis de trabajo, etc. Quiero decir, un jefe que sólo está ahí para asegurarse de que los programadores estén ocho horas (o más...) con la cabeza metida en la pantalla y picando código, no es un jefe, sino un vigilante/carcelero... Y no me sirve como jefe...
- Análisis y síntesis. En España, la situación es nebulosa: ¿Programador? ¿Analista-programador? ¿Chico para todo?
- Conocimientos. La formación es algo muy relativo. La titulitis es una enfermedad muy común en las empresas españolas. Conozco a ingenieros superiores en informática que no quieren y/o no les gusta programar. Y, en un par de ocasiones, me han pedido revisar programas hechos por ingenieros superiores en informática, y que además llevaban más tiempo que yo en la empresa. En otras ocasiones,
. Yo no soy informático de formación, tengo una licenciatura en bioquímica (soy científico, no ingeniero de formación), pero llevo muchos años (diez o más) trabajando de programador. Y el caso es que me gusta... (Ya oígo desde aquí a algunos quejarse de intrusismo y tal...)- Creatividad. En lo referente a las soluciones rápidas, todos hemos oído eso de
. Las prisas no son buenas, sólo dan tiempo a hacer chapuzas. Y si realmente eso tiene que estar para anteayer, ¿por qué me comunicas esta tarea hoy, jefe? ¿Acaso esperas que yo haga la parte de tu trabajo que no has sabido hacer correctamente, jefe? ¿O acaso pretendes fastidiarme para demostrar que eres el jefe? Si tú mismo dudas de tu posición... En lo que respecta a lo de ser cuadriculado, pienso que hay que matizar un poco: el programador debe tener un lado cuadriculado, para ser capaz de escribir un código claro, legible, fácilmente mantenible, aunque eso no lo vea el cliente/usuario. Lo digo por experiencia: he tenido que lidiar con mucho código espagueti, y lo que te pasa por la cabeza, mientras estás peleando con el código y desenredando el ovillo, es conocer al desgraciado que ha perpetrado esa salvajada... para torturarlo a fuego lento, o algo...- Inquietud. Efectivamente, trabajar debe también servir para aprender, y también enseñar, ya que cada uno tenemos un bagaje diferente. Yo aprendo por mi cuenta, y también de mis compañeros, y mis compañeros aprenden de mí, a ser posible. Desgraciadamente, muchas veces se acaba instalando una cierta rutina, y eso hace el trabajo aburrido. Hay que tener posibilidades de ir variando, cambiar de equipo de trabajo de vez en cuando, de tecnología, etc. Sin olvidar un ambiente de trabajo sano. El no cumplirse estas condiciones hace que algunos programadores se decidan a cambiar de empresa. No siempre se trata de cambiar para ganar más (que también), sino que en algunas ocasiones, simplemente se quiere hacer cosas nuevas.
Añadiría a esta lista algo así como el entusiasmo: que te guste tu trabajo. Una persona a quien no le gusta programar hará las cosas corriendo para quitarse la tarea de encima, procurará escaquearse de los problemas un poco complejos, etc.
Una cosa más: ser un buen programador es gratificante personalmente. Sobre todo cuando uno ha conseguido sacar adelante una tarea, o ha conseguido solucionar un problema retorcido de forma elegante. En esas situaciones, el cerebro recibe su chute de dopamina. Dicho de otro modo: mola.
Sólo falta que, en España, el sueldo esté a la altura de lo que se le exige a un buen programador... Y que el programador no sea considerado como un simple becario/friki/loser.
Bueno, para acabar, a la pregunta ¿Eres un buen programador? contesto: sí, lo soy. Y, a mi vez, pregunto: ¿Cuándo empiezo? Ahora mismo estoy libre, es decir desempleado, y de larga duración... Se está desaprovechando mi talento...
P.D. 1: perdón por el tocho.
P.D. 2: vendría bien tener la posibilidad de previsualizar el comentario antes de publicarlo...
Hola Juan;
Muchas gracias por tu comentario. Realmente una aportación muy interesante, que sin duda, viene a completar y enriquecer nuestro post. Es cierto que tanto: interacción, análisis y síntesis, conocimientos, creatividad, inquietud y entusiasmo, son requisitos muy necesarios para el profesional que se dedica a la programación. Así lo consideramos también desde Galdón Software, y es algo que no solo reflejamos en nuestro blog, sino también en nuestra filosofía corporativa, gracias al estupendo trabajo de nuestra plantilla.
Nos alegra tenerte como seguidor en este espacio dedicado al mundo del software, informática y soluciones integrales ERP. También puedes estar al tanto de nuestras novedades, actividades y consejos en Twitter: @galdonsoftware
En cuanto a tu sugerencia, nos ponemos a trabajar en ello. Esperamos que alcances los objetivos que persigues.
Un saludo.
creo que me falta mucho, pero tengo muchas ganas de progresar...
Pense que los buenos programadores en diferentes lenguajes eran las personas que verdaderamente saben de todos lenguajes, pero ya veo que no! que un buen programador da soluciones a los problemas y explica como dar solucion a dichos problemas.. Me gusto mucho las definiciones que muestraron en esta pagina. Yo me considero un programador que siempre sigue aprendiendo y seguire adelante. Gracias por los comentarios....