Leyendo el artículo “Good Developer, Bad Developer” que recomendó a través de Twitter mi compañero Eduardo Antón me paré a reflexionar en cada uno de los puntos que expone el autor. Si preguntamos a cualquier desarrollador que es para él ser bueno en su trabajo, no habrá duda que contestarán lo mismo que Guy Nirpaz, el conflicto se produce cuando esa teoría choca con la realidad profesional de muchos de los programadores.
Con la finalidad de acercarnos más al día de los programadores, 9 desarrolladores de distintas tecnologías nos darán su visión sobre lo que para ellos es ser buen o mal programador.
Comenzamos con los desarrolladores que ponen el alma en su trabajo, programan por el mero placer de desarrollar, aprenden nuevas tecnologías por la satisfacción que les genera el hecho de aprender, la esencia de los Soul Developers.
Ricardo García Vega
Siempre en constante búsqueda del equilibrio entre el desarrollo y el diseño, para crear una buena experiencia para el usuario. Cuando no está desarrollando nuevas aplicaciones web, se le puede ver montado en cualquiera de sus tablas, ya sea por mar, por nieve o asfalto… Love & Boards, yeah!
Daniel Sánchez Gómez:
Su afición por la tecnología viene desde muy pequeño. Con 6 años implementó su primera aplicación “Hola Mundo!” con un Spectrum ZX de 64K. Es un apasionado de todos los gadgets o frikadas (como su novia prefiere llamarlas). Le encanta disfrutar de la naturaleza, realizando rutas de montaña o intentando coger unas olas en la playa.
Good developer understands the complete architecture of the product. Bad developer knows only the components he’s written. Good developer fully understands the technologies that are used within the product. He understands what they are used for, and how they work internally.
Daniel nos cuenta su opinión sobre este punto:
En plena Edad Media un peregrino vio en París a tres obreros trabajando con grandes bloques de piedra. — ¿Qué están haciendo?, les preguntó. — Cortando piedra, dijo uno de ellos con indiferencia. — Ganándome unos francos, repuso secamente el segundo. El tercero suspendió su labor por un momento y con una gran sonrisa y marcado entusiasmo respondió: — Estoy construyendo una hermosa y espectacular catedral que va a ser la más importante de toda la región.
Al igual que con los trabajadores de la catedral, para ser un buen programador deberemos conocer de manera global el producto para el cual estamos trabajando. De esta manera a parte de fortalecer nuestros conocimientos, trabajaremos con mayor motivación y entusiasmo al saber lo importante que es nuestro aporte en el proyecto. También tendremos más energía, inspiración y fuerza para realizar de la mejor manera posible nuestras tareas.
Pensando a la inversa, igual de importante es conocer cada una de las tecnologías que se usan en el desarrollo de un proyecto. No sólo por motivación, sino también por la seguridad y confianza que vamos a tener al saber que estamos aprovechando al máximo, y utilizando de manera adecuada todas las herramientas, librerías o lenguajes de programación que intervienen en el proyecto.
En muchas ocasiones no nos dejan tiempo para estudiar a fondo las tecnologías que se utilizan en los proyectos. Esto es debido a que no se invierte tiempo en aprender y formar a la gente en una empresa pensando que se ahorran costes. Pero al final en vez de ahorrar, lo que se consigue es todo lo contrario. ¿Quién no ha escuchado la frase: “lo barato termina saliendo caro”? Pues en el desarrollo de software pasa lo mismo. Si no se forma o se dedica el tiempo suficiente en conocer las herramientas y tecnologías con las que se trabaja, al final pueden surgir errores o problemas, en los cuales se gaste mucho más tiempo en resolverlos que el necesario para estudiarlos a fondo desde un principio.
Good developer is not afraid of new technologies but embraces them by quickly getting a grip. Bad developer only sticks to what he knows. His immediate reaction to any technical change is negative.
Ricardo nos cuenta su realidad sobre esta afirmación:
Muchas veces el poder usar nuevas tecnologías en nuestro trabajo no depende de nosotros. Muchos trabajamos en empresas donde las personas que toman las decisiones sobre qué tecnologías usar en qué proyecto a duras penas tienen el conocimiento técnico de qué tecnologías existen y lo beneficiosas que pueden llegar a ser para el desarrollo del mismo.
Suelen ser personas que la última vez que han programado (si es que lo hecho alguna vez), fue hace décadas, y siguen agarrándose a esas tecnologías obsoletas porque es lo único que conocen y donde se sienten cómodos. Pero aquí no acaba la cosa, ya que muchas veces, tampoco cuentan con la opinión ni el consejo de las personas que tienen esos conocimientos, que son los que al final van a desarrollar ese proyecto y sus conocimientos pueden ser muy útiles a la hora de elegir las herramientas para hacerlo. Y no hablemos de la formación interna para que sus empleados sean mejores desarrolladores, ya que muchas veces o es inexistente o se trata de cursos obsoletos y sin sentido. Esto conlleva también a que mucha gente dentro de esas empresas sigan usando las tecnologías de siempre, sintiéndose cómodos, porque es lo que usan a diario y no necesitan saber más para realizar su trabajo.
A mi personalmente me apasiona aprender cosas nuevas. Me encanta pegarme con ellas, entenderlas, llegar a saber utilizarlas y seguir mejorando. Siempre que puedo intento usar todo lo nuevo que aprendo en mis proyectos personales. Estamos en una era en la que no hay excusa para no aprender nuevas tecnologías, ya que Internet está lleno de manuales, tutoriales, blogs, código libre, auténticos cracks que comparten sus conocimientos, y un sin fin de información al alcance de todos.
Si las empresas para las que trabajamos no van a hacer nada para que seamos mejores desarrolladores, depende de nosotros el serlo o no, así que no sé vosotros, pero yo voy a seguir luchando cada día por mejorar. Love & Boards!
Me quedo con dos titulares:
Lo barato termina saliendo caro, dediquemos tiempo suficiente a conocer las herramientas y tecnologías con las que vamos a trabajar.
Si las empresas para las que trabajamos no van a hacer nada para que seamos mejores desarrolladores, depende de nosotros el serlo o no.
Esto no es todo amigos … ¡hasta la próxima!.