Satisfacción del empleado= Satisfacción del cliente

20 octubre 2009 by

¿Podría considerarse una visión reduccionista?

Para mi es una alerta para aquellas personas que desde sus posiciones crean tensiones, competitividades poco saludables (y también de dudosa rentabilidad). Una tarjeta amarilla para quienes siguen considerando que  la coacción es la única manera de motivar hacia la acción a las personas (o de convencer a sus compañeros). O que mejor 14 horas por las que se pierden en cafés.

Soy una firme defensora de la “autogestión” y de la automotivación, pero esto no es posible siempre.

Cuando el modelo de gestión es un obstáculo constante a nuestra manera de proceder, es dificil alinear lo que hacemos con lo que pensamos y finalmente, acabamos actuando de acuerdo a los sentimientos y pensamientos que subyacen. La emoción no engaña (como mister proper).

Si estoy cansado, porque trabajo doce horas al día, mi expresión es de cansancio, quizás de descontento  y por tanto lo transmito y con ello, una mala imagen de la empresa a la que represento. La falta de concentración llevará a que mi desempeño lejos de ser brillante, sea muy deficiente.

Leer el resto de esta entrada »

Excepciones en .NET, ¿seguro que quieres manejar un System.Exception?

25 septiembre 2009 by

Hola, aquí Luis (presentación copiada de los blogs de los equipos de productos de MS) 🙂

Retomando un post anterior relacionado con el manejo de excepciones y la diferencia entre Throw y Throw ex, he leído algunas cosas interesantes sobre el manejo general de excepciones.

El título de uno de los post que he leído, dice algo como: “Porque un empty catch o un catch(exception) es una mala idea“, pero visto el profundo debate de comentarios que ha provocado el post, yo no me atrevería de decir tanto 🙂

El artículo en cuestión, recomienda no hacer catch del tipo System.Exception, y utilizar Excepciones hija (ArgumentException, etc). Es decir, fíjate en la operación que estás haciendo, y en las excepciones que se pueden lanzar. Ejemplo, si intentas abrir un fichero, una de las posibles excepciones será FileNotFoundException.

La razón que da el artículo, es que una excepción del tipo System.Exception, significa un fallo de sistema (recomiendo que leáis estos 2 artículos que se enlazan desde el primer post y que son del gran Krzysztof Cwalina:

y los fallos de sistema, “no tienen nada que manejar”. Vamos, que si tienes un fallo de puntero en memoria, busca el puntero y llévalo al taller!…

Pero entonces, ¿nos tenemos que olvidar del típico bloque?

try

catch ex as Exception

Pues hombre, aquellos de vosotros que estéis acostumbrados a desarrollar servicios 24×7 y a integrar varios sistemas, cada uno de su padre y de su madre, seguramente os parecerá duro renunciar a dicho bloque. Sinceramente, a mi también me lo parece. En esas ocasiones, creo que conviene manejar fallos de sistema y hacer un buen log del mismo, además de tomar la decisión de si queremos matar el servicio o seguimos funcionando. En los comentarios del post inicial, veréis que también se discute este tema, y el autor del post, defiende que en estos casos es mejor no manejar dicha excepcion y dejar que la aplicación “explote” con el típico mensaje de windows y la posibilidad de enviar el registro a MS… En mi opinión, decidirlo vosotros según el sistema que estéis desarrollando y sus necesidades.

En resumen, creo que es buena práctica manejar las excepciones propias de las operaciones que estamos realizando, y dejar abierto a las necesidades del sistema, si queréis manejar fallos del sistema, o no. Como veréis, de nuevo en informática tiramos del principio del gallego… depende!! 🙂

Más info de interés al respecto:

Espero que os sirva!!

Saludos.

Instalar oracle express 10g en windows 7

3 septiembre 2009 by

Hola a todos,

Imagino que alguno de vosotros ya habréis empezado a trastear con las primeras versiones de windows 7 beta. Además actualmente ya hay una versión “no beta” (RTM creo que la llaman) para aquellos que son partners de MS.

Yo me he instalado la versión para partners, y a priori, las primeras sensaciones son buenas, si bien la compatibilidad con algunas aplicaciones está siendo algo complicada, y las marcas todavía no ofercen soporte para 7, porque no está disponible al público en general. Por ejemplo, no he conseguido que funcione el Orange internet everywhere con el modem Huawei E160.

Otro de los problemas con los que me he encontado, ha sido con la instalación del Oracle Express 10g. Este lo he conseguido resolver de forma bastante sencilla, así que la comparto con vosotros, por si os ayuda y ahorra tiempo (por google no he encontrado gran cosa).

Si intentáis la instalación, probablemente os encontraréis un error del propio installer de windows. En mi caso era un error 1604 (si no recuerdo mal). Este error tiene que ver con problemas de permisos de escritura. Por cierto, tenéis una tabla que detalla los error code del windows installer:
http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx

Problemas de permisos??? que raro, si soy administrador total de la máquina…
Tras esta profunda reflexión, probé la opción de ejecutar el instalable como administrador (botón derecho -> “Ejecutar como administrador”). Nada, seguía fallando con el mismo error. caca de vaca:

Lo siguiente que he probado es una opción del windows 7 que me ha sorprendido gratamente :). Otra vez botón derecho -> Solucionar problemas de compatibilidad. De esta forma, Windows 7 calcula la mejor manera de instalar la aplicación, en función de “y esto antes de mi, en que otro windows te iba??”.

 compatibilidad1

Es decir, te permite instalarlo como si tuvieras un windows anterior (al menos en teoría). Pero no sólo eso, si no que te da otras opciones para calular la mejor forma de instarlo.

compatibilidad2

Como véis, la cosa pinta bien, y es una buena idea, sin embargo, tampoco me funciono, seguía con el mismo error.

Finalmente, tratándose de problemas de permisos, se me ocurrió lo siguiente:

  1. Antes de arrancar el proceso de instalación, creé a mano la carpeta donde se iba a instalar: c:\oraclexe
  2. Edité la seguridad, y agregué el usuario “Todos” con control total sobre esa carpeta
  3. Lancé de nuevo la instalación

“Sorprendentemente”, funcionó!! y ya tengo un oraclexe en mi windows 7 🙂

Supongo que al ser problema del windows installer, está solución os puede servir si os ocurre con otras instalaciones.

Espero que os ahorre algo de tiempo.

Hasta la próxima !!!

¿Enemigos públicos?

21 agosto 2009 by

cartel pelicula el-jefe

El otro día estuve en el cine, viendo la película que lleva este título: Enemigos públicos.

Me gustó, sobretodo disfruté con el pulso mantenido entre los dos actores principales, cuyos personajes debían ser contrincantes. Pero sobretodo eran líderes, estaba muy claro, cada uno desde su cometido, pero los mejores en eso de dirigir personas.

Pues bien,  estaba yo leyendo un artículo sobre liderazgo en directores de IT y bueno, se mezclaron las cosas y  una cosa llevó a la otra… El caso es que me imaginaba como actuaba el Christian Bale de la empresa, tecnológica o no, un líder preocupado por sus chicos, pero implacable en los resultados. Una mezcla sencilla pero hecha para triunfar.

Por su parte Jonhy(un tío encantador aunque atracador de bancos) ¿qué compartía con el héroe? Una gran dosis de ambición y respeto por los suyos, tremendamente parecidos ¿no?

Pero estos líderes no son siempre los que te encuentras en tu trabajo, lo sé, seguramente hayas sufrido jefes así. Como en todas las cosas, hay jefes de todos los colores, pero el propósito último es recoger un par de ideas, para introducir a su bagaje o al tuyo.

Gilbert con su “tecnología del desempeño humano” (HPT) dice que hay siete factores que lo explican, relacionados todos ellos y que se influyen entre si: pero para no aburriros y que tiréis del hilo, os cuento varios: recibir estándares claros, feedback, incentivos, ambiente, por ejemplo.

Mihaly (su apellido no soy capaz) y su QLRC desde la psicología positiva plantea ocho componentes del disfrute en el trabajo, por ejemplificar: una actividad desafiante, metas claras, feedback, sensación de control de la tarea, entre otras.

¿Os suena? Podríamos extraer alguna conclusión haciendo un par de clicks más. Nuestros líderes pueden darse cuenta de esto, incluso intentar llevarlo a la práctica (inviertiendo en ello) para conseguir lo mejor de su gente. Si a tu jefe esto le suena a milonga, aprovecha la maravillosa experiencia de aprendizaje, si no es así… hazlo también!!

Si él no procura desarrollar tu potencialidad para repercutir directamente en su negocio, tú deberás ser tu propio jefe, ser tu propio formador y velar por tu negocio. ¿Qué negocio? Tu carrera profesional.

Así que autofórmate, invierte tus recursos en ello y todos los clicks que puedas y toma como inicio estas cortas notas, quizás en breve debas convertirte en jefe y siempre ser jefe de ti mismo y  quizás entonces quieras generar un cambio.

Cuenta conmigo para ello.

Throw o Throw Ex, esa es la cuestión

15 agosto 2009 by

Estaba revisando un artículo de code project (que no os enlazo porque es algo viejo y no creo que algunas de las cosas sean válidas hoy en día), cuando en un punto de dicho artículo menciona la diferencia de usar throw ex y/o sólo throw. Esto me ha hecho recordar que hace unos días, mi compi Jose Antonio (un crack!), me contó algo al respecto y me he decidido a indagar algo más.

De lo que he leído, os paso 2 enlaces muy buenos sobre el tema y en los que me he basado para este resumen.

http://geekswithblogs.net/sdorman/archive/2007/08/20/Difference-between-quotthrowquot-and-quotthrow-exquot-in-.NET.aspx

http://aspadvice.com/blogs/joteke/archive/2004/04/15/2277.aspx

Básicamente, lo que viene a decir es, que al usar throw ex, se hace un limpiado del Stack Trace, lo que hace que al llegar la excepción a la capa de arriba, ésta sólo contenga información en el stack trace, de la última excepción producida, y no “acarree” posible información de excepciones que se haya podido producir en otros métodos anteriores. Esto, que es algo complejo de explicar por escrito, lo podéis ver muy fácilmente en el ejemplo del segundo artículo, donde hay varias excepciones anidadas y se ve claramente que con throw Ex se pierde información, de los errores acumulados.

Algo similar ocurre cuando capturamos una excepción, pero lanzamos una nueva excepción personalizada. Ejm (copiado del primer artículo):
code1

Para evitar eso, a la hora de lanzar la excepción personalizada, se aconseja pasar como parámetro la excepción capturada:

throw new ApplicationException("operation failed!", ex);

Así que, como regla general (que no fija), mejor lanzar la excepción con Throw para tener la máxima información del Stack Trace 🙂

Para acabar, por si alguien dudaba de la importancia de manejar adecuadamente los errores de nuestra aplicación, aquí os dejo un par de imágenes curiosas:

Pantallazo azul a lo grande!!
error_azul

system_error
(Esta última, por increíble que parezca, tb es una historia real, podéis verlo aquí … flipo!…)

Saludos!!

HolaMundo IoC, Inyección de dependencias con Spring .net

9 agosto 2009 by

DI con Spring
Si has oído hablar del patrón de Inversion Of Control (IoC), o Dependency Injection, pero no terminas de entenderlo. Si eres conocedor de Spring .net y sus numerosas ventajas, pero lo ves enorme y no sabes como hacer un sencillo ejemplo de Inyección. Y si además (y esto ya es la leche!) eres uno de esos de la secta del Guille y te gusta programar en Visual Basic, espero que este post te pueda ayudar 🙂

Indice

Qué es eso de dependencia?
Usando interfaces
El patrón factory
Inyectando con Spring .net
Y esto para que nos sirve en el mundo real?

Leer el resto de esta entrada »

Qué hacer para no encontrar trabajo en tiempos de crisis

4 agosto 2009 by

Ahora que todo curso, ponencia  y seminario  va seguido de su correspondiente  “…en tiempos de crisis” me he subido al carro, porque debe ser que vende mucho. De lo contrario el título sería más corto, pero todo sea porque os lo leáis.

Creo que ya os había convencido en eso de NO conseguir trabajo. Tras años dedicándome al reclutamiento y selección de personal, en este apasionante sector de las TIC, me doy cuenta de lo desaprensivos que podemos llegar a ser con nuestra carrera, algunos de nosotros en alguna ocasión.

Leer el resto de esta entrada »

Kilómetro cero

15 julio 2009 by

start emocionanticBienvenido, Welcome, Bienvenue blogger, geek y demás público. Si habéis llegado hasta nosotros es porque nos conocéis, a día de hoy no aspiramos a más, pero lo haremos.

La primera entrada de este blog es para que podáis haceros una composición de lugar de quiénes estamos “al teclado” y por tanto, qué os vais a encontrar si decidís volver en los próximos días.

Sencillo, dos personas que  pasan las horas muertas (y también las vivas) ideando y pensando en este mundo que es el sector tecnológico. Ah eso sí, cada uno a su manera, desde diferente prisma.

Hace un tiempo después de muchos años trabajando en el sector tecnológico, habiendo pasado por diferentes puestos y empresas, vimos que muchas de ellas adolecían de lo mismo. Muchos de sus profesionales tienen carencias comunes y que aparte de ser genios, de ser los mejores desarrolladores o jefes de proyecto, necesitamos algo más para conseguir llegar a ser todo lo que nos gustaría ser. Esta reflexión surge de nuestras propias experiencias y de las de muchas otras personas y situaciones que hemos conocido.

Os adelanto que Luis y yo misma, ocupamos cargos de Responsable del área técnica y de recursos humanos. Quizá os preguntáis qué tiene que ver una cosa con la otra o, por el contrario empezáis a encontrarle sentido…