Mucha gente me tilda de exagerado cuando les digo que me preocupa de qué hablamos los jóvenes que rondamos la treintena hoy día. ¿Acaso no es un reflejo de nuestros pensamientos?. ¿No se trata realmente de algo trascendente y no sólo de pura anécdota?.
Me cuentan que en otros tiempos se hablaba de los derechos, la libertad, las ideas, la ilusión y el futuro. Quizá fue así realmente o quizá no, pero desde luego quedan muy lejos de los temas que preocupan a los jóvenes ahora mismo. Es lógico, los tiempos cambian pero... ¿qué nos queda ahora?.
Lo económico
¿Siempre ha sido un tema tan importante o realmente todo se ha mercantilizado en exceso?. Me explico. Lo que antes constituía el ámbito privado de las personas y carecía de excesiva importancia o pasaba a un segundo plano entre las amistades ahora se ha convertido en el tema de conversación número uno. ¿O realmente el tema económico es inherente al mundo adulto?. Me preocupa que en cuanto alguien menciona un cambio en su vida, la mayoría como tema de conversación sin más y para informar a gente que le importa, comienzan la extracción de información y las comparaciones (ver el artículo "La amistad").
Pongamos por ejemplo el trabajo. Si has cambiado de empleo sólo ha de ser por lo económico o por el ansiado funcionariado, una especie de lotería o jubilación anticipada a la que todo español aspira independientemente de la ocupación de la plaza. No tardará en surgir la gran pregunta. En ocasiones de una manera tan descarada como "¿cuánto te pagan?", algo que ha pasado de ser tabú a trivializarse hasta el ridículo. Una pregunta siempre incómoda pero más aún cuando para ti carece de toda importancia la posición económica de tus compañeros y tus amistades y no entiendes por qué le conceden tanta importancia.
Tras responder a la gran pregunta, ocurrirán dos cosas instantáneamente.
En primer lugar compararán su "posición" con la tuya desde varios puntos de vista, primando el económico. Si ellos quedan en mejor situación te darán la enhorabuena con una sonrisa y te dirán "ah pues estupendo, ¿no?" y sentirán una sensación de alivio interior, como pensando "pobrecito". En cambio, si la situación es inversa, la cosa no puede ir tan bien. La reacción puede llegar a ser desde sentirse infravalorado hasta la más insana de las envidias o sensación de injusticia.
Lo segundo que ocurrirá es que, si se trata de algo a lo que las amistades también pueden aspirar y les interesa (alguna plaza por concurso, oposición, beca, trabajo a tiempo parcial, etc...), comenzará un cuestionario más exhaustivo, para obtener información de los detalles. Y no te sorprendas si en cuatro días están compitiendo contigo o incluso te han quitado el puesto, aunque sea algo tangencial a su ocupación anterior o por lo que jamás habían mostrado interés. Lo más gracioso de todo es que, si alguna vez sale el tema, defenderán que la idea ha sido suya desde siempre y tú no has tenido nada que ver. Sencillamente, habrán pasado a creérselo de verdad y te tildarán a ti de envidioso.
Lo que había sido una inocente charla inicial a compartir con los amigos, en la que esperabas compartir ilusiones, hablar de las tareas de tu nuevo trabajo, de los compañeros, de tu grado de satisfacción, etc... se convierte en una comparativa totalmente material que posteriormente pasa a ser competición. Lo mismo ocurre con tantas otras cosas: la casa, los viajes o cualquier otra cosa material, en las que inmediatamente se pregunta por el precio y se pasa a una especie de competitividad absurda que no lleva a ninguna parte.
¿Por qué nos preguntamos constantemente por nuestros sueldos, el precio del alquiler o compra de nuestras casas, de lo último que nos hemos comprado?. ¿Cómo ha pasado el tema económico (trabajo, casa, viajes...) a ser uno de los temas de conversación fundamentales entre los jóvenes?.
Me preocupa que haya tan poca gente que siga manteniendo algún tipo de hobby con entusiasmo tras la adolescencia o se aficione a alguno nuevo. ¿Cuántos amigos siguen conservando su pasión por tocar un instrumento, hacer fotografías, escribir, hacer obras de teatro, bailar...?. ¿Cuántos están interesados por la historia, la geografía, la filosofía o el arte?. ¿O simplemente por la agricultura o la jardinería?. Y, si los hay, ¿por qué no hablamos de estos temas y nos interesamos más por ellos?. ¿Por qué han perdido toda importancia y han quedado eclipsados por lo económico y material?.
Me preocupa que muchos jóvenes ya no se ocupen de sí mismos, guiándose según su intuición y preferencias, sino que midan su grado de bienestar y hagan su camino a base de compararse con los demás. No sé si responde a una sociedad donde todo se ha materializado, a que realmente los jóvenes estamos pasando por unas dificultades que antes eran mucho menores (básicamente la vivienda y el mercado de trabajo) , a una exageración del problema en los medios de comunicación o a una mezcla de todo.
Pero el caso es que lo económico ha pasado a ser, desgraciadamente, uno de los temas estrella en las conversaciones de la gente que ronda la treintena. Y, lo peor, en algunos casos fuente de rivalidad y disputas.
11 August 2008
¿De qué hablamos los jóvenes? - Lo económico
07 August 2008
Cómo ser un poco más libre: los favores
Cómo ser libre
Recientemente he leído el libro "Cómo ser libre" de Tom Hodgkingson gracias a los diversos posts hablando sobre él en el blog de "Equilibrio y progreso". Un libro que, de manera un tanto absurda, encontré en la sección "Humour" de una librería inglesa, creyendo que semejante perla no estaría traducida al castellano.
Poco después de leerlo entero descubrí que sí lo estaba. A los sibaritas, puristas o con mucho tiempo y ganas os animo a intentarlo con la versión original, pero al que sólo le interese el contenido y las ideas le recomiendo encarecidamente leerlo en castellano aunque sepa mucho inglés. Es un libro duro, tiene muchos juegos de palabras, chistes y particularidades de Reino Unido que hacen que uno se desvíe del tema central, lo lea con demasiada lentitud o se pierda parte del contenido.
El estilo del libro -ameno y desenfadado- así como la divertida portada (más en su versión inglesa) pueden llevar a pensar que, efectivamente, se trata de un libro-payasada de aquellos que nos regalan nuestros familiares cuando no saben qué comprarnos, estilo Ramón Arangüena, Javier Coronas y similares.
Pero nada más lejos de la realidad. Humor en las formas, escalofriante seriedad en el fondo. Nos encontramos ante los sensatos consejos de alguien que se dio cuenta de que la vida moderna es absurda y nos hace ser esclavos en pleno siglo XXI. Esclavos de nuestro trabajo, del consumo, de los bancos, del Estado y del miedo. Nos lo cuenta un exitoso consultor que decidió hacer un downshifting radical, esto es, volver a una vida más simple y real.
En el libro nos explica cuáles son, desde su punto de vista, los factores que nos restan libertad y qué podemos hacer para amortiguarlos, con el paradigma de la vida en la Edad Media como telón de fondo. Con sus aciertos y desaciertos -provocativos siempre- y con el grado de radicalidad con el que lo quiera interpretar cada uno, todo lo que dice es realmente aprovechable y, sobre todo, entretenido.
No desvelaré mucho más sobre él. Está disponible en PDF el índice, la introducción y el primer capítulo, así que lo mejor es consultarlo y comprobar si es de nuestro interés.
Cómo ser un poco más libre
Tras leer el libro y, relacionado con estos temas, el estupendo post "Algunas ideas claras", he echado en falta algo relativo a la libertad que, si se trata, se hace sólo tangencialmente. Se trata de uno de los mayores lastres ocultos en nuestras relaciones: los favores.
Quien no haya descubierto todavía el motor que nos impulsa a la mayoría de los que vivimos en la sociedad occidental actual, lo descubrirá pronto: el egoísmo. Un concepto con el que seríamos capaces de llenar libros enteros pero que únicamente citaremos aquí a modo de relación (fundamental) con el tema de los favores.
Quien aspire a la libertad, como titula el libro, no puede aceptar determinados favores, incluso aunque no los haya pedido. O, si lo hace, debe ser muy consciente de quién es el que hace el favor, por qué, y qué es lo que puede estar esperando a cambio si lo acepta.
Eso de "esperar a cambio" suena muy ruin. ¿Los favores sólo se hacen a cambio de otro favor?. La respuesta es, efectivamente, sí.
El quid de la cuestión en este trueque es que el favor a cambio no tiene por qué ser material y suele ser muy difícil de identificar cuando el favor cobra cierta entidad. Eso y no otra cosa es lo que lo hace peligroso porque no podemos estar en la mente de la persona que otorga el favor. Lo que a nosotros nos puede parecer desmesurado a la otra parte le puede parecer justo y viceversa.
Generalmente los aceptamos inconscientemente o, en muchos casos, por pura comodidad o seguridad. Como se habla en el libro, casi todo lo que proporciona comodidad y seguridad resta libertad. Somos nosotros los que debemos determinar hasta qué punto queremos mantener el compromiso entre ambas.
¿Casos?. Del más tontorrón al más grave, todos conocemos los casos más prototípicos. Veamos algunos ejemplos:
- Un amigo te regala X o te consigue Y. Muy habitual entre amigos o en la etapa de ligoteo, suele indicar un interés y suele hacerse a cambio de compañía o una cita. Es necesario aprender a distinguir cuándo una serie de favores de este tipo es sana de cuándo se está esperando a cambio una relación y cortar el asunto en el momento apropiado.
- Entras enchufado en un empleo. España, qué gran país. ¿Para qué utilizar tus dotes y cualificación si tienes un amigo o un familiar que te puede colocar?. Tu esfuerzo ha sido nulo, pero lo pagarás. Tus compañeros no-enchufados siempre estarán resentidos hacia ti, aunque en algunos lugares esto puede no resultar un problema porque no existen: todos entran enchufados. Aun así siempre le deberás el trabajo a tu jefe y considerará traición si no haces lo que él espera, no digamos ya si te marchas.
- Un familiar te presta dinero para comprarte una casa. No te sorprendas si comienza a entrometerse. Desde dónde debería estar y cómo debería ser la casa, hasta la decoración y los interiores. No hablemos ya de si te la regala. Espera una supervisión constante de tu vida y, si te descuidas, hasta que marque la pauta de tu reproducción y eduque a tus hijos. ¿Comodidad y seguridad?. Toda. ¿Libertad?. Olvídate. Sepárate o desvíate del camino marcado y verás. Ya no será cosa de dos, será cosa de cuatro, seis o más. Diversión asegurada.
Sólo de aquellas personas más cercanas e incondicionales a nosotros deberíamos aceptarlos y, aun así, deberíamos ser cautos. ¿Por qué?. Porque cada favor tomado restringe nuestra libertad y nos proporciona unas ataduras que quizá no queramos tener. Y también porque sólo cuando toca devolver el favor o llega el momento de los reproches es cuando realmente conocemos a las personas. Y, para entonces, puede que descubramos que alguién no es en absoluto como pensábamos y nos llevemos la mayor decepción del mundo.
Comprobar que alguien no era amable, encantador o desprendido con nosotros de manera espontánea y natural sino egoísta y premeditada, cambiando su actitud de repente es muy duro.
¿Hemos perdido toda la fe en el ser humano y su bondad?. No, pero debemos ser más selectivos, más inteligentes para tratar de ser más libres.
Hay mucha gente incondicional, buena y desprendida. Generalmente se la reconoce porque es sincera, humilde y se le nota que lo hace por amor y de corazón. No hace teatro. No esperan que seas ni hagas lo que ellos quieren o, si lo hacen, aceptan tus cambios con resignación y te siguen aceptando. Acércate a estas personas pero no abuses de ellas e intenta ser ecuánime con los favores dados y recibidos.
También hay gente mala, ruin, manipuladora y tremendamente egoísta para con sus intereses. Generalmente se las dan de desprendidos, abiertos, simpáticos e interesantes. Son puro teatro. Basta que emplees sus aparentes favores en algo que no vaya directamente enfilado con sus intereses para que pasen a cobrárselos o echártelos en cara. Es muy posible que incluso olviden toda tu relación pasada contigo y te tilden de egoísta. No sólo eso, puede que pases a ser su mayor enemigo. Es fundamental detectar a esta gente lo antes posible y alejarse de ella como de la peste. Si lo descubres demasiado tarde, es igual. Aléjate igualmente sin ningún tipo de remordimiento porque lo que te hicieron no eran favores, eran contratos en blanco para manipularte.
Ya vemos que los favores pueden salir muy caros, así que hay que andarse con cuidado. Aceptar favores, especialmente algunos muy suculentos, puede proporcionar comodidad y seguridad, pero espera a cambio una reducción importante en tu libertad. Si es lo que quieres, adelante, pero al menos sé consciente y consecuente con ello. Que no te pille demasiado tarde.
25 July 2008
La amistad
Cuando nos decían de pequeños aquello de que "los amigos se pueden contar con los dedos de una mano", nos negábamos a creerlo. ¿Cómo era posible que los adultos estuvieran tan equivocados?. Nuestra vida siempre había girado en torno a los amigos.
Nosotros, y mucho menos nuestros amigos, jamás seríamos como ellos. Una panda de amargados carentes de toda ilusión y esperanza, aislados en sus trágicas familias y sus herméticos pisos.
El apogeo
Con nuestros amigos dimos los primeros pasos en facetas fundamentales de la vida: superamos miedos, forjamos el sentimiento de grupo, descubrimos la confianza mutua, encontramos el primer amor. Estudiamos juntos, jugamos en el mismo equipo y tocamos en la misma banda. Merendamos en sus casas y ellos en la nuestra, corrimos por los mismos parques y competimos por los mismos objetivos -los deportes, las notas o incluso las chicas- generalmente de manera sana.
¿Quién se imaginaba un verano en la niñez o adolescencia sin amigos?. Junto con la familia -en muchos casos por encima de ella- siempre fueron nuestra referencia con quien hablar, escuchar y compartir. Un pilar fundamental en las relaciones personales.
Algunas amistades iban y venían, pero siempre permanecía algo. Bien las mismas personas en el mejor de los casos, lo que siempre hemos llamado "buenos amigos", bien en su forma "conceptual" -diferentes personas que ejercían el papel de "buenos amigos" a lo largo del tiempo por diferentes circunstancias-.
Una persona sin amigos era una persona rara y preocupante. Generalmente se trataba de alguien atrapado y sobreprotegido por su familia, sin unas mínimas dotes sociales o con algún tipo de problema que jamás se osaba preguntar y del que nos compadecíamos -"pobre chaval, no tiene amigos", decíamos-.
Aun así, niños y adolescentes conseguíamos mantenernos juntos. Sabíamos tratar con el abusón que nos maltrataba, con el feo del que se reían las chicas, con el gordo del que nos reíamos nosotros, con el retrasado, con el acusica y con el traidor. Algunos no nos caían bien, a algunos incluso los odiábamos. Otros, sin embargo, eran incondicionales.
Eramos crueles y despiadados, atroces, pero sabíamos convivir e intentábamos resolver nuestros problemas. Chivándonos, pegándonos o dejándolos pasar.
Todos sabían quiénes eran nuestros amigos. Y quiénes nuestros enemigos.
La transformación
Con el paso de los años dejamos atrás los estudios y comenzamos a trabajar, a salir con nuestra pareja. A buscarnos un trabajo, un hogar y un futuro. De vez en cuando echábamos un vistazo otra vez hacia los adultos para alarmarnos al ver al rápido ritmo al que nos acercábamos a ellos y su fatídico presagio. ¿Cuánto tiempo o afecto dedicábamos a cultivar las amistades de una forma sincera y desinteresada?. ¿Cómo respondían nuestras amistades a esos afectos?. Cinco dedos eran muy pocos. Nosotros teníamos las dos manos y los dos pies.
Los amigos fueron quedando relegados no ya a un segundo sino a un tercer plano a partir de cierto punto. Todo parecía ser más importante: nuestra pareja, nuestro trabajo, nuestra casa... ¡hasta esa familia a la que jamás hubiéramos puesto por delante de los amigos en determinadas circunstancias!. ¿Qué era eso de cuidar a los amigos?. ¿Acaso no sabían cuidarse solos?.
Nosotros ya teníamos suficientes cosas que hacer. Y por eso las compartíamos con ellos cuando nos juntábamos. ¿Acaso había algo más importante que nuestro trabajo, nuestra casa, nuestro estatus y, sobre todo, nuestra flamante e incondicional pareja?. Nos sentíamos orgullosos y ellos también. Sólo hablábamos del precio de nuestras casas, de lo barato que compramos, de nuestros viajes, de nuestro brillante presente y futuro.
De repente, esa competencia que había sido puntual y sana, pero claramente patente hacía años, comenzó a dejar de ser patente, pero también sana y puntual. La escondíamos tras sonrisas y una falsa sensación de comprensión y afecto, pero cada vez era mayor. Algo se respiraba en el ambiente y se estaba transformando. ¿Qué nombre ponerle?. ¿Insatisfacción?. ¿Desilusión?. ¿Envidia?. El mundo de los adultos comenzaba a apestar a ese aroma en transformación.
Nuestro, nuestro y nuestro. Tenía que quedar claro. Por eso no invitábamos a la gente a nuestras casas para no compartir nuestras económicas compras. Si antes no concebíamos unas vacaciones de verano sin amigos, ahora pasamos a no concebirlas con ellos, pero sin embargo ansiabamos contarles la estupenda experiencia y enseñarles las fotos. Por supuesto ni se nos pasaba por la cabeza compartir nuestro presente y futuro, a menos que fuera más brillante que el de ellos y siempre desde cierta distancia.
Unos nos enfrentábamos a esa amarga sensación agrandándonos, exagerando nuestra condición para demostrarnos "mejores", para demostrar nuestra superioridad y buscar el lado bueno de nuestra vida, para demostrarnos que todo no sólo nos iba bien, sino mejor que a los demás. No parábamos de hablar y no escuchábamos a nuestros amigos.
Otros, astutos y traicioneros escuchábamos desde la penumbra y nos apropiábamos de toda la valiosa información que salía de la boca de nuestros amigos tras una apartente actitud inocente y despistada. No parábamos de escuchar pero no hablábamos a nuestros amigos.
Nuestra red de amistades se fue trasformando. Pero todavía nos quedaban las dos manos para contarlos.
El declive
Poco a poco nos dimos cuenta de lo que habían pasado a ser nuestros amigos: un objeto de consumo más, claramente marcado por nuestro propio egoísmo. Un objeto del que cada vez conocíamos mejor la fachada, repintada y brillante cada año pero del que desconocíamos el interior. Quizá las vigas estaban agusanadas.
Ahora llamábamos a nuestros amigos cuando nos aburríamos, cuando los necesitábamos. Cuando no teníamos con quién realizar una actividad en la que nos habíamos quedado solos. Cuando algo iba mal en nuestra pareja o cuando nos habíamos quedado solteros. Cuando teníamos problemas. Cuando nuestras excitantes y nuevas amistades se desvanecían de repente tras el periodo de apogeo que cada vez duraba menos. Cuando necesitabamos cubrir nuestro cupo de relaciones sociales.
Es más, en algunos casos habíamos estado años sin ofrecer, sin compartir, dando largas y siendo termendamente egoístas. En ocasiones incluso nos habíamos aprovechado, siempre desde la penumbra y con la más falsa de las sonrisas o indiferencias. Hablábamos de lo bonito de la amistad y del compartir y nos quejábamos de cuando nuestros amigos no lo hacían. Nosotros les hicimos feo tras feo, amistoso, social y económico, pero nos creímos con derecho a exigir cada vez más y más. Pero en realidad jamás compartimos nada.
Nos consolamos culpando a nuestra situación económica, a nuestras ineludibles reuniones familiares, a nuestras tareas domésticas, a nuestra posesiva pareja, a nuestro absorbente trabajo y a la sociedad de consumo. Sólo para no reconocer que en realidad siempre lo elegimos nosotros.
Ya no aparentábamos ser crueles y despiadados ni atroces, pero sin embargo no sabíamos convivir ni intentábamos resolver nuestros problemas. Ya no conseguíamos mantenernos juntos. Nos acordamos del chaval del que nos compadecíamos de pequeños porque no tenía amigos. ¿Qué diablos había pasado?.
Nos habíamos convertido en adultos. Una panda de amargados carentes de toda ilusión y esperanza, aislados en nuestras trágicas familias y nuestros herméticos pisos. Ya no sabíamos quiénes eran nuestros amigos. Ni quiénes nuestros enemigos. Y un escalofrío recorrió nuestro cuerpo.
Desde luego, si teníamos amigos, era seguro que se podían contar con los dedos de una mano. Y creímos que era un mensaje que debíamos transmitir.
15 July 2008
AJAX y PHP - Construyendo Aplicaciones Web Interactivas
Packt Publishing es una joven editorial inglesa volcada por completo en ampliar la documentación en cantidad y, sobre todo, en calidad de un amplio abanico de soluciones de software libre. Bajo su lema Community Experience Distilled, Packt Publishing nos ofrece en sus libros precisamente eso: títulos escritos por gente activa en diversas comunidades de software que condensan lo más interesante y práctico de cada materia.
En estos momentos acaba de publicar la versión en español de uno de sus libros más vendidos en el mercado anglosajón bajo el título "AJAX y PHP - Construyendo Aplicaciones Web Interactivas".
AJAX han sido las siglas más de moda en estos últimos años en el mundo del desarrollo web pero... ¿sabemos realmente qué significa?. ¿Cómo surgió?. ¿Realmente hacía falta?. ¿Ha supuesto realmente una revolución o ha sido otra moda más?. Con estas provocadoras preguntas comienza el primer capítulo de un libro que promete ser ameno desde sus inicios.
El segundo capítulo también nos lleva a la reflexión y al conocimiento de técnicas de amplio uso en la web que contribuyen a tapar esos agujeros sueltos que nos suelen quedar en las pequeñas tareas de siempre: JavaScript avanzado en los navegadores, DOM, CSS, XML y el objeto XMLHttpRequest. Y, muy importante, las diferencias y sutilezas de estas tecnologías al enfrentarse a los diversos navegadores de actualidad (Firefox, Opera, Internet Explorer...).
El tercer capítulo se centra en la parte técnica ya de manera más práctica construyendo un pequeño framework para la realización de peticiones asíncronas y aplicación práctica de PHP y DOM, bases de datos (MySQL) y recomendaciones generales de cara al código.
A pesar de lo que parece con estos primeros capítulos, no deja de ser un libro práctico para todos los públicos. Con la información técnica básica separada en los apéndices acerca de la preparación del entorno (instalación de PHP, Apache, MySQL...) bajo Windows y las diversas variantes de Unix que será de gran utilidad para el neófito, es un libro que se disfruta a todos los niveles.
El resto de los capítulos se dedica, uno a uno, a transmitir los conceptos fundamentales para dominar este conjunto de tecnologías de una manera amena que realmente engancha. En cada capítulo se construye una aplicación web diferente de la mano de los autores y acompañada de una explicación detallada:
- Validación de formularios
- Chat basado en AJAX (con XML y con JSON)
- Sugerir y autocompletar
- Gráficas en tiempo real con AJAX y SVG
- Presentación de datos en grid con AJAX
- Lector RSS
- Arrastrar y soltar con la biblioteca script.aculo.us
El libro sale como primera recomendación en Amazon para el tema "ajax php", con una puntuación de 4,5 estrellas sobre 5 de casi una treintena de compradores, por encima de otros títulos y colecciones más conocidas sobre el tema.
Hay información en detalle sobre el libro (en inglés) en:
- El microsite oficial del libro
- La web de uno de los autores
- Una crítica particular
- Otra crítica particular
Packt Publishing cuida mucho de los detalles y he tenido el placer de ser el traductor de este libro, poniendo todo mi empeño en que esta edición, completamente revisada y adaptada al castellano, merezca la pena incluso para aquellos que saben inglés a la perfección. Espero que lo disfrutéis y no dudéis en poneros en contacto conmigo o directamente con la editorial para cualquier asunto relacionado con el libro.
09 June 2008
¿Te llaman y cuelgan?. Puede NO ser una equivocación.
Hace un tiempo que bastante gente se queja de que recibe llamadas con características peculiares:
- Son de teléfonos "extraños". Parecen del extranjero, de centralita, de otra comunidad autónoma y un número que no reconoces...
- Poseen algún patrón temporal: todos los días a una hora similar, te llaman varias veces seguidas, varios días a la misma hora, varias semanas...
- Te llaman, se oye un extraño silencio y en cuanto contestas, cuelgan. Es más, cuando te ha pasado varias veces seguidas te callas, esperas varios segundos a ver si escuchas algo pero no cuelgan. Sólo lo hacen si contestas (o si esperas demasiado tiempo sin contestar).
En absoluto. Con gran probabilidad estás siendo víctima de las tecnologías empleadas por los call centers destinadas -cómo no podía ser de otra forma- a aumentar la productividad del negocio para encuestarte o venderte algo.
Asentadas y tradicionales en otros países, a la que ya están más que acostumbrados y donde ya existen organismos que intentan frenarlas o limitarlas, estas técnicas de los call centers son relativamente nuevas en el nuestro y están empezando a extenderse hasta resultar molestas. Qué pena que siempre importemos rápidamente los usos más lucrativos de la tecnología a costa de lo que sea. Pero centrémonos, ¿a qué se deben estas llamadas "extrañas" exactamente?.
Lejos quedan los tiempos en que un teleoperador se dedicaba a llamar a un listado de números de teléfono para encuestar o vender algo. Se sabe que sólo un 25-35% de las llamadas son respondidas por una persona (puede no haber nadie en casa, estar comunicando, ser un fax, etc...) y es una tarea desagradable y repetitiva, por lo que se presta muy bien a la automatización. ¿Por qué no lo hace un aparato o un programa?. Rapidamente apareció lo que se denomina un marcador predictivo, aunque no resulta tan predictivo como muchos esperarían.
El marcador predictivo es un aparato (más generalmente un software) que se dedica a llamar a un listado de números de manera más o menos inteligente. Su objetivo fundamental es proporcionar un flujo de llamadas constante a los teleoperadores para que no estén ociosos ni un segundo. Es decir, el aparato llama por ellos y luego les pasa las llamadas. Como es tan "inteligente", es capaz de discriminar el tipo de llamada por la respuesta: sabe si no hay nadie en casa, si está comunicando, si detrás de ese número hay un fax o un módem, si hay un contestador, o lo, más interesante, si ha respondido una persona, que son las únicas llamadas que pasa a los teleoperadores, maximizando así la productividad.
Ésta es la teoría y hasta aquí no parece haber excesivos problemas, puesto que al fin y al cabo no se diferencia en nada de una llamada tradicional desde el punto de vista del usuario. Si son capaces de discriminar llamadas, mejor para ellos. Si estás en casa te molestan una vez y ya está, pero ¿qué tiene que ver con que te estén llamando y colgando durante varios días?. ¿O por qué te cuelgan en cuanto abres la boca?. La explicación está en el propio funcionamiento del aparato.
Si decimos que sólo el 25-35% de las llamadas son respondidas por una persona y hay que proporcionar un flujo constante a los teleoperadores, es obvio que el aparato debe realizar muchísimas llamadas para obtener buenas candidatas. Se le denomina predictivo porque se basa en estadísticas (número de teléfonos esperados contestados por una persona, tiempo medio de conversación del operador, etc...) para ir realizando llamadas continuamente y en número "adecuado". Si se hacen pocas llamadas puede haber operadores ociosos y eso no gusta a las empresas. Pero, ¿qué ocurre si hacen demasiadas, es decir, si los "sofisticados algoritmos" de los marcadores predictivos (como algunos fabricantes anuncian) no son tan predictivos?.
Surge el problema que más molesta al usuario: las denominadas llamadas silenciosas. Estas llamadas son aquellas llamadas candidatas que en el momento de ser transferidas al teleoperador son canceladas porque en ese momento están todos ocupados.
En primer lugar uno se enfrenta al molesto silencio de la detección de voz humana (o de detección de contestador, según se mire), donde el programa espera a que respondas antes de dar la llamada como válida. Si has sufrido la desgracia de que te llamen varias veces seguidas y hecho la prueba de no contestar porque estabas harto comprobarás que la llamada permanece "a la escucha" hasta que dices algo. Lo normal sería que en este momento la llamada fuera transferida a un operador y tú no te dieras "demasiada cuenta" (aunque el retraso y a veces los tonos de llamada son claramente perceptibles). Pero con las llamadas silenciosas el aparato finaliza la conexión porque no hay teleoperadores disponibles, lo que el usuario percibe como que le cuelgan en las narices en cuanto abre la boca.
Tu número, además, permanecerá entre los candidatos a ser llamados en una nueva ronda por medio de este sofisticado mecanismo, donde es más que probable que todos los operadores vuelvan a estar ocupados y la historia vuelva a repetirse. A veces son varias llamadas seguidas o en días consecutivos. En este punto empiezas a volverte paranoico pensando en quién te podrá estar acosando.
Y así hasta el gran día. Ese día volverás a recibir una llamada extraña que te recuerda a las anteriores pero donde un teleoperador te responderá justo cuando vayas a colgar y todas tus dudas se disiparán: han sido ellos, pensarás rápidamente. Por supuesto es muy posible que utilicen un número diferente para llamarte en diferentes ocasiones y negarán en rotundo la utilización de estas técnicas, diciéndote que es la primera vez que hablan contigo (obviamente). Todo eso a pesar de que los fabricantes explican claramente cómo funcionan y de la posibilidad de las llamadas silenciosas, que incluso tilda de "muy frecuentes" cuando hay pocos teleoperadores o éstos hablan con el cliente más tiempo del esperado.
Yo particularmente (esto es pura especulación) tampoco descartaría que utilizaran esta técnica para saber en qué franja horaria hay gente en casa y volver a llamar unos días o semanas después del calentón, cuando a uno ya se le ha olvidado. Aunque pensándolo bien, esto quizá sí que sería demasiado sofisticado, ya que no parece que entre los parámetros que manejan los sofisticados algoritmos de los marcadores predictivos se encuentren algunos como "nivel de fastidio del usuario", "número de intentos fallidos anteriores" o "probabilidad de que el cliente mente a algún familiar tuyo cuando coja la llamada".
Si deseas información acerca de algún número concreto que te ha estado llamando, puedes utilizar WhoCallsMe.com. Verás que no eres el único al que llaman y cuelgan desde el 914523902 o el 911716371, entre otros muchos.
Cosas similares se han comentado también en barrapunto y menéame. Y seguro que investigando por ahí hay muchas más páginas al respecto.
Así que la próxima vez que os ocurra, estad tranquilos. Es mucho más probable que os esté llamando un algoritmo predictivo que un impredecible acosador.
11 February 2008
Qué significa ser un buen manager
Inexplicablemente en el mundo ibérico apenas encontramos información acerca de la gestión de equipos de desarrollo de software, y menos adaptados a nuestra idiosincrasia, sociedad y circunstancias. Ni se puede gestionar un equipo de software como si fuera una fábrica de producción industrial en serie como en modelos antiguos, ni tampoco es prudente calcar a ciegas modelos anglosajones que tan bien parecen funcionar en otros entornos sociales muy diferentes al nuestro.
En nuestro país ni siquiera encontramos traducciones de libros clásicos acerca de este tema que son éxitos de ventas en varios países. ¿A qué se debe este hecho?.
Es por ello que este artículo está escrito intencionadamente en castellano: ya existen abundantes weblogs y bibliografía sobre el tema en el mundo aglosajón (indico algunas referencias interesantes al final). Al referirme a manager, hablo más específicamente de un manager frente a un equipo de software, en unos casos puede coincidir con lo que en España conocemos como "jefe de proyectos" y en otros puede ser algo más general, que no sólo vela por el desarrollo del producto a corto plazo sino por el desarrollo del equipo y de la empresa en general.
Tengámoslo claro desde un principio: el papel fundamental de un buen manager es conseguir que los trabajos salgan adelante. Esto es indiscutible. No en vano uno de los mayores éxitos de ventas sobre gestión de proyectos, anteriormente titulado "The art of project management", va a pasar a titularse sencillamente "Making things happen" en su segunda edición. Sin embargo, para que las cosas "ocurran" se requiere otra serie de cualidades que van más allá de las puramente técnicas, como bien saben los promotores de las metodologías más modernas.
Desde el punto de vista humano, este puesto de responsabilidad conlleva muchas implicaciones. Existen detalles sutiles no siempre tenidos en cuenta, generalmente eclipsados por las cuestiones técnicas y el trabajo del día a día, que no pueden pasarse por alto.
Algunos de ellos, son asegurarse de que el equipo de software:
- Siente que el manager conoce y aprecia su trabajo. Si bien un manager no puede conocer tantos detalles técnicos como su equipo, sí debe tener un bagaje técnico suficiente para poder apreciar y valorar lo que se está haciendo, así como para demostrar y justificar sus decisiones y que el equipo las entienda. En caso contrario, el equipo tomará las decisiones tomadas como una manía o un capricho sin sentido, incluso pudiendo llegar a tomárselo (con razón o sin ella) como algo en su contra.
- Se sienta como una parte más de la organización. Debe conocer sus responsabilidades, éxitos y fracasos y sobre todo, sentir que el manager delega completamente las tareas encomendadas al equipo. Un manager que no sabe delegar hace sentir a su equipo de segunda; un equipo que jamás se esforzará al máximo puesto que sabe que las decisiones ya están tomadas de antemano aunque se respire un falso clima de cooperación y democracia. Este punto está estrechamente relacionado con el primero.
- Se sienta valorado y atendido tanto desde el punto de vista económico como humano. Los humanos tenemos la necesidad de sentirnos a gusto en el trabajo, de respirar un buen ambiente y de ser recompensados en la medida en que creemos que debemos serlo. El porcentaje depende de cada uno, pero un ambiente artificial o enrarecido y unas condiciones económicas mediocres son un desamparo seguro. La indiferencia y el trato calcado y deshumanizado hacia diferentes empleados, más habitual conforme mayor es la empresa, no contribuyen a mejorar este aspecto.
- Entienda qué tiene que hacer. Muy relacionado con lo anterior, ideas contradictorias por parte del manager o por parte de diferentes departamentos, desembocarán en estrés, retrasos y una calidad deficiente, seguramente por el temor que sienten muchos desarrolladores a preguntar y aclarar lo que se espera de ellos. Temor a que, en un entorno altamente competitivo y con constantes demostraciones de superioridad, se tenga la sensación de que preguntar, aunque sea para aclarar dudas o compartir soluciones, implica reconocer que no se está a la altura.
- Esté en un lugar tranquilo y con un cierto nivel de intimidad. Un equipo de desarrollo de software es un equipo de lo que en el mundo anglosajón se ha dado en denominar "trabajadores del conocimiento". Como para cualquier escritor, músico, deportista o simplemente un estudiante, la concentración es imprescindible y requiere su tiempo. Sin concentración no hay productividad. Un ambiente de trabajo con charlas entre compañeros, llamadas telefónicas, música de fondo o con constantes interrupciones son garantías seguras de una productividad nula o terriblemente deficiente.
- No se dedique a "tapar agujeros", pero tampoco esté encasillado. Está comprobado que la dispersión de tareas reduce la productividad; las personas no trabajamos bien alternando constantemente de tarea en tarea, consiguiendo no sentirnos parte de ninguna. Sin embargo, tampoco debemos encasillar a un equipo o a una persona con una sola tarea, lenguaje de programación o especialidad, porque puede haber agradables sorpresas detrás de un desarrollador.
- Entienda y justifique tu posición como manager. Si un equipo o alguno de sus miembros siente que está haciendo tareas que no le corresponden a él (esto es, trabajo como manager) además del suyo propio, sin ningún tipo de recompensa (no necesariamente económica), se sentirá infravalorado. Curiosamente también puede darse el caso contrario: que el manager se exceda en sus responsabilidades y colisione con tareas en las que debería haber delegado (labores de análisis, documentación, pruebas...) eclipsando así al equipo de desarrollo y quitándoles la escasa parcela de terreno libre que poseen para poder sentirse orgullosos y útiles.
- No sufra de agravios comparativos. La administración pública dispone de unos baremos y unas categorías laborales cuantificables. En la empresa privada ocurre generalmente lo contrario: nadie tiene ni la más remota idea de lo que cobra la gente a la que ve todos los días, salvo alguna rara excepción donde existe una carrera profesional definida. ¿Alguien puede explicar por qué?. El secretismo y la discriminación salarial (generalmente asociados) o el disfrute de otro tipo de beneficios siempre acaba saliendo a la luz y es la causa principal de crispación del ambiente laboral, especialmente si los beneficiados siempre son amigos, conocidos, familiares... En el ambiente se generan envidias y competitividad, haciendo que el desarrollador se preocupe más de saber cuánto cobra un compañero o por qué a otro se le condeden siempre determinados beneficios que de hacer bien su trabajo.
- Sea educado hacia la independencia y la responsabilidad. Un buen manager no debe crear obstáculos ni frenar a su equipo de desarrollo, ni tampoco tratarlo como a ese niño consentido al que jamás se exige responsabilidad ni se explica el alcance de sus actos y cómo puede corregirlos por sí mismo. Aunque parezca una buena estrategia a corto plazo porque proporciona una visión placentera y divertida, educar en la dependencia genera una gran inseguridad (o una falsa sensación de seguridad, según el tipo de personalidad) que puede llegar a impedir el desarrollo personal y profesional.
Alguien que, como el buen maestro, realmente desea que los miembros de su equipo sean independientes y se desarrollen al máximo sin ponerles obstáculos. Para que, si sus capacidades se lo permiten, llegue ese gran día en que el alumno supere al maestro.
Blogs recomendados:
Artículos recomendados:
Bibliografía recomendada:
- The Art of Project Management / Making Things Happen
- Peopleware: Productive Projects and Teams
- Leading a Software Development Team: A Developer's Guide to Successfully Leading People and Projects
11 January 2008
Calendario Agua 2008
¿Qué tiene el agua que tanto nos atrae, en todas sus manifestaciones?. He hecho una pequeña recopilación de mis fotografías sobre esta temática en forma de calendario para mi disfrute personal.
Sin embargo, si te interesa, está también a tu disposición.
Si no, con tanta fotografía digital, todas acaban en el olvido...
30 November 2007
On programming
Who doesn't talk to his colleagues about programming?.
Sometimes it's more interesting to talk about the human aspects of programming than about the technological issues that techies are talking about all the time (a thread here, an interface there, let's add some reflection...).
There are ideas that my most respectable colleagues agree on but that unfortunately seem to be forgotten (or unkown) by a vast number of people working in the field.
They can be summarized in the following sentences:
If you're a software engineer, your basic building material is human intellect and your primary tool is you.
A leader has the expertise of a competent programmer and recognizes that programming is only 15 percent communicating with the computer and 85 percent communicating with people.
Programming is communicating with another programmer first and communicating with the computer second.
Some creative programmers view the discipline of standards and conventions as stifling to their creativity. The opposite is true. [...]. Without standards and conventions on large projects, project completion itself is impossible. Creativity isn't even imaginable.
A programming masterpiece requires just as much discipline. If you don't try to analyze requirements and design before you begin coding, much of your learning about the project will occur during coding and the result of your labors will look more like a three-year-old's finger painting than a work of art.
By all means, get excited about programming. But excitement is no substitute for competency. Remember which is more important.
Opps... wait! I forgot to say something before you just discard this post: these sentences are not ours. They're Steve McConell's.
19 October 2007
Software Practices - Sandwich Design
Today, I was reading a colleague's blog. In his last post (in Spanish) he defends the programmer as a software professional and provides a great outlook of its —generally misconceived— role, duties and difficulties. That immediately reminded me about the opposite figure: the architecture astronaut as described in Joel Spolsky's article. At some companies both roles officially exist (software astronauts not being desing as such but in other pompus terms). Sometimes they even group them into separate buildings, Kilometers away from each other.
What does all this has to do with this post's title?. Well, I dare say that officially separating both roles warps each individual's mind towards two software design approaches. Top-down and bottom-up. Analysis and synthesis.
Astronauts deal with ideas, designs and hopes. They analyse a problem. They concieve a view of the solution and try to put it somewhere, somehow. Call it a UML diagram or whatever. They generally don't care too much about technological or programming issues, as every difficulty can be overcome, and think the hard work is done. Remember, top-down. Once decomposed it should be easy.
If you ever wrote a line of code in a medium-sized project —which you might not if you're in the Cosmo Team— and you're humble and honest —scarce virtues— you know that, at this point, the process just reverses and it's not easy at all.
Programmers need to deal with lines of code and machines. They are forced to syntethise, given their circumstances. They take some sort of specification, design —when lucky—, a technological environment in form of software and hardware and need to combine all this to produce something that works —or, at least, appears to—. In some way, it's pure bottom-up. The programmer's materials for the building process are existing technologies, libraries, language primitives, etc. that must be mixed together "upwards" to match the design, functionality or specification. The same materials that might have been overlooked during the analytical process.
This is the main reason why, when left alone —probably by inertia—, most programmers take the bottom-up approach. The bad news is that they generally forget that the bottom-up approach is also a design approach that also involves an analytical process. But they generally rush to code. When the main program and some tricky parts are outlined the hard work is done. Remember, bottom-up. Design will magically arise and every piece will fit. Once a few things are outlined or coded it should be easy.
Same dog, different collar?. Sure. Now a different set of problems arises: forgotten functionalities, huge refactoring efforts, this-is-not-what-I-expected user dissatisfaction, etc. but that's another story.
So, why don't we take the best of both worlds and use 'Sandwich Design' practices?. Let's analyze the problem without overlooking or ignoring the building materials, skills or details. Let's take a wider point of view and try to provide a solution from both sides, from the top and from the bottom.
In the software development world you'll often see architecture astronauts proposing completely absurd, complex or already solved solutions. You'll often see programmers who excel at programming and know about tiny pieces of technology that could potentially solve complex problems but who don't care at all about what the general problem is.
I think that working from both ends, analysis and synthesis will converge more easily, also mitigating friction among teams and processes and providing a shorter schedule.
This is much easier to achieve in small or medium-sized companies that take a more integrated approach in Software Development. In fact, I believe the best ones really forget about prejudices and myths, roles and methodologies and, aware or not, are using Sandwich Design all the time.
03 August 2007
"Cosas", por Paul Graham
Tras muchos meses de parón propongo una nueva traducción. Como es habitual, casi siempre hay alguien que se adelanta y/o escribe las cosas mejor de lo que uno lo haría. En este caso se trata de Paul Graham hablando sobre la acumulación de "cosas".
El artículo original se titula "Stuff".
Tengo demasiadas cosas. Le ocurre a la mayoría de los americanos. De hecho, cuanto más pobre es la gente, más cosas parece que tiene. Poca gente es tan pobre como para no poder permitirse llenar su jardin de coches viejos.
Esto no siempre ha sido así. Las cosas solían ser escasas y valiosas. Todavía pueden encontrarse evidencias si se buscan. Por ejemplo, en mi casa de Cambridge, construida en 1876, las habitaciones no tienen armarios. En aquellos tiempos las cosas que tenía la gente cabían en una cajonera. Incluso hace sólo unas décadas, la gente tenía muchas menos cosas. Cuando veo fotos de los 70 me sorprendo de lo vacías que parecían estar las casas. Cuando era niño tenía lo que creía que era una flota enorme de coches de juguete, una cantidad ridícula comparada con la cantidad de juguetes que tienen mis sobrinos. Todos mis Matchboxes y Corgis (coches de juguete) juntos ocupaban un tercio de la superficie de mi cama. En la habitación de mis sobrinos la cama es el único lugar que queda libre.
Las cosas se han abaratado muchísimo pero nuestra actitud hacia ellas no ha cambiado. Sobrevaloramos las cosas.
Esto era un gran problema para mí cuando no tenía dinero. Me sentía pobre y las cosas parecían valiosas, así que las acumulaba casi instintivamente. Los amigos se dejaban algo cuando se trasladaban, veía cosas en buen estado abandonadas en la basura alguna noche, me encontraba con algo casi nuevo por una décima parte de su precio que alguien vendía en su garaje. Y, zas, más cosas.
En realidad estas cosas gratuitas o casi gratuitas no eran ninguna ganga porque valían menos de lo que costaban. La mayoría de las cosas que acumulé no valían nada porque no las necesitaba.
Lo que yo no entendía era que el valor de una nueva adquisición no era la diferencia entre su P.V.P. y lo que yo pagaba por ella. Era el valor que yo obtenía de ella. Las cosas son activos extremadamente ilíquidos. Si no se tiene un plan para vender esa cosa tan "valiosa" comprada tan barata, ¿qué es lo que la hace valiosa?. La única forma de obtener algún beneficio de ella es usándola. Y si no se le da un uso inmediato es probable que nunca se le dé.
Las empresas que venden cosas han invertido enormes sumas de dinero en hacernos pensar que las cosas todavía son valiosas. Pero sería más cercano a la verdad tratar las cosas como si no valieran nada.
De hecho, es peor todavía, porque una vez acumulada una determinada cantidad de cosas, las cosas empiezan a poseerle a uno, en vez de ser al revés. Conozco a una pareja que no pudo retirarse a su pueblo favorito porque no podían permitirse una casa lo suficientemente grande como para albergar todas sus cosas. La casa no es de ellos, es de sus cosas.
Y, salvo que uno sea extremadamente organizado, una casa llena de cosas puede resultar muy deprimente. Una habitación desordenada y revuelta mina el espíritu. Una razón, obviamente, es que hay menos sitio para la gente en una habitación llena de cosas. Pero hay más. Creo que los humanos examinamos constantemente nuestro entorno para construirnos un modelo mental de lo que nos rodea. Cuanto más difícil de analizar es la escena, menos energía queda para los pensamientos conscientes. Una habitación revuelta es literalmente agotadora.
(Esto puede explicar por qué el desorden no parece molestar tanto a los niños como molesta a los adultos. Los niños son menos perceptivos. Construyen un modelo menos elaborado de su entorno y esto consume menos energía.)
La primera vez que me di cuenta de la carencia de valor de las cosas fue cuando viví un año en Italia. Lo único que me llevé fue una gran mochila llena de cosas. El resto de mis cosas las dejé en el ático de mi casera en Estados Unidos. Y, ¿sabes qué?. Sólo eché de menos los libros. A final de año ni era capaz de recordar qué más tenía almacenado en el ático.
Y cuando volví sólo me deshice de una caja de cosas. ¿Tirar un teléfono de disco?. Puede que algún día lo necesite.
Lo realmente triste de todo esto no es que acumulara toda estas cosas inútiles, sino que generalmente me gastaba dinero que necesitaba desesperadamente en cosas que no necesitaba.
¿Por qué lo hacía?. Porque la gente que se dedica a vender cosas es realmente buena en su trabajo. Un joven de 25 años no es rival para empresas que han invertido años investigando cómo hacer que te gastes dinero comprando cosas. Hacen de la experiencia de comprar cosas algo tan agradable que "comprar" se ha convertido en una actividad de ocio.
¿Cómo protegerse de estas personas?. No puede ser fácil. Soy una persona bastante escéptica y aun así sus trucos han funcionado conmigo hasta bien entrado en la treintena. Pero algo que puede funcionar es preguntarse, antes de comprar algo, "¿esto va a hacer que mi vida sea notablemente mejor?".
Una amiga mía se curó de su hábito de comprar ropa preguntándose a sí misma antes de comprarse algo "¿voy a ponerme siempre esto?". Si no era capaz de convencerse a sí misma de que lo que estaba pensando comprar era una de esas cosas que siempre se pone, no lo compraría. Creo que esto funciona para cualquier tipo de compra. Antes de comprar algo, pregúntate: ¿voy a utilizar esto constantemente? ¿o simplemente es algo bonito? o, todavía peor, ¿es simplemente una ganga?.
Las peores cosas a este respecto son las cosas que no se usan mucho porque son demasiado buenas. Nada posee más a uno que las cosas frágiles. Por ejemplo, la "porcelana" que tantas familias tienen y cuya cualidad que la define no es que sea divertida de utilizar, sino que uno tiene que ser especialmente cuidadoso para no romperla.
Otra forma de resistirse a comprar cosas es pensar en el coste total de poseerlas. El precio de compra es sólo el principio. Hay que pensar en esa cosa durante años—quizá durante el resto de la vida. Todo lo que uno posee resta energía a un mismo. Algunas cosas proporcionan más de la que restan. Ésas son las cosas que merece la pena tener.
Yo ya he parado de acumular cosas. Excepto libros—pero los libros son diferentes. Los libros se parecen más a un fluido que a objetos individuales. Tener varios miles de libros no es un inconveniente especialmente grande, mientras que si poseyeras miles de cosas aleatorias serías famoso en tu vecindario. Salvo libros, ahora intento evitar activamente las cosas. Si alguna vez quiero gastar dinero en darme algún capricho, lo emplearé en servicios y no en bienes.
No alego esto porque haya alcanzado algún tipo de indiferencia tipo zen acerca de las cosas. Hablo de algo más mundano. Ha habido un cambio histórico y ahora soy consciente. Las cosas solían ser valiosas, pero ya no lo son.
Pasó lo mismo con la comida a mitad del siglo veinte en los paises industrializados. Conforme la comida se abarataba (o nos enriquecíamos; es indistinguible), comer demasiado comenzó a ser más peligroso que comer poco. Ahora hemos alcanzado ese mismo punto con las cosas. Para la mayoría de la gente las cosas han llegado a suponer una carga.
La buena noticia es que, si llevas una carga encima sin saberlo, tu vida puede ser mejor de lo que imaginas. Imagina que has estado andando con pesas de dos kilos en los tobillos durante años y que te las quitas de repente.
26 June 2006
12 pasos hacia un código mejor
Hace ya seis años Joel Spolsky escribió un artículo titulado "The Joel Test: 12 Steps to Better Code", proponiendo un pequeño test para evaluar el lugar donde trabajamos o vamos a trabajar.
Gracias al wiki para traducciones que abrió Joel, pude contribuir facilmente a su traducción.
Creo que sigue siendo un artículo vigente; he aquí un pequeño extracto:
¿Te suenan las siglas SEMA?. Es un sistema un tanto exótico de medir lo bueno que es un equipo de desarrollo de software. No, ¡espera!. ¡No sigas el enlace!. Te costaría unos seis años solamente entenderlo. Por eso he creado un cutre-test altamente irresponsable de mi propia cosecha para medir el nivel de calidad de un equipo de desarrollo. Lo bueno que tiene este test es que hacerlo cuesta unos tres minutos. Con todo el tiempo que te ahorrarás, puedes aprovechar y estudiar medicina.
El Test de Joel
- ¿Utilizas software de control de versiones?
- ¿Puedes generar el producto en un solo paso?
- ¿Compilas el producto diariamente?
- ¿Tienes una base de datos para los bugs?
- ¿Corriges los bugs antes de añadir más código?
- ¿Tienes una planificación actualizada?
- ¿Tienes un documento de especificaciones?
- ¿Están los programadores en un lugar tranquilo?
- ¿Utilizas las mejores herramientas que puedes comprar?
- ¿Tienes gente para probar los productos?
- ¿Haces escribir código a los nuevos candidatos en las entrevistas?
- ¿Haces pruebas de usabilidad "de vestíbulo"?
La traducción completa está aquí.
29 May 2006
Si los arquitectos fueran ingenieros de software
Para iniciar una serie de reflexiones acerca del desarrollo de software, propongo como aperitivo un texto que se acerca bastante a la realidad de quien se enfrenta a tareas de desarrollo de software.
Se trata de un paralelismo que muestra a lo que tendría que enfrentarse un arquitecto si las cosas funcionaran como lo hacen en el mundo del desarrollo software.
El texto original no es mío. Se titulaba "If architects had to work like web designers" y ya no sé muy bien cuál es la fuente original, así que los interesados tendrán que buscarla.
Dejo una traducción de mi propia cosecha aquí:
Querido Sr. Arquitecto,
Por favor diséñeme y constrúyame una casa. No estoy muy seguro de cómo la quiero, así que lo dejo a su discreción. Mi casa debería tener entre 2 y 45 habitaciones. Simplemente asegúrese de que sea fácil añadir o quitar habitaciones en cualquier momento. Cuando me enseñe los planos ya le comunicaré mi decisión final. No se olvide de traerme el estudio de costes para cada configuración y así pueda elegir la que más me convenga.
Tenga siempre en cuenta que la nueva casa que elija debe ser más barata que en la que estoy viviendo ahora. Asegúrese, sin embargo, de que no sufre de las mismas deficiencias que mi casa actual (el suelo de la cocina vibra al andar sobre él y las paredes no tienen aislamiento suficiente).
Mientras va diseñando, también recuerde que quiero que los costes de mantenimiento sean mínimos. Esto puede implicar la incorporación de materiales fuera de presupuesto como aluminio, vinilo, etc… (si finalmente decide no utilizar aluminio debería justificarme su decisión en detalle).
Por favor asegúrese de que posea un diseño actual y de que se utilicen los materiales más modernos en la construcción de la casa, pues quiero que sea una muestra de los métodos e ideas más vanguardistas. Le aviso de antemano de que el diseño de la cocina tiene que tener en cuenta, entre otras cosas, la instalación de mi frigorífico de hielo de 1952.
Para asegurarse de que está construyendo la casa correcta para nuestra familia no olvide hablarlo con nuestros hijos y también con nuestra familia política. Mi suegra le dará unas buenas pautas de cómo debería diseñar la casa, ya que nos visita al menos una vez al año. Asegúrese de que valora todas estas ideas con especial cuidado para tomar la decisión correcta. Sin embargo, no olvide que soy yo quien tiene la última palabra.
Por favor no me moleste con detalles sin importancia ahora. Su trabajo es planificar la construcción de la casa: ver las cosas de forma global. Éste no es el momento adecuado, por ejemplo, de elegir el color de la moqueta. Por cierto, no olvide que a mi mujer le gusta el azul.
Tampoco se preocupe en este momento de los recursos necesarios para construir la casa en sí misma. Su prioridad absoluta es diseñar los planos y las especificaciones detalladas. Una vez que le dé mi visto bueno, sin embargo, espero que la casa esté construida en 48 horas.
A pesar de que está diseñando la casa totalmente a mi medida, no olvide que antes o después acabaré vendiéndola, así que debe ser atractiva para una gran variedad de potenciales compradores. Por favor asegúrese antes de terminar los planos de que existe consenso positivo en mi barrio acerca de las características de mi casa. Le aconsejo que se acerque a la casa que le construyeron a mi vecino el año pasado. Nos gusta mucho. Tiene muchas cosas que nos gustaría que la nuestra también tuviera, especialmente la piscina de 25 metros. Con un poco de esmero, supongo que podrá incluirla también en nuestra casa sin que influya en los costes finales.
Por favor, prepáreme un conjunto completo de proyectos. No hace falta en este momento que el diseño sea el final, puesto que por ahora sólo se usarán como promoción comercial. Le aviso, sin embargo, que será usted el responsable de cualquier incremento en los costes como resultado de rediseños posteriores.
¡Debe estar usted emocionado de trabajar en un proyecto tan interesante como éste! Poder utilizar las técnicas y materiales de última generación y poseer toda esa libertad para diseñar es algo que no ocurre a menudo. Contacte conmigo lo antes posible para contarme sus ideas y entregarme los planos.
PD: Mi mujer me acaba de decir que no está de acuerdo con muchas de las instrucciones que le acabo de dar en esta carta. Como arquitecto, es su responsabilidad resolver estas diferencias; yo ya lo he intentado en el pasado y jamás he sido capaz de lograrlo. Si no es usted capaz de aceptar esta responsabilidad, tendré que empezar a buscar otro arquitecto.
PD2: A lo mejor lo que realmente necesito no es una casa, si no una auto-caravana. Si cree que es el caso, comuníquemelo lo antes posible.
Actualización (29 de mayo de 2006):
Esta traducción la tenía almacenada desde hace tiempo y la he publicado directamente. Al parecer ya había sido traducida por otra persona en Mundo Geek
19 May 2006
What is NOT beta software
From Wikipedia:
"A beta version or beta release usually represents the first version of a computer program that implements all required features although additional features may be added. It is likely to be unstable but useful for internal demonstrations and previews to select customers, but not yet ready for release."
Yes, we all confuse terms from time to time but, come on, this one is easy. Isn't it?
What is NOT beta software:
- An idea you had while having some beers with a couple of friends at the local pub which led to a wonderful (but empty) web site to announce it. (Great way to confuse and disappoint people).
- An attempt to show how cool you are in a new language or framework by creating a new, incomplete and buggy implementation of a useless program which you never think to finish or mantain. (Does it make sense to call something beta if you're not following a development cycle?).
- Three lines of code at sourceforge.net that you want other people to develop and finish for you without event knowing exactly what you want. (Do the words 'analysis', 'design' or 'specification' mean something to you?).
- A program which constantly shows error messages when you're using it as expected. (That's not unstable, that's crap).
- Desktop software without any kind of documentation, tips or hints on how to install it or use it, that only works on your computer. (Great way to distribute it!).
- A way to publicize other products or projects by means of a powerpoint presentation about a non-existing program which shows a couple of screenshots you designed the day before. (No comments).
"Pre-alpha: Sometimes a build known as pre-alpha is issued, before the release of an alpha or beta. In contrast to alpha and beta versions, the pre-alpha is usually not "feature complete". At this stage designers are still determining exactly what functionalities the product should have. Such builds can also be called development releases or nightly builds."
"Alpha: The alpha version of a product still awaits full debugging or full implementation of all its functionality, but satisfies a majority of the software requirements. It often lacks features promised in the final release, but demonstrates the feasibility and basic structure of the software."
"Vaporware (...) is software or hardware which is announced by a developer well in advance of release, but which then fails to emerge (...). The term implies deception, (...) it implies that the announcer knows that product development is in too early a stage to support responsible statements about its completion date, feature set, or even feasibility."
Snake oil is a Traditional Chinese medicine used for joint pain. However, the most common usage of the words is as a derogatory term for medicines to imply that they are fake, fraudulent, and usually ineffective. The expression is also applied metaphorically to any product with exaggerated marketing but questionable or unverifiable quality."
So could we all please stop spreading the wrong meaning of 'beta'?
05 May 2006
Your IT degree is over. Some advice for a smooth transition.
Yep, you finally managed to pass all your exams and deliver your final project on time. Five or more years dealing with complex algorithms, software engineering practices and countless other topics which give you a solid base and a bit of fun. Now you should be prepared to face reality with a relatively high degree of comfort. Are you sure?.
A math teacher recently told me that all formal studies are taught based on the supossition that when you finish that stage, you'll continue studying. Primary School is a preliminary to High School, High School to University, University is your career towards your PhD, and so on. So, what happens when you find a job, thus breaking the education link?.
Your mileage may vary, but I bet most of us felt really annoyed during that transition. Reality can be very different to what you had imagined. You need to get used to it.
With your permission, here's some advice that can make the transition smoother:
- Learn English (and learn it well). If you're in the IT field, no matter in which country, English is no longer a plus. It's a must. Just as nowadays you can't conceive a computer with no network, think of English as the mean of communication in the field. Superficial understanding of a technical article is not enough, so make a little effort if you need to improve it.
- Find a good mentor. This is a difficult one, but try hard to find a mentor inside your organization if you can. He can be your boss, a colleague or maybe even someone from other department. An experienced, willing-to-teach person can solve your doubts, clear your thoughts, refer you to good information sources and guide you towards the right direction.
- Search the Web. Yeah, the web can be full of rubbish but, believe me, it's also full of invaluable information and incredibly smart people. To begin with, don't miss a single article from Joel Spolsky . Browsing through his weblog you'll learn how to write a specification, how to schedule a project, etc... in a useful and realistic manner, far away from formal methods that are rarely used (another lesson you'll learn when you face reality). This is just an example, have a look and you'll find other superb sources of information.
- Read books. Fortunately, superb books are available on every conceivable topic. I don't recommend you to buy very technical books, cause they are expensive and they'll get outdated in a year. These are the kind of books that should be bought by your company. Instead, spend a few bucks in classic or more pleasant to read books that you can leave on your bedside table. There are lots of them, but maybe you can begin with "Peopleware: Productive Projects and Teams" or "The Pragmatic Programmer", depending on your interests. Buy them in English and always check an on-line store before paying extra money at some expensive bookstores.
- Be patient and humble, but believe in yourself. Your career dind't begin at University. It begins now. So be patient and humble, ask when you need it and learn as much as you can. Experience is important, but don't underestimate yourself when you hear or read from others, cause you might surpass their abilities in a short period of time. Many people exaggerate (or even lie), so be critic and believe in yourself as much as you believe in others.
PS: How was your transition from University to your first job? Any advice? Share your story with us!
Feedback from readers:
25 May 2006, Ghost:
- Play with as much as possible as you can - do a Ruby On Rails application, write a Python script, make a modification to a PERL program and contribute to a SourceForge Java application. It's not going to hurt and you will learn different techniques that you may not be officially taught at Uni.
- Have at least one demonstration program you can reference in your resume and show off when asked. Preferably this should be something in the field that you want to get into. If it's desktop applications - make sure you have a version that runs on your laptop backed by a MySQL or Access database, if it's web based make sure that your name is on the site somewhere and include the URL in your resume as well as having a local test copy on your laptop.
- Always take your laptop to interviews with you. Make sure it's loaded with code, you have a local copy of MSDN or the JRE runtime reference, or the Python library reference as well (preferably all of them). Be prepared to show off your own code if that answers a question in more detail than you could yourself (Remember - actions speak louder than words).
- SourceForge projects may be considered lame - but they are very public and it is quite easy to send a link to a list of contributions that you have made. It also shows that you can work in a team, respond to externally submitted bugs and make your own contributions. All of this is important.
04 May 2006
My very first blog entry
Writing is hard. Writing in a language you learnt at school and you seldom use is even harder. Just add about ten years of scientific-oriented education and you can get an idea of what a challenge this can be.
I'll write in English or in Spanish depending on the subject, my mood, my abilities or who knows what.
This blog is focused towards the IT world, especially project management and software development, but don't expect to find a technology freak here.
Just take a look at the blog title again and don't despair if you find me writing about the most stupid things you could probably imagine.
Please feel free to send any comments on any mistakes (especially in English), opinions or suggestions.