miércoles, 19 de noviembre de 2014

Como trabajar en el interior del país y no morir en el intento

Este post está dirigido a los "porteños", los cuales nos referimos al resto del país como "El Interior", y especialmente a los que sueñan con irse de la gran ciudad y vivir mas tranquilos en alguna provincia.
Por razones personales, debo volver a Buenos Aires, es por eso que antes quiero contar mi experiencia en Mendoza y mi búsqueda previa y primeros tiempos aquí.
la dura vida en el interior...
Todos vemos normalmente en las películas y series estadounidenses, que los protagonistas se van de una ciudad a otra, ya sea por trabajo o por estudio, pero generalmente cuando es por trabajo, lo hacen ya con el trabajo conseguido desde su lugar de origen. Tal vez no sea algo tan común o fácil de hacer, pero es mas normal que en Argentina.
En nuestro país, generalmente la gente "del interior" viene a la Mega ciudad de AMBA (Area Metroplitana de Buenos Aires...o sea Capital y Gran BsAs) a vivir y tratar de conseguir trabajo, muy pocos llegan ya con un trabajo. Lo mismo sucede con los locos que nos vamos a otra provincia, la mayoría primero llega y luego consigue el trabajo. Es muy dificil conseguir el trabajo estando lejos, la mayoría de las empresas tiene procesos arcaicos en donde en un punto u otro te quieren ver en vivo y en directo. Hoy por hoy hay 2 rubros en donde se puede conseguir trabajo antes de llegar: Turismo (mayormente trabajos temporales) o en Informática, como es mi caso.
Camino al trabajo
En 2011, cuando estaban terminando mi carrera, empecé mi búsqueda de oportunidades en las provincias Argentinas. Lamentablemente, como en casi todos los rubros, la mayoría de las empresa tecnológicas se encuentran en el AMBA y en menor medida en las grandes ciudades (Córdoba, Rosario, Mar del Plata, Tucuman y Mendoza), en los polos tecnológicos (San Luis, Paraná, Tandil, Posadas, entre otros) o en el único lugar en donde se hace tecnología de punta: Bariloche (Centrales Nucleares y Satélites tambien necesitan ingenieros en sistemas).

La mejor forma de empezar es tratando de saber primero a donde queremos ir a vivir (y tener más de una opción por las dudas) y luego armar una lista con todas las empresas que están en esa zona. A veces es dificil ir hasta el lugar y conocerlo en persona, aunque es lo ideal, hay que aprovechar unas vacaciones para ir y conocer.
Hoy en día ayuda mucho Linkedin y Google, buscando palabras claves como "relocalización", "relocarse","trasladarse", etc.
Luego hay que empezar a hacer networking en Linkedin con los de RRHH y empleados de las empresas de la zona que nos interesa. Los reclutadores por razones obvias, y los empleados por que a veces te pueden dar información a cerca de la empresa que trabajan ( es solo cuestión de pedirlo amablemente)
Una vez que tenemos la ciudad donde queremos vivir, las empresas disponibles, y los contactos, hay que empezar la búsqueda. Muchas veces las empresas no publican en los medios tradicionales que usamos, como los portales de trabajo o Linkedin mismo, por eso hay que mandarles nuestro curriculum igual, uno nunca sabe.

El asadito se hace con Leña!
Lo ideal es empezar por las empresas que hacen búsquedas activas y una vez que entremos en contacto ir tanteando cuales están dispuestas a contratar gente "de afuera". La mayoría quieren al candidato en el mismo lugar para poder entrevistarlo, hay que tratar que te acepten tener una primera entrevista via skype o similar. Luego hay que tratar de reducir el grupo de empresas a aquellas que esten dispuestas a ofrecer un plus por trasladarnos hasta allí a trabajar y vivir y negociar.
En mi caso particular tuve una sola propuesta en donde me ofrecían el alquiler temporal de un departamento y un plus por mudarme y fue en Belatrix, una de las principales empresas de servicios nearshore de latinoamerica. Todo el proceso lo hicimos via skype y me facilitaron todo lo necesario para ayudarme en la transición a mi nuevo trabajo y ciudad. Belatrix tiene oficinas en Chacras de Coria, con unos hermosos jardines y otras en plena Ciudad de Mendoza, mas parecidas a cualquiera de las que se pueden encontrar en BsAs.
Finalmente, una vez que conseguimos el trabajo, lo que hay que hacer es sacarse el miedo al cambio.
Tenes hijos? te lo van a agradecer, van a vivir mas tranquilos, conseguiles una casa con jardín (generalmente cuestan menos alquilar que en AMBA). Estas casado? habla mucho con tu pareja antes de empezar la búsqueda, pero mucho, y si pueden ir juntos a conocer la ciudad en donde quieren vivir, mejor. Vas a extrañar a tu familia? cuantas veces la ves al año? skype y 1 o 2 horas de avión hacen que las distancias sean cortas. Yo he visto a mi familia al menos una semana al año en estos 3 años.
Es fácil cambiar? y no, no lo es, pero si no probas nunca vas a saber que vale la pena. Hay que dejar de tenerle miedo al "interior" y ver las oportunidades que hay mas allá del Gran Buenos Aires.
Cada día hay más empresas dispuestas a contratar gente de Buenos Aires, por que, como en todos lados, la gente de sistemas escasea. Es cuestión de buscar y ser valiente.
Ojalá mi estadía en Buenos Aires sea lo mas corta posible y pueda volver a ver estos jardines.

Vista desde mi escritorio en Chacras de Coria
Nota aclaratoria: Aunque trabajo para Belatrix, este post lo hago por que quiero. No ha sido solicitado por nadie de la empresa y es mi opinión personal.

jueves, 6 de noviembre de 2014

Disipando Conceptos Erróneos - "Vamos a automatizar todo y deshacernos de todos nuestros Testers"

Hoy les traigo un post de Dan Ashby, un Analista de Testing de Londres.
Este es el 5to post de una serie, y como se trata de automatización y me estoy metiendo de lleno en estos temas, me pareció muy interesante traducirlo. Espero que les guste.



Oigo esto todo el tiempo. Incluso de gente de muy alto rango. El último de ellos fue de un gerente de desarrollo, preguntando por qué estamos "todavía necesitando tener testers probando el software, si estamos apuntando a  automatizar el 100% de todo"...

En primer lugar, la verdad es muy simple: sólo se puede automatizar lo que sabe y esperas.

Cuando pensamos acerca de los "órdenes de ignorancia", entonces se hace más claro de por qué no es posible automatizar todo. Para aquellos que no están familiarizados con las órdenes de la ignorancia, permítanme explicarlos...

Hay 5 órdenes de ignorancia:


  • El orden 0 de la ignorancia es la falta de ignorancia. Esto es esencialmente conocimiento. El conocimiento que se puede demostrar en una forma tangible. Por ejemplo, yo estoy bien informado sobre el hecho de que es imposible automatizar todo.
  • El primer orden de la ignorancia es la falta de conocimiento. Esto es cuando no sabes algo y sabes que no sabes eso. Un ejemplo de esto sería que no sé cómo utilizar la herramienta  OWASP Zed Attack Proxy tool, en todo su potencial. Soy consciente de que yo no sé mucho acerca de esta herramienta específica y puedo elegir entre aprender o continuar el uso de diferentes herramientas como Fiddler o Burp Suite.
  • El segundo orden de la ignorancia es la falta de conciencia. Esto es cuando no sabes que no sabes algo. Así que aquí es donde yo no soy más que un ignorante sobre algo, pero yo soy ignorante al hecho de que soy ignorante respecto a eso. Obviamente no se puede dar un buen ejemplo de esto, ya que eres ignorante de ello. :)
  • El tercer orden de la ignorancia es la falta de proceso del descubrimiento. Así que aquí es donde no estás enterado de ninguna forma de obtener el conocimiento que no sabes que no sabes algo. Esto significa que no se puede aprender sobre las cosas que no sabes, por que no sabes (es decir no puedes tomar conciencia de las cosas que son del segundo orden ignorancia para convertirlas en cosas del primer para la ignorancia).
  • El cuarto orden de la ignorancia es un poco descarado. Se trata básicamente de no estar al tanto de los 5 órdenes de la ignorancia. :)


Entonces, al relacionarse esto a la automatización... Puedes sólo automatizar realmente las cosas que están dentro de el orden 0 de ignorancia, donde se tiene el conocimiento y la expectativa de cómo debe funcionar la funcionalidad, por lo tanto, escribes una afirmación que comprueba la salida y devuelve un "pass" o "fail", en cuanto a si la salida cumple esa expectativa inicial.

Por otro lado, cualquier cosa que se ajuste dentro del resto de los órdenes de la ignorancia (en concreto el primer y segundo orden de la ignorancia), será imposible de automatizar, ya que no tienes conocimientos previos sobre cómo funcionará la funcionalidad o función. No tienes una expectativa o no eres consciente de ciertos escenarios o variables que rodean la funcionalidad con el fin de ser capaz de formar una expectativa que sea capaz de afirmar ese chequeo.

El Pensamiento Lateral y Testing Exploratorio ayudan en la transformación de los "desconocidos" en "conocidos", también ayudan en la transformación de los "desconocidos-desconocidos" en "incógnitas conocidas". Si bien no es posible hacerlo únicamente manteniendo conversaciones previas, las conversaciones ayudan. La mejor manera de aprender adecuadamente acerca de cómo funciona realmente un sistema, es de aprender del sistema a medida que investigamos. Por lo tanto estamos aprendiendo continuamente, diseñando nuestras pruebas (pensando nuevas preguntas para hacer al software) y haciendo nuestras pruebas a medida que aprendemos más.

Un segundo punto que me gustaría resaltar es que, incluso para las cosas de orden 0 (las cosas que usted sabe, ni pensar en las cosas que usted no sabe en este momento), es:  va a ser realmente de valor en la lucha para automatizar todo en lo que usted tiene una expectativa? Por ejemplo, ¿vale la pena la automatización de un escenario que sólo tenemos que ejecutar una vez?

Al pensar en lo que hay que automatizar, tenemos que pensar en VALOR... Yo soy un gran defensor de la automatización. Es muy valiosa en los entornos ágiles de hoy, con todo moviéndose mucho más rápido y fluido, con más agilidad. Nos da repetibilidad y feedback extremadamente rápido para nuestras tareas de comprobación, tales como pruebas de regresión o sanity/smoke testing. También es muy útil para ayudar a tus actividades de ensayo pensantes, usarlo para cosas como la creación de datos o la realización de acciones para llegar a lo profundo del flujo de trabajo a la parte del sistema que necesitas para poner a prueba... 
Sin embargo, tenemos que ser conscientes para qué la automatización es útil, y cuáles son las limitaciones, para que no caigamos en este concepto erróneo y cometer algunos errores graves.

Por lo tanto, la próxima vez que escuche a alguien decir "Vamos a automatizar todo", habla con ellos acerca de por qué eso en realidad no es posible y ayuda a hacer del mundo un mejor lugar :)

Dan Ashby