h1

Filosofía Pragmática

04/19/2008

Wizdoc [Icon By Buuf]

 Tips & Tricks

Leyendo el libro The Pragmatic Programmer: From Journeyman to Master me doy cuenta que es un libro de Tips & Tricks bastante iluminador. De hecho, por la importancia de la información que contiene, prefiero incluir algo de ésta en partes. Aquí presento la primera parte, denominada Filosofía Pragmática con tips más bien de vida y que complementé con algo de mi propia cosecha.

Filosofía Pragmática

  • Toma la responsabilidad sobre tu código. No inventes excusas: el sistema operativo / lenguaje / framework / servidor de aplicaciones SI funciona. Lo que NO funciona es tu código.
  • Provee soluciones. No llegues con tu jefe con un "no se puede". Un programador se supone que debe resolver problemas, no crearlos.
  • La Entropía es un término de física que se refiere a la cantidad de desorden en un sistema. De acuerdo a las leyes de la termodinámica, poco a poco la Entropía tiende a un máximo. Haciendo la analogía con el decaimiento urbano:
    En las grandes ciudades, algunas construcciones son bellas y limpias, mientras otras son chiqueros que se desmoronan. ¿Por que? Los investigadores en criminalística y decaimiento urbano descubrieron un mecanismo detonador fascinante, uno que convierte rápidamente un edificio habitado, limpio e intacto en un muladar abandonado y sucio:

    Una ventana rota.

    Una ventana rota, dejada sin reparar por un tiempo infunde en los habitantes del edificio un sentimiento de abandono – de que el dueño no se preocupa por el edificio. Así que otra ventana se rompe. La gente empieza a dejar basura. Aparecen graffitis. Comienza el deterioro estructural. En un tiempo relativamente corto el edificio queda más dañado de lo que el dueño está dispuesto a invertir, y el abandono se convierte en una realidad.

    Por ello, no vivas con una ventana rota. Si ves código batido, aplícale refactoring, acordónalo (mediante interfaces) y no dejes que infecte el resto del aplicativo. Lo peor que puede pasar es dejar que la Entropía le pegue duro al sistema porque éste se convertirá poco a poco en una Gran Bola de Lodo.

  • Un punto relacionado al anterior: la entropía no llega de golpe; ésta se deja venir poco a poco. Siempre es bueno revisar donde estamos y qué nos falta; si encontramos un pequeño bache siempre es mejor rellenarlo antes de que se vuelva una zanja. Y esto aplica tanto para los desarrolladores como para los project managers: Si nos estamos desviando cuando menos un poco del plan, conviene desde el principio avisarle al cliente, llamar a los programadores y redimensionar en el acto. No hay nada peor que llegar con el usuario el mero día y decirle "¿que crees? sé que hoy liberábamos pero… apenas llevamos el 60%".
  • Involucra a tu usuario: más vale un par de cachetadas en una fase temprana que un patín en los webers cuando todo ya está batido.
  • Citando a Benjamin Franklin: Una inversión en el conocimiento siempre deja los mejores rendimientos. Por ello, debes recordar: tus conocimientos expiran. Así como el dinero se pudre si es dejado en una cuenta sin intereses, tu conocimiento no sirve o pierde relevancia si no es actualizado:
    • Aprende un nuevo lenguaje o tecnología cuando menos una vez al año.
    • Lee un libro técnico cuando menos cada tres meses. Mejor aún, lee también libros no técnicos de vez en cuando.
    • Toma clases. Existen muchos cursos web que son gratis y no te toman arriba de dos horas en terminarlos pero te enseñan a cómo no meter las cuatro.
    • Participa en grupos de discusión. No hay nada mejor que tener varios puntos de vista sobre un tema.
    • Experimenta con diferentes ambientes: Ya hay Open Solaris; Linux siempre estuvo disponible. Si tienes miedo de madrear tu máquina compra una laptop usada en la Plaza de la Electrónica por 2,000.00 pesos.
    • Mantente actualizado. En el mundo de hoy todo expira muy rápido y parece que la tendencia va por ahí: el día de mañana si no sabes Flex 2, JPA, Ruby on Rails, JSF, Spring, Hibernate, u Oracle RAC estas fuera del juego.
    • Inscríbete a un RSS. Muchos grupos de noticias dan lo último en tecnología y noticias de la industria. Por ejemplo, aunque ya es noticia vieja, ¿Sabías que Sun adquirió MySQL?
    • Adquiere pensamiento crítico. Nada es la neta del planeta, y no existe la Bala de Plata. Como dijo Carl Sagan, La primera gran virtud del hombre fue la duda, y el primer gran defecto la fe.
  • Aprende a comunicarte. De nada sirve ser un master de masters si nadie te entiende:
    • Adapta tu vocabulario a tu audiencia: así como ROI y CHURN son algo extraño para un programador, SOA y RUP pueden ser terminajos ininteligibles para un usuario.
    • Escucha al usuario. En serio: la mitad de ellos no sabe lo que quiere, pero te están pagando por tu trabajo. Si a él no le gusta el resultado de lo que haces, estuviste perdiendo tu tiempo y su dinero.
    • Apréndete este término: Spellcheck. Es espantoso encontrar un correo en tu buzón y darte cuenta que el que lo redactó desconoce las reglas más simples de ortografía. Y peor aún si eso le llega a un director.
    • No uses el correo corporativo para enviar chistes, cadenas o imágenes chuscas. Si a algún baboso se le va el SEND con copia a ALL, estás frito.
    • Puede que suene esotérico, pero aprende un poco de Programación Neurolingüística. Básicamente debes aprender a controlar tus propias emociones y a descifrar las de los demás. De esa forma no sólo te conviertes en un mejor interlocutor, sino en alguien más Humano.

Bueno, por esta semana tengo esto. La próxima me meteré de lleno con los tips de programación que así como los estoy viendo, pueden salvarnos de batir nuestro proyecto.

One comment

  1. […] y hacen más con menos. Por ello, vale la pena leerse valiosos ejemplares como Beautiful Code o The Pragmatic Programmer y luego poner todo en práctica: en el mercado laboral actual, un “programador […]



Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: