Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=6d258ce8-9b5b-4dd5-b9b0-380c5e78e849

4 reglas para programar bien bajo presión

Imagen ornamental - ver créditos a pie de artículo

He decidido escribir este artículo tras escuchar una conversación sobre los problemas más comunes en los departamentos de programación. Tras varios años trabajando con programadores, en mi empresa hemos colgado por todas las paredes de la oficina unos letreros con el siguiente mensaje: "Underpromise and overdeliver" que viene a ser algo así como comprométete lo justo y luego haz más de lo que esperan de ti.

Según la definición de McGraw-Hill, "under promise and overdeliver" es una estrategia de prestación de servicios en la que los proveedores de los mismos se esfuerzan por ofrecer un excelente servicio y una gran satisfacción al cliente, haciendo más de lo que dicen que van a hacer por el cliente o superando las expectativas del mismo. Si trabajas en una empresa de programación, tu cliente es el jefe de desarrollo y tus demás superiores.

Por otro lado, en muchos sentidos, programar es casi como desactivar una bomba en un avión cuyo temporizador está en cuenta atrás llegando al segundo cero. Imagínate que hay un artillero que está intentando desactivar la bomba para salvar vidas, trabajando bajo muchísima tensión, pero con un plazo límite llega a su fin inexorablemente. La situación es de una presión muy intensa.

Si estás como pasajero en el avión ¿cómo te gustaría que se comportase el artillero? ¿Querrías que se mostrase tranquilo? ¿Preferirías que diera órdenes claras y precisas a las personas que lo apoyan? ¿Te gustaría que mostrase destreza y maña manipulando los cables?

O por el contrario, ¿prefieres que empiece a sudar y a gesticular histriónicamente? ¿Te gustaría que se desmoronara ante la presión y se dedicase a hacer cosas sin sentido? ¿Te inspiraría confianza un artillero así?

Un buen programador no se vuelve muy bueno simplemente por escribir un código impresionante, hay muchas más cosas. Un buen desarrollador se convierte en uno buenísimo porque se muestra tranquilo y resolutivo en situaciones de presión. A medida que aumenta la presión, se aísla del entorno, se ciñe a su formación y a sus competencias, sabiendo que son la mejor manera de cumplir con los plazos y los objetivos que se le exigen.

En resumen, hace y continúa haciendo lo que debe hacerse, independientemente de los plazos que se ciernen sobre él.

Pero esto es muy fácil de decir y no es tan fácil de hacer. En el día a día en la oficina surgen imprevistos, cambios de requerimientos, improvisaciones, etc. El reto consiste en mantenerse lo suficientemente tranquilo como para gestionar la presión del momento, de modo que se pueda tener éxito de cara a un plazo que asoma las zarpas peligrosamente.

A continuación se detallan algunas de las formas en que los buenos programadores manejan las situaciones de presión.

1.- No siempre cumplas con los compromisos que TÚ no hayas asumido

"Como programadores muchas veces pensamos que podemos con todo. Hacemos un análisis racional de lo que se nos pide, estimamos el tiempo que nos puede llevar y nos comprometemos en tenerlo listo para una fecha determinada" me comenta un veterano programador siempre que sale este tema.

"Lo que nunca tenemos en cuenta son otros factores, ajenos a nuestro trabajo y que tienen más que ver con tus compañeros programadores, si se trabaja en cascada, otros departamentos, tus superiores... Y ahí empiezan los problemas y los retrasos que en última instancia repercuten siempre en nosotros ya que somos el último eslabón en la cadena (o el primero según se mire)" explica.

Como programador, muchas veces solo puedes prometer cumplir las tareas que tú hayas asumido, pero no es bueno desvivirse por los compromisos asumidos por terceros y sobre los que no has sido jamás consultado. Eso es responsabilidad de la empresa y una lección que tienes que estar dispuesto a dar siempre y cuando cumplas con tu parte.

Es muy importante que la empresa entienda la diferencia entre los compromisos adquiridos por ti y aquellos que han adquirido en tu nombre.

Un profesional siempre ayudará a la empresa a encontrar la manera de alcanzar sus objetivos. Sin embargo, un buen profesional no tiene por qué aceptar todos los compromisos asumidos por la empresa. Al final, si no podemos encontrar la manera de cumplir las expectativas que la empresa generaba, entonces las personas que las generaron deben asumir la responsabilidad.

Evidentemente, no es fácil. La presión se propaga a todo el mundo cuando no se cumplen los compromisos. Pero al menos si te has comportado profesionalmente puedes mantener la cabeza bien alta y mantenerte firme. A la larga es lo mejor para ti, para tu empresa y para los clientes.

Finalmente decir que si tu empresa no entiende tu forma de proceder, lo mejor quizás es que busques trabajo en otro sitio puesto que esa política aboca a la quiebra empresarial tarde o temprano, y no merece la pena estar a disgusto en proyectos que no son sostenibles si eres un trabajador por cuenta ajena.

Foto por Christian Erfurt en Unsplash, CC0

2.- Nunca tomes atajos

Para ser un buen programador en momentos de mucha presión lo mejor que puedes hacer es programar como si no pasara nada. Es decir, no hacer nada distinto a cuando se programa en tiempos de tranquilidad.

A los buenos programadores se les identifica en los momentos de crisis. Si cambias notablemente tu forma de trabajar cuando hay mucha presión puede ser una mala señal. Por ejemplo, si en momentos normales haces desarrollo guiado por pruebas y lo abandonas cuando el tiempo apremia, entonces es que tampoco confías mucho en esa práctica.

Si mantienes tu código limpio y ordenado en épocas de normalidad, y cuando vienen mal dadas lo empiezas a descuidar y dejas todo hecho un desaguisado será porque no te ayuda en nada ni te ralentiza lo más mínimo mantenerlo limpio y ordenado ¿no?

Lo importante aquí es no descuidar los detalles. Nunca escatimes en hacer ese esfuerzo extra, esos pocos minutos adicionales, esa dedicación al máximo que puedes hacer. No importa lo que piensen los demás, pero sí es de suma importancia lo que pienses de ti y de tu trabajo. Hay que tener en cuenta que los atajos te van a perseguir, y tarde o temprano se vuelven en tu contra.

Los programadores experimentados nunca siguen el camino más fácil ni producen un código engorroso con el fin avanzar rápidamente. Hacen el trabajo lo mejor que pueden y entregan un código lo más limpio posible, aislándose del entorno y de los agobios.

3.- Comparte información constantemente

Se trata de compartir información clara y precisa, y con honestidad. Las personas que trabajan contigo en la empresa son merecedoras de conocer los hechos, de conocer la realidad de las cosas. No intentes contarles la mitad de la historia. No intentes tapar la realidad.

Comunicación. Se trata de honestidad. Se trata de tratar a la gente de la organización como merecedora de conocer los hechos. No intentes darles la mitad de la historia. No intentes ocultar la historia.

Si tienes alguna información importante para compartir con tu jefe, tus compañeros, tus proveedores, incluso si no son buenas noticias, no te demores. Si aplazas el momento de dar información útil hasta que ya sea demasiado tarde para actuar, entonces tus mensajes nunca serán bien recibidos, tanto si son cosas buenas o cosas malas porque te habrás creado una reputación que luego es muy difícil de limpiar.

En casi todos los escenarios imaginables, es conveniente una comunicación lo más rápida posible, permitiendo que todos los involucrados entiendan y digieran la información, y que formulen una reacción apropiada y respondan en consecuencia. Si se trata de malas noticias, una alerta temprana puede permitir elaborar un plan para intentar minimizar el daño.

Por encima de todo, mantén la profesionalidad, la educación, la franqueza y la claridad, características que harán que tu comunicación vaya en la dirección adecuada a lo largo del tiempo que estés en tu lugar de trabajo y con una reputación respetable.

4.- Aprende a pedir ayuda cuando las cosas se ponen feas

Foto por Jon Tyson en Unsplash, CC0

Búscate un socio, un cómplice dentro del equipo, que esté dispuesto a echarte una mano en momentos de dificultad, y haz lo mismo tú con él. Aplica el principio de "hoy por ti, mañana por mí".

La programación a pares os ayudará a hacer las cosas en menos tiempo y con menos errores, y es una motivación añadida, ya que el simple hecho de comprometerte a colaborar te ayudará a centrarte en las tareas y a no perder el tiempo.

La programación a pares implica tener a otra persona viendo lo que haces todo el tiempo. Programando así las personas son menos propensas a distraerse por las interrupciones (por ejemplo, revisar el correo electrónico, divagar y procrastinar en tareas no relacionadas, o a mirar fijamente a la pantalla sin hacer nada). Incluso se pueden eliminar las tareas secundarias relacionadas. La persona en el teclado puede concentrarse en simplemente golpear el código, mientras que el compañero puede preocuparse por la legibilidad, la estabilidad, la robustez y otras cuestiones de globales relacionadas con el código. El hecho de trabajar con una pareja proporciona una presión positiva para mantenerse en la tarea y no perder foco.

Lo normal es que el proceso de adaptación de programar solo a programar en parejas no sea un camino de rosas. Es como cuando bebes cerveza o café por primera vez, no te gusta porque no estás acostumbrado a esos sabores tan característicos, pero a medida que bebes más, te termina gustando.

El desarrollo en equipo además crea una cultura de colaboración y reconocimiento. La próxima vez que veas a alguien que se encuentre bajo presión, ofrécete a formar pareja, y muéstrales el camino para salir adelante.

Nota: imagen de cabecera "Pressure meter" por alex.ch con licencia CC BY-SA 2.0.

Fecha de publicación:
Manuel A. Lores Manuel A. Lores González es licenciado en Derecho, especializado en la modalidad económico-empresarial. Tiene mucha experiencia como formador de trabajadores en activo y también como técnico de marketing en empresas del sector del software. En los últimos años además se ha especializado en la creación de contenidos para diversas publicaciones online. Ver todos los posts de Manuel A. Lores
Archivado en: DevFacts

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Comentarios (3) -

Se nota demasiado que el artículo no está hecho por alguien que hace desarrollo de software.

Responder

campusMVP
campusMVP

Hola Alex:

Bueno, Manuel ya dice siempre que él no es programador, pero sí tiene mucha experiencia trabajando con ellos y ya sabes que muchas veces las cosas se ven mejor desde fuera que estando demasiado implicado. Quizá nos puedas argumentar un poco lo que comentas: ¿no estás de acuerdo con algo en concreto? ¿Por qué? ¿Cuál es tu contra-opinión al respecto?

Saludos.

Responder

Marcelo Villarreal
Marcelo Villarreal

Vuelvo a comentar... y recién me di cuenta y estoy sorprendido que el autor de estos artículos no es del área.. sin embargo veo la versatilidad y conocimiento sobre lo que escribe... además de tener facilidad de expresión literaria sobre temas técnicos. que muchos que nos dedicamos a esto durante décadas no hemos desarrollado... Ahora sobre el artículo... y en base a la experiencia... comentaría.. que un factor que nos caracteriza a los desarrolladores es que cuando nos vemos enfrascados en resolver algo en especifico a veces no medimos el tiempo que nos lleva tal acción y puede retrasarnos en la entrega del proyecto en general y aumentando más la presión.. en mi caso si algo no funciona inmediatamente le doy un tiempo a la resolución caso contrario cambiar el proceso, rutina o procedimiento en otras palabras repensar.

Un saludo

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.