¿Eres buen o mal desarrollador de software? Rockers Developers

Orgullosos de su trabajo, defienden con convicción que su profesión es un arte. Guitarristas del código, mentalidad creativa y corazón inconformista,  la esencia de los Rockers Developers.

David GarcíaDesarrollador de acción, vocalista y guitarrista de vocación. En su momento no tuvo miedo a rememorar el postgrunge con su grupo Los Niños Muertos, ahora su guitarra es el teclado y su espectáculo, la discreción.

Con respecto a la reflexión: “Good developer develops features which create value for customers. Bad developer completes tasks. Good developer will never claim the requirements are incomplete, and will make sure to fully understand the features he’s working on. Bad developer will wait until the finest details are available. To emphasize: good developer is the CEO of the feature – he’s going to make sure he always has the information needed to accomplish the feature, and in case information is missing he’ll make sure he gets it”  

David opina sobre ello y nos cuenta:

Se supone que estás ahí porque lo has elegido, haciendo eso que haces porque tu quieres. Puede ser que no tengas el control al 100%, pero tienes los vientos, las corrientes, incluso las estrellas, y sabes navegar … ya sabes lo que hacer.

Si has llegado ahí de ese modo es imposible que no tomes partido en tu trabajo, que de algún modo no lo empujes con la visión que desde un principio tengas de la imagen final. Efectivamente eres “CEO of the feature” porque eres el responsable de tu trabajo.

“Ladies and Gentlemen, We are Floating in Space”

Es todo un montón de obviedades, pero son las cosas que la rutina, el tiempo y la inercia te pueden hacer olvidar. Tenerlo presente es la clave para que tu modo de vida te aporte algo más que una remuneración económica, algo muy importante (ya lo sabemos), pero es que como decía, estamos en esto porque queremos ¿no?

Por otro lado, el riesgo de tener esa visión de tu trabajo es que siempre faltará algo, como tu principal crítico conoces mejor que nadie las imperfecciones y las cosas a mejorar. Es ahí donde es necesario enfrentarse a los conflictos de la gestión del tiempo y evitar estar en un “work in progress” continuo en cada tarea, un pecado en el que difícilmente caerá un mal desarrollador.

Creo que todo esto se aplica a muchos ámbitos, no solo desarrollo y no solo trabajo.

 

“Hay que intentar ir a comerse el mundo, no ser uno más del rebaño. Puedes conseguirlo o no, pero hay que ir a por ello con determinación, y yo no pienso parar de crecer.”

Sergio Ruiz: Artista del código, guitarrista, aprendiz de japonés y mago. Demostró a los japoneses su manejo de JavaScript desarrollando 2 juegos en un semana. Le encanta investigar sobre nuevas tecnologías, teclear al ritmo de Led Zeppelin y maquinar estrategias heróicas jugando en su PC.

El autor no tiene duda en afirmar que  “Good developer is an artist, a craftsman who enjoys the process of creation. Bad developer considers himself as a programmer, responsible for generating lines of code”  y Sergio con plena seguridad opina que:

Crear. Nuestra profesión es completamente creativa. Uno no tira líneas por tirarlas, tiene un fin en mente, unos usuarios, quiere que alguien utilice lo que él o ella han desarrollado, y quiere hacerlo perfecto. No hay mayor satisfacción en nuestro trabajo que ver a otra persona utilizar el producto en el que has colaborado y saber que has realizado un buen trabajo.

En el tiempo que llevo en el mundo de la consultoría rara vez he podido desarrollar como yo he querido: con tiempo, con calma y con buena letra. Suele haber alguien (la mayoría de las veces no técnico) que se reúne con el cliente para escuchar sus exigencias, y le ofrece desarrollos en tiempo récord para que dicho cliente no se vaya a otra consultora que tarde o cobre menos. Me parece muy bien porque la empresa consigue a dicho cliente, pero rara vez se tiene en cuenta al que va a tener que desarrollar eso.

Puedes ser muy bueno en tu área, pero a veces necesitas ser un superhéroe para hacerlo todo bien en el tiempo que te dan. O eso, o acudes a las famosas “ñapas”. El desarrollo que te plantean, tú lo estimas en tres semanas y ellos lo han estimado (y cerrado con el cliente, que es lo peor) en una semana, por lo que te están obligando a realizar todas las tareas de análisis, diseño, desarrollo y testeo, en menos tiempo del que requiere, lo que conlleva a que alguno de esos puntos, si no todos, se vean afectados.

Al final terminas el trabajo a tiempo, por supuesto, porque eres bueno en lo tuyo y puedes con ello, pero puedes llegar a avergonzarte de cómo has tenido que resolverlo, teniendo en mente que con tiempo lo habrías refactorizado, testeado, documentado, y realizado tu pequeña obra de arte.

El usuario tal vez no se dé cuenta “de lo que hay debajo”, pero tú sí lo sabes, y otra persona que sea curiosa también lo sabrá, y puede llegar a pensar “pues vaya código”. Y bajo ese código, tal vez haya un artista frustrado que no ha podido realizar su obra a gusto, y al que han obligado a ser mediocre.

Así que …  nota para esas personas que se reúnen con los clientes:  Siempre escuchad a vuestros programadores, porque son quienes saben cuánto se va a tardar y cómo se ha de hacer una tarea, y si son buenos, podrán demostrarlo.

Y nota para los programadores: No dejéis de luchar por estas cosas, no hay que quedarse callado, si queréis realizar un buen trabajo dejádselo claro a quien haga falta. Sois artistas, unos magos del código, no unos resolutores de problemas.

Gracias a los dos por colaborar, me ha encantado el magnetismo de vuestras reflexiones.  Después de leeros me quedo con dos titulares:

“Efectivamente eres “CEO of the feature” porque eres el responsable de tu trabajo”

“Los programadores son artistas, magos del código, no unos resolutores de problemas” 

¡Ohhhhhhhhhhhhhhh yeahhhhhhhh! 😎

Artículo relacionado con la serie de opiniones de los Soul Develpers, Gentelmen Developers y Natural Developers sobre los 9 puntos : Good Developer, Bad Developer

  • Pepe

    Todo este rollo suena a libro de autoayuda, liderezgo y motivacion, por que en el mundo real el programador es el ultimo mono, aunque eso no quita que puedas ser bueno en tu trabajo.

    • Hasta el último mono puede decirle a sus jefes que algo está mal y luchar un poco, y no callarse y acatar todo. Si no se responde las cosas seguirán igual, así que… será libro de autoayuda, pero es lo que hay!

      • Guest

        @ab888b1a15b420b410d23b927a370013:disqus Gracias por dar tu opinión y siento que tu percepción sea tan negativa y como tu bien dices, no dejes de hacer bien tu trabajo, eso para mi .. como dice @twitter-16805606:disqus es luchar y demostrar la importancia de ser buen profesional. De nuevo, gracias, sobre todo a ti Sergio, por colaborar y contar tu visión!

        • Cada uno tiene su opinión 🙂 Lo importante es querer (o no) cambiar las cosas. Gracias 🙂

    • Pues algo de razón no te falta, si de entrada tú no te ayudas con poca más ayuda vas a contar. Tampoco vamos a obviar el factor suerte de donde tengas a bien caer en tu vida laboral… conozco también algunas de esas historias de terror. Pero lo que también me ha quedado claro es que el buen hacer y la actitud positiva tienen más pronto que tarde su respuesta y por el camino queda gente con excusas de perezoso al más puro estilo “el profe me tiene manía”, auténticos trolls de la vida real lamentándose del mal rollo en su empresa, etc… De verdad no os suena todo eso? 🙂

  • Sergio

    Desgraciadamente muchos no son conscientes de la importancia de escuchar a los desarrolladoresl pues éstos no sugieren ideas por el placer de mandar, sino por mejorar la experiencia del usuario y evitar problemas a la empresa o cliente.

    En mi caso, en una ocasión me dejaron caer con sutilidad que no aportara sugerencias y que si el cliente pedía “mierda” se la diera. Es triste estas situaciones, pues la empresa te paga para que los ayudes no para que los subestimes ni queden mal.

    Buen post.

    • @26580f53a86b6eeeea42a0003335dd04:disqus muchas gracias por comentar. Sinceramente me parece muy triste escuchar ese tipo de comentarios y parto de la base que nadie quiere “mierdas” … pero también te digo, si las sugerencias no son bien recibidas que por tu parte quede claro que estás para ayudar y hacer el trabajo lo mejor posible. ¡Gracias por opinar! 🙂

  • Pingback: Stackoverflow y la popularidad de JavaScript()