← Back to my blog

¿Estás seguro de que eres un desarrollador profesional?


Durante muchos años creí que lo único que constituía ser profesional era que me pagaran por hacer algo. Practiqué Muay Thai durante muchos años, por lo que ser un luchador profesional significaba que me pagaran por luchar (aparte del hecho de que usas menos protecciones durante las peleas y, a veces, los rounds son más largos).

En una vida anterior, en una carrera anterior, un profesor universitario me dijo que un profesional no hablaría sobre las cosas de las que no tenía conocimiento, que no mentiría. Pensé que era una idea genial, así que la agregué a mi definición, curiosamente el otro día un amigo me dijo que no hablo mucho, pero cuando lo hago siempre digo algo inteligente, por lo que el profesor podría haberme influenciado más de lo que me di cuenta en ese momento.

Hasta hace unos años, pensaba que era un desarrollador profesional, no fue hasta que leí The Clean Coder por Robert C. Martin, también conocido como Tío Bob, que comencé a analizar mis procesos, mis acciones, mis errores y me di cuenta de que tal vez no me estaba ajustando a los estándares correctos.

En este artículo, señalaré mis errores pasados ​​y cómo creo que debería comportarse un verdadero profesional.

El falso profesional

Durante los primeros 2 años como desarrollador de software “profesional”, trabajé en varias empresas de consultoría, todo tenía que hacerse rápidamente, a veces no había equipo de control de calidad, a veces no había diseñadores, todo tenía prisa y la situación era puro estrés, pero esas no son excusas. Por falta de confianza en mí mismo, he sido empujado a producir un trabajo por debajo de la media, pero fui yo quien dejó que sucediera.

  • Por pereza, entregué un software defectuoso a sabiendas.
  • No escribí una sola prueba unitaria en 2 años.
  • No produje el mejor código que pude, busqué la solución rápida y fácil varias veces, trayendo futuros errores y problemas.
  • He aceptado “intentar” cumplir con ciertos plazos incluso cuando sabía que era imposible hacerlo, incluso trabajando fines de semana completos varias veces.
  • Acepte ciertas soluciones de personas que no tenían la capacidad técnica suficiente para comprender las implicaciones reales.
  • Por mi propio comportamiento, he visto código podrido hasta el punto en que el desarrollo de aplicaciones se vuelve increíblemente lento.
  • He perdido el tiempo durante las horas de trabajo.
  • Pensé que era obligación de mi empleador enseñarme las herramientas y prácticas adecuadas para mi trabajo.

Durante esos años pensé que así era trabajar como desarrollador, quiero decir que todos a mi alrededor hacían lo mismo, los proyectos no tenían pruebas, la gerencia tomó todas las decisiones sobre cómo deberían implementarse las cosas y cuándo. Mi palabra como desarrollador no fue respetada ni un poco y ahora finalmente entiendo por qué.

Estoy bastante seguro de que no soy el único en la comunidad que ha hecho esto, he hablado con muchos desarrolladores a lo largo de los años para saber que esto no es extraño.

Desafortunadamente, estoy empezando a pensar que no tenemos una profesión. No tenemos un conjunto de reglas, un conjunto de prácticas comunes, una ética que todo desarrollador debe seguir para ser considerado un profesional. Tampoco tenemos una organización común que tome las medidas necesarias cuando un desarrollador se comporta en contra de nuestro conjunto común de estándares.

Las reglas

No estoy de acuerdo con todo lo que dice Tío Bob, pero sí estoy de acuerdo en que hasta que esto suceda, al menos deberíamos comenzar a comportarnos como profesionales. Aquí hay algunas reglas que ha señalado:

  • El código que produzco siempre será mi mejor trabajo. No permitiré a sabiendas que se acumule código defectuoso, ya sea en comportamiento o estructura.
  • Produciré, con cada lanzamiento, una prueba rápida, segura y repetible de que cada elemento del código funciona como debería.
  • Haré lanzamientos frecuentes y pequeños para no obstaculizar el progreso de los demás.
  • Mejoraré sin miedo y sin descanso mis creaciones en cada oportunidad. Nunca los degradaré.
  • Haré todo lo que pueda para mantener la productividad de mí mismo y de los demás lo más alta posible. No haré nada que disminuya esa productividad.
  • Me aseguraré continuamente de que otros puedan cubrirme y que yo pueda cubrirlos.
  • Produciré estimaciones que sean honestas tanto en magnitud como en precisión. No haré promesas sin certeza.
  • Nunca dejaré de aprender y mejorar mi oficio.

El verdadero profesional

Desde que esos problemas se volvieron claros para mí, me he estado comportando en contra de un conjunto más alto de estándares, he caído en la comunidad de Software Craftsmanship.

Cada pieza de código que produzco tiene un conjunto de pruebas adjuntas. Como el proyecto no tenía pruebas, comencé a hacer pruebas por mi cuenta y a mejorar el código, eventualmente, el equipo se unió y ahora tenemos una cobertura de código bastante buena.

Cuando escribo una bugfix no busco la solución fácil, primero encuentro la mejor implementación, a veces sucede que la mejor implementación no es viable debido a restricciones externas, pero esa decisión se toma mediante un análisis consciente, no por pereza.

Si alguien que no pertenece al equipo de desarrollo intenta imponerme una fecha límite, analizo si esa fecha límite es factible, si no es así, mantengo mi posición y digo que bajo esos requisitos esa fecha límite simplemente no es posible, entonces trato de encontrar un compromiso que pueda funcionar para ambas partes.

Durante mis horas de oficina, siempre trabajo. Es mi trabajo hacerlo, me pagan por hacerlo. Nada que discutir.

Aunque hay ciertas situaciones en las que tu empleador es responsable de pagarte para mejorar (si, por ejemplo, necesitas aprender cierta tecnología para poder implementarlo en la empresa), no dejo mi mejora general a mi empleador, yo estoy en control de mi carrera. Cuando voy a casa leo libros, escucho podcasts, programo otros paradigmas y lenguajes, es mi responsabilidad y también es muy divertido 😉


Debo decir que hasta ahora mi carrera ha mejorado mucho desde que cambié mi mentalidad, mis colegas y compañeros de trabajo me han reconocido, me he responsabilizado por mis triunfos pero también por mis errores. Ser profesional no es fácil, es mucho más fácil no tener ningún tipo de estándares para ti mismo, pero hacerlo de manera incorrecta tampoco tiene recompensa.

Espero que te haya gustado el artículo, avísame en los comentarios si has visto a otros o incluso a ti mismo comportarte así antes, ¿crees que me falta algo? házmelo saber en los comentarios.

Si te gusta esta publicación, compártela en las redes sociales 😀


Hola, soy Patricio Ferraggi Ares

Soy un developer autodidacta Argentino que actualmente vive y trabaja en Bélgica. Intento mejorar diariamente, mientras ayudo a otros a hacer lo mismo.


...

Más artículos

← Back to my blog