miércoles, septiembre 16, 2020

Ofertas laborales: Lo siento, no tengo tiempo para responder tu desafío técnico

 


Cuánto sentido me hace este artículo que leí hace poco:  


A la fecha llevo 1 año y 5 meses trabajando para una empresa, y parte del flujo de contratación de desarrolladores involucra una prueba técnica. No es nada de la Nasa, pero tampoco es trivial.

Cuando recién postulé, paralelo lo hice a  otra empresa y, tras una entrevista personal, pedían resolver un desafío técnico que me tomó cerca de  7 horas resolver.

Por una cosa personal me dije responder el desafío y hacerlo con todo lo recomendado:

  • Buenas prácticas
  • Documentación
  • Código versionado
  • y otras originalidades que se me ocurrieron en el camino
la idea era que aún cuando estaba, a sabiendas, cumpliendo sólo el 50% de lo requerido, mi postulación destacara al menos por sobre la media. Y el resultado, me informaron que pasé a una nueva entrevista, para la cual nunca me llamaron. 7 horas de trabajo gratis, sólo para el regocijo personal de haber hecho algo bien hecho... Ni siquiera un feedback de porque no resultó (en realidad  aún no se de ninguna empresa que  entregue feedback a aquellos entrevistados que no fueron seleccionados).

Como ya mencioné, la empresa para la cuál trabajo también hace este tipo de pruebas de selección. Y por esos misterios que a veces resulta mejor no saber, en mi caso bastó con presentar y explicar algunos de los litros y litros de código que había hecho. Mi actual jefe me hizo pregunta de la prueba técnica, y si mal no recuerdo le di al menos 3 formas para resolver el problema.

Ahora que ya llevo tiempo en la empresa, y ahora que lo pienso también, en realidad no tengo tiempo para desafíos técnicos. Y es sencillamente porque, a menos que en realidad me interese  demasiado la posición a la que estoy postulando, difícilmente hay salarios que valgan tanto la pena como para sacrificar tiempo de familia, ocio y descanso. 

Pensemos objetivamente (ojalá  toque un empleador leyendo esto)
  1. Un postulante ya trabaja en el área, seguramente  toda la semana viendo lo mismo ¿pedirle qué siga codificando fuera de horario?
  2. Un postulante está buscando trabajo, y lo más seguro es que tenga al menos 3 o 4 postulaciones en curso. Lo más seguro es que al menos 2 de las áreas  creativas  ya estén solicitando que se respondan  desafíos técnicos. ¿Punto 1 multiplicado por n?
    Estamos claros que esto no es problema de ninguna empresa, pero esto no transmite  precisamente la mejor de la imágenes respecto a la cultural empresarial, si te piden que  para postular   sacrifiques  tiempo propio, ¿qué puedes esperar si te contratan?
  3. Hubo una época que proliferaron ofertas de la India para responder tu test técnico para entrar a Facebook, Amazon, y Google,  era algo así como "x 60 USD  te aseguro que  quedas seleccionado". Un desafío técnico "para la casa" no da garantías que quien postula efectivamente lo haya resuelto, y aprender a explicar  código ajeno puede no ser  trivial, pero tampoco es  ciencia de cohetes.
  4. Una entrevista técnica bien hecha (por alguien del área técnica) debiera ser suficiente para juzgar las competencias de un candidato. Resolver un desafío  de código breve in-situ es incluso ilustrativo del cómo piensa cada candidato para resolver un problema, esto es ¿cómo resolverías blah...? pseudo código, diagramas, etc.
  5. Las entrevistas, en general, tienen intrínsecamente un factor intimidatorio, y buena parte de quienes hemos escogido este camino, somos de naturaleza más bien tímida (se pasa con los años...).  Dicho esto, si quiero conocer a alguien, mejor pedirle que hable de las cosas que ha hecho, con las que está familiarizado y de las que le resulta  natural hablar. Qué te expliquen código, o te muestren proyectos propios o en los que hayan participado es mucho más ilustrativo de las competencias de un candidato que forzarlo a resolver una prueba técnica.
  6. Alguien tiene que revisar las pruebas técnicas. Supongamos un escenario imaginario optimista, más de 100 candidatos en total, y de esos 100 más de 40 respondieron la prueba técnica (de nuevo, optimista...). Yo fui ayudante de un curso de computación en una universidad, cursos de más de 40 alumnos, me tomaba una semana revisar los trabajos para la casa. 
    La empresa ya destinó tiempo para las entrevistas, ¿porqué mejor no aprovechar de buena manera ese mismo tiempo?
  7. Si un candidato pasa el desafío técnico, es contratado y no rinde como se espera; como empleador; lo vas a terminar despidiendo igual. Los 3 meses a prueba antes del contrato indefinido no son un costo ni un riesgo que no se haya considerado, y los desafíos técnicos no van a disminuir la probabilidad que te equivoques en una contratación.
Y así podría estar mucho rato escribiendo sobre el tema. Los desafíos técnicos no son la forma adecuada para seleccionar desarrolladores. Hoy en día a menos que seas un estudiante  sin mucho que hacer en tu tiempo libre, te dediques a participar activamente en hackatones como si fuera un deporte, o que tu hobby sea escribir código (hay casos raros a sí de extremos), el costo personal de  responder un desafío técnico es muy alto, tiempo que nadie te paga, y que no vas a recuperar.




En lo personal una entrevista que la lleva completamente un reclutador sin conocimientos técnicos, y que además implica una prueba técnica, me levanta las alertas inmediatamente. Lo más probable es que no sea la oferta que estoy buscando (o que  deba mirar), y probablemente tampoco tenga  una oferta salarial atractiva.
Normalmente (sé que no es bueno generalizar, pero son años de experiencia viendo lo mismo, de una u otra forma)  las empresas cuyos procesos de selección van casi completamente definidos por una prueba técnica son empresas con olor a auto nuevo, que buscan al "recién egresado más competente y más barato de la actual generación". Ahí los viejos mañosos, caros y sobre-calificados, no tenemos cabida, y por eso se agradece cuando una empresa se arriesga con uno y valora la experiencia de eso que han llamado "ingeniero de desarrollo senior".


jueves, agosto 27, 2020

Plebiscito de Octubre 2020: ¿Apruebo o Rechazo?

 El paso de los meses lo hace inminente, se acerca el ya pospuesto plebiscito de Octubre 26, 2020 en Chile, donde la ciudadanía va a votar para determinar si  se APRUEBA la moción para la creación de una Nueva Constitución, bajo el alero de una Asamblea Constituyente, o si derechamente se RECHAZA.

Las opciones, como ya se podrán imaginar son:

  • APRUEBO: Para aprobar la iniciativa
  • RECHAZO: Para  rechazarla

No hay ciencia de cohetes en eso. Ahora, si  volvemos en el tiempo a 1988, el 5 de Octubre se llevó a cabo el plebiscito que  definiría el retorno a la democracia, después de 17 años de dictadura. En esa oportunidad se votó SI, para continuar con el "gobierno" (comillas intencionales...) del general Augusto Pinochet, y NO para  volver a la democracia. 
No puedo no pensar en que  las opciones  APRUEBO y RECHAZO, se denominaron así para no  desempolvar los fantasmas del pasado, que  muchos no han sabido dejar atrás; aunque obviamente el contexto es diferente y, en este caso votar SI (APRUEBO), es la opción "de los buenos"y votar NO (RECHAZO) la "de los malos". Sobre-simplificando, de una manera sumamente populista,  tenemos 2 bandos:

  • Los "buenos", que quieren un cambio
  • Los "malos", que quieren que todo siga igual
Pero tratemos de ir un poco más allá de esta burda separación.

¿Necesitamos una nueva constitución?

Partamos por que, sin conocimiento político ni leguleyo concreto, tenemos una Constitución  que data de 1980, es decir plena dictadura, y uno de sus ideólogos fue Jaime Guzmán. Una Constitución muy acorde a la época, y sin embargo en muchos aspectos garantista, en cuanto a los derechos humanos (en serio léanla, son 120 páginas de  sana diversión).

Entonces, si es de dictadura es mala (cuco, odio, satán, diablo, caca, malo malo)

En realidad, y nuevamente desde el punto de vista de un weón que no es político, ni entendido, no, no es que la wea sea mala. Los tiempos cambiaron, Chile cambió (aunque arrastra una generación entera de weones trancados), las necesidades cambiaron, la REALIDAD cambió, ya no estamos en los 80s, lo que excepto en aspectos musicales, es bueno, es bueno estar en el siglo 21.

La democracia, y el tiempo fue revelando que la Constitución del 80, es incompleta, y en muchos sentidos, muy pro ciertos intereses de ese porcentaje de la población que tiene más poder, sea adquisitivo, político o empresarial; eso obviando también aquellas  secciones donde la visión de los 80 termina siendo retrógrada. Entonces no es solamente el código de aguas, la plata de la AFP, el porcentaje máximo convencional, o el derecho al aborto, o como queramos decorar y referirnos a esa casi interminable lista de cosas que "no se pueden hacer" porque son declaradas como inconstitucionales, y obviamente el motivo de la corredera en círculos persiguiéndose la cola de todas las momias legendarias que  deciden en la corte lo bueno y lo malo desde el punto  de vista legal..

Pero ¿y el estallido social?, la gente está descontenta

Si, y no fueron los 30 pesos del alza del pasaje del Metro, que por cierto lo subieron igual por si alguien no se dió cuenta. Fueron años de rabia acumulada en que un país entero avanzaba en el tiempo (y sigue avanzando), pero bajo estándares de siglo pasado (literalmente).

Si bien es cierto se hicieron reformas a la Constitución, y las leyes, y bajo una impresión que siempre todas estas modificaciones protegen al empresariado y no al pueblo, estas siguen sin ajustarse a la realidad
país actual.
Dicho eso, resultado estallido social, un manoseo excesivo de la palabra DIGNIDAD, y destrozos. El presidente Piñera se refirió en algún momento, y de manera bastante desafortunada por decirlo de alguna manera, como "Estamos en guerra contra un enemigo poderoso e invisible". Quienes alguna vez pasamos por Plaza Italia después de alguna manifestación podemos dar fe de un escenario de guerra. Lo único que faltaba  era un par de edificios semi-derrumbados y  montones de cadáveres en el suelo. Una violencia desmedida, que efectivamente  es reflejo del descontento social, pero que no justifica una zona entera de la capital totalmente inhabilitada para todo. Gente que  perdió sus trabajos, que  vió desvalorizadas sus propiedades, que se vió obligada a  encerrarse (fuera de un escenario de  pandemia)  en sus casas. Demandas legítimas, SI, sin duda,  y que sin embargo se ven empañadas por destrucción.

Las nuevas generaciones  no tiene sentido de la propiedad, el país no es de ellos, sino de aquellos con poder, aquellos que hay que destruir y perjudicar, siendo que romper un paradero, o un semáforo no  daña al gran empresario, sino que daña al trabajador que ya no tiene donde tomar la micro para poder volver a su casa después de trabajar. El país es de todos nosotros, los que nos descrestamos el lomo trabajando para tener lo poco que podemos tener.

No justifico la destrucción, la parte triste de la historia es que para poder reconstruir tienes que  saber echar abajo.


Efectivamente, NO ES LA FORMA. Nuevamente un problema que se arrastra de una "cultura" (comillas intencionales) tercer-mundista, donde si el pueblo no patalea con destrozos, el gobierno, o las esferas de poder, no reaccionan.

Entonces, ¿necesitamos una nueva constitución?

Seamos realistas, por mucho RECHAZO que haya v a ganar el APRUEBO. Y aunque gane el APRUEBO, el proceso de  una nueva Constitución se va a demorar por lo bajo 4 años, o sea con fé el 2025 recién se va a ver  alguna luz del resultado de este proceso.

Y me preocupa que la Asamblea Constituyente, sea constituida por gente que no está debidamente capacitada para definir una Constitución, gente que conozca la actual Constitución, que la entienda, y que pueda definir algo mejor que lo que ya hay, porque otro elemento a considerar, se  pide un borrón y cuenta nueva, léase partir de  foja cero, en blanco.
La señora Juanita, que  siempre tiene algo que decir en las juntas de vecinos, a la que incluso los malandros más malandros del barrio le hacen caso, probablemente no sea precisamente la persona más adecuada para constituir parte de esta Asamblea. Y eso lo van a suplir con asesores que si supuestamente si tendrían las competencias para pronunciarse respecto a este tema, pero ¿qué o quién nos garantiza la transparencia política de estos actores? Y la respuesta es NADIE, el proceso querámoslo o no se va a teñir de algún color político vamos a tener peleas de monos en todos lados.

Para responder a la pregunta voy a referirme a mi experiencia. Por una cosa puntual tuve que sacar plata del APV para poder solucionar un problema financiero, ni siquiera hablamos de platas de la AFP, sino del APV, mi plata con menos restricciones que los fondos de la AFP. Cuando hice el retiro me explicaron que me iban a descontar un porcentaje  "en castigo" por haber retirado plata antes. Weón, ¡ES MI PLATA! y me cagan igual, y como uno necesita las lucas, cagaste, hay que asumir no más. Las ISAPRES, weón todos los años la misma pelea, los qls te suben los planes, cambian las condiciones  de los contratos unilateralmente, y si no reclamaste a tiempo (un trámite que  un mortal común y silvestre sin asesoría de u abogado no podría hacer bien), cagaste, te subieron el plan y anda a reclamarle a la FIFA. Otro ejemplo, las universidades, weón si en algunas no chupaste la suficiente corneta durante tus años de estudio, y no te  hiciste amigo del decano/rector/director de carrera/profe guía, te rajan o te cagan olvídate de exigir lo justo o lo que corresponde, son sectores con el suficiente poder como para cagarte alegremente y que  uno como vil mortal, las tenga todas de perder. En las empresas, te encargo el amiguismo, cuantas veces no vi que a colegas se los cagaba un weón de jefatura ql que es amigo de la alta gerencia. Entonces es una suma de weas, que uno, como vil mortal, esperaría que no fueran así, o que algún weón te defendiera, o en algún lado se resguardaran tus derechos.
Y SI, muchos de mis ejemplos no tienen puta relación con la constitución, el descontento  es así, y se quiere empezar por algo que al menos te garantice las bases (o te haga cree que las garantiza).

En un principio la opción era clara, RECHAZO, querer hacer una nueva Constitución es  estar puro webiando. Y no por miedo a convertirnos en un 2do Venezuela, como lo quieren hacer pintar algunos weones pro-RECHAZO. Hacer una Constitución desde cero es  estar puro webiando, ni culturalmente, ni educacionalmente, ni eticamente, ni moralmente, Chile derechamente NO ESTÁ CAPACITADO para gestar una nueva Constitución. Y sigo creyendo eso. Yo iba más por reformar la wea de Constitución que ya tenemos, pero eso tampoco es un APRUEBO, es un punto medio que no existe.

¿Entonces APRUEBO?

P'ta si, pero más que por querer una Nueva Constitución como todos/casi todos los weas pro-APRUEBO sin leer una puta wea de la actual Constitución más allá de la portada azul con letras blancas dicen, es por una wea de mensaje.

El mensaje del voto RECHAZO no es rechazar una nueva Constitución, es querer que la wea siga exactamente igual a como ha funcionado hasta ahora, que nada cambie y que los   qls calientasillas del Senado sigan sin hacer ni una wea útil.

Votar APRUEBO remece esa wea, hace que los weones por último entiendan que la gente quiere que las weas cambien, a pesar que  esa wea ya la saben, pero en democracia los weas necesitan de votaciones para saber que wea quiere la ciudadanía.

Usted sabrá que wea vota si es que vota, yo quiero que las weas cambien, ojalá cambien, pta hagan el amague de cambiar, aunque sea en el largo plazo. Votar RECHAZO es decirles a todos los weones inútiles que las weas están bien como están, y que no es necesario que cambien.

sábado, septiembre 21, 2019

Como ser Amazing: La necesidad de un desarrollador senior

Sólo por si las dudas, este no soy yo :)

Hace algunos meses comencé a trabajar en una empresa pequeña, bajo el requerimiento de "Desarrollador full-stack senior". Al poco tiempo los chicos del equipo me empezaron a denominar medio en serio medio en broma "Amazing", básicamente por cierta capacidad que he desarrollado con los muchos años de experiencia, de ver un mensaje de error, entenderlo y solucionarlo de manera relativamente rápida. Cabe señalar que no funciona con absolutamente todos los errores, pero si con una gran mayoría, por fortuna los que desarrollamos software tenemos cierta tendencia a ser medianamente claros con los mensajes de error que aparecen en las pantallas, salvo los originales que desarrollaron Microsoft Windows (recuerden las míticas pantallas azules y sus códigos inentendibles).

En una actividad de empresa decidí hacer la presentación "Cómo ser Amazing" en la que traté de  explicar un poco el proceso de mantenerse vigente, a la edad de 42 años, en equipos de desarrollo conformados por millenials (promedio 27 años +-). Para ver la presentación naveguen con las teclas N y P de sus teclados.

Partamos por lo básico, ¿qué es un desarrollador senior?

Si nos vamos por el lado literal, sería alguien de avanzada edad que aún se dedica al desarrollo de software. Pero por ahí no va la cosa, un desarrollador senior es un desarrollador que tiene varios (a veces muchos) años de experiencia en el desarrollo de software, conoce varias tecnologías, conoce varias metodologías de desarrollo, varios lenguajes de programación, y ha adquirido experiencia demostrable en varias áreas del desarrollo de software. No necesariamente es un experto en todas las materias que conoce, pero tiene la capacidad de desempeñarse bien en todas ellas.

Típicamente los reclutadores no saben medir a un senior, por eso deben auxiliarse en entrevistas directas con personal de las áreas más técnicas para poder saber si un candidato es el desarrollador senior que dice ser en su Currículum Vitae.

¿Cuánto se demora un desarrollador en llegar a ser senior?

No es un tema de años, es un tema de experiencia. Con un ejemplo, puedes llevar más de 15 años picando piedras y eso no te va a convertir un experto constructor. Conozco desarrolladores senior 10 años menores que yo, y también quienes llegaron a serlo pasados los 50. Hay que programar mucho, meter los dedos en la máquina, adquirir una visión global de las necesidades informáticas que estamos atendiendo, y aprender mucho en el camino. Y cada cual tiene su propio paso para lograrlo.

Y no es magia. No es que uno termine los estudios en el instituto, universidad u otra institución académica y salga como desarrollador full-stack o desarrollador senior.
Por cierto, me referí a la subespecie full-stack de desarrolladores; eso da para un artículo totalmente aparte. El resumen útil es que uno no llega a ser full-stack con un curso carísimo (ejem cof cof Desafío Latam, NextU) que entrega pinceladas de las herramientas que se utilizan en desarrollos full stack; el proceso mental de entender que estamos usando y porque lo estamos usando es estrictamente necesario antes de ensamblar los bloques de Lego a lo brutito.

Competitivamente es complicado mantenerse vigente. Complicado porque cada nueva generación viene mejor capacitada, nacieron con Internet y pantallas touch, acceder al conocimiento es tan simple como un par de clicks. Más complicado cuando nuestra realidad de país se mezcla con realidades de otros países, realidades social y económicas muy diferentes, que hacen que el profesional senior  nacional (Chile) se vuelva comparativamente  caro con profesionales extranjeros igualmente capacitados e instruidos, incluso a veces mucho mejor que nosotros.

Eso nos lleva a los seniors a una lucha constante por mantenerse vigentes. Hay que leer y escribir mucho código, leer muchos artículos, no parar nunca de aprender, un proceso que no puede detenerse.

¿Qué gracia tiene un desarrollador senior, de dónde viene la necesidad?

Incorporar un senior en un equipo de ... iba a decir de pollos, pero se lee feo... de millenials, pasa por darse cuenta que tu organización necesita una dosis extra de experiencia y visión que no necesariamente vas a encontrar dentro del equipo que ya tienes. No me malentiendan, elementos brillantes va a encontrar en todos los equipos de desarrollo, personas con un grado de genialidad y visión destacables; sin embargo hay momentos en que  se necesita la visión dada por  la experiencia, de aquel que no sólo ha resuelto problemas sino que también ha visto como evoluciona cada solución propuesta.

Ya, pero ¿qué gracias tiene un senior?

Hasta donde me he dado cuenta todo parte desde la experiencia. Pero uno tiene que saber hacerse valer. Algunas cosas que sin ser exclusivas de un senior, si debieran ser esperables en quienes dicen serlo:

  • Atención al detalle, código fino que considera los casos de borde. Al principio pensé que era un tema casi exclusivo de la Escuela, pero en realidad no es tan así, hay de todo en la viña del Señor.
    Por ejemplo un endpoint en una API, resuelve un requerimiento. Pero hay un caso bastante aislado, que sucede de cuando en cuando, donde la respuesta es nula por un problema de conexión. Lo más típico es que la API implemente la solución al problema, y la captura de errores sea o pospuesta (el peor caso de creer que todo siempre opera bajo el escenario feliz) o delegada a un ErrorHandler más global (lo que es bueno de tener). Un senior típicamente analizará la implementación, forzará ese error y otros aún más raros, y verá cómo atenderlos de la mejor manera posible.
  • Fuente de respuestas a consultas varias. Debido a que un senior "las ha visto todas", cada nuevo requerimiento puede pasar por su consulta experta.
    Qué herramienta utilizar para cierto requerimiento, que librería puede servir, hasta un clásico de qué manera lo harías son consultas recurrentes. Y típicamente un senior tendrá algo que decir para todas ellas.
  • Soluciones o enfoques fuera de la norma. Muchas veces va a suceder que un problema termina siendo más complicado de lo que suponíamos. Al consultar a un senior es altamente probable que le dé un enfoque diferente al tradicional.
    Un ejemplo que recuerdo, me consultaron sobre el siguiente problema, una aplicación de identificación de rostros debe poder determinar si la imagen que se le está presentando es o no una fotocopia. El problema es que el análisis de colores de la fotocopia arroja colores dentro de la gama de grises y amarillos, pero obviamente el software sólo obtiene valores numéricos y no colores propiamente tales, fuera que la medición es continua y no discreta. El enfoque que se propuso fue determinar una "banda de grises" usando como referencia el selector de colores del programa The Gimp; así si una muestra estadística de los colores de una imagen cae en esta banda, entonces hay cierta probabilidad que se trate de una fotocopia. Y con una debida parametrización este enfoque  funciona bastante bien.
Y esas son pocas entre varias, al final la experiencia de un senior es valorada independiente de si es o no un experto en las materias que se le requiera. Un poco como la historia del tornillo.

Los peros


Que te entreguen la denominación de senior también conlleva saber cargar con ese rol:
  • Un senior no puede pecar de arrogante, y confiar demasiado en su experiencia.
    Los errores por "creerse demasiado el cuento" son tan grandes  como tu propio ego, y eso lo aprendí después de varias caídas importantes.
  • Muchos van a querer adoptar a un desarrollador senior como su mentor, o como su ejemplo a seguir.
    Ser un ejemplo a seguir implica dar el ejemplo, conocer buenas prácticas, código limpio, metodologías, dominio sobre las áreas de experticia, y sobretodo tener la claridad que a pesar de ser un senior, no necesariamente tendrá la verdad absoluta ni la última palabra en un tema.
  • Un senior debe reconocer el mérito ajeno, e impulsar los pequeños logros que lo rodeen.
    Ya sea en el código, incluyendo las referencias a las fuentes originales (Github, Stackoverflow, otros), o en reuniones donde otros integrantes del equipo se hayan echo cargo de resolver problemas que hayan consultado al senior.
  • Un senior debe transmitir liderazgo, tanto por experiencia, conocimiento y por calidad humana.
  • Un senior no puede quedarse atrás.
    En particular la informática es una constante carrera de información y aprendizaje constante, no se detiene, y si se quiere mantener vigencia como profesional del área, uno no puede darse el lujo de quedarse atrás. Y esto es difícil, porque la lucha se vuelve contra un mercado cada vez más competitivo.
Y así muchos más que se escapan de la cobertura que puedo dar con este artículo.

Al final la clave de todo está en la experiencia y cuanto se haya aprendido de ella, no sólo en términos técnicos y como resolver los problemas, sino como se combina lo anterior con el crecimiento personal; y como se sigue creciendo cada vez que toca ser un senior en una organización.

 

sábado, mayo 04, 2019

Crónica de una muerte anunciada



Se veía venir, mi desmotivación estaba aumentando insanamente mi habitual hostilidad por sobre los niveles socialmente aceptables. Así que una vez que una de mis varias postulaciones prosperó, renuncié a mi trabajo.

Yo lo veo como el cierre de un ciclo, las favorables condiciones que "me enamoraron" en un comienzo cambiaron a tal grado que se respiraba malestar e incomodidad. Pero en la cima de pirámide siempre serán incapaces de mirar de manera crítica más allá de sus pestañas, porque incluso sus narices sería que miraran demasiado lejos. Lo dicho, empresa familiar donde quienes toman las decisiones sobre temas técnicos no son del área, y el gerente TI jamás se empoderó de su cargo (y por cierto tampoco es ingeniero informático sino eléctrico...)

Entonces analizo hacia atrás y miro al futuro. Un nuevo desafío, donde una vez más rememoro ese episodio donde se dijo que "hay cosas que no se transan", o en este caso cosas que no se pueden pagar con dinero.
Efectivamente se lee como una contradicción a uno de mis últimos artículos, pero todo se trata de plata y al final no se trata de plata. Como ya han señalado demasiados autores, uno no renuncia a su trabajo, uno renuncia a su jefe. Pero hay señores feudales que no van a aprender a gerenciar/liderar  equipos como se debiera hacer, alimentar el bolsillo es siempre más importante que hacer buena gestión, y digo gestión de proyectos, de recursos y por sobre todo humana. Al menos para mi resulta inconcebible que una empresa se maneje desde el desconocimiento de los proyectos en curso, el estado de estos proyectos, y con una priorización basada en el "tengo que facturar", o en cual es el cliente que está llamando al gerente. Sin embargo la parte triste de la historia es que parece que esa estrategia funciona.

En un viaje al extranjero, conversando con un chofer de Uber me quedo grabada una frase que dijo "La gente ya no se preocupa por la gente" ("People don't care about people"). Y en países tercermundistas aspiracionales como Chile, lo vemos a diario, sobretodo como empleados. No hay (lo sé, estoy generalizando...) preocupación real por los trabajadores.

Me fui desilusionado, desilusionado al ver que como en 5 años la misma empresa no haya aprendido absolutamente nada en cuanto a gestión de proyecto informáticos, cero avance en las tecnologías utilizadas, el archipiélago de islas uni-personales en el equipo de desarrollo persiste, cero crecimiento profesional (los años van a pasar y vas a seguir picando las mismas piedras) y por sobre todo un  retroceso en torno a la gestión del recurso más importante en una empresa: las personas; quienes siguen ahí no porque sea la mejor de las empresas, sino porque no pagan mal. Como dice el secreto a voces en la empresa "Se notó demasiado el cambio de mano" y no para bien.

Y podría seguir descargándome, pero no. Simplemente voy a concluir que como la mayoría de las segundas partes (a excepción del Imperio contraataca) este capítulo fue algo decepcionante.
Pero así es el rock & roll del ingeniero de software, es iluso esperar que todo sea felicidad y éxito; es  casi como esperar que todo funcione bien a la primera.

sábado, marzo 02, 2019

Reclutadores, LinkedIn, y los cargos de papel

Imagen sacada desde http://howtosavetheworld.ca/2018/08/29/hierarchy-is-the-enemy-of-learning/
Hace algunas semanas atrás apareció en la empresa para la cual trabajo un nuevo personaje. Su misión encubierta: gerenciar los proyectos en curso de una empresa "hermana". Su misión real, o más bien como la estamos percibiendo, hacer sonar los tambores y dar golpes de látigo de cuando en cuando, y paquear, como decimos en Chile a los que hacen de policia.

Eso, junto al cambio de oficina, definitivamente vino a quebrar el "equilibrio espiritual" que nos envolvía. Poniéndolos en contexto queridos lectores, el área de desarrollo se encontraba literalmente en el último rincón de la oficina, donde estábamos muy cómodos y tranquilos, con todo lo que necesita un área de desarrollo, agua, cafetera, fruta, dulces, pizarra, panel Kanban, mucho espacio y juguetes. Nos forzaron a mudarnos literalmente al frente de la oficina, detrás de la secretaria de recepción, totalmente expuestos, y obviamente con la absoluta carencia de  muchos de los elementos que nos mantenían cómodos y a ratos felices; sabiendo que las áreas de desarrollo tienen que mantenerse escondidas de los clientes (digamos que el orden diferente de estás áreas siempre es por lo bajo disrruptivo, y tiende a ser confundido con desorden).

Pero no, no voy a hablar de mis descargos, sino de cierta peculiariad que me hizo recordar cuando traté con un personaje que al irse de la empresa para la cual trabajábamos en ese entonces,  puso en su LinkedIn que había sido el arquitecto Java. El nuevo personaje en cuestión aparece con el original cargo de "Sub-gerente de desarrollo de negocios y estrategia digital" . Esto nos hace pensar varias cosas:

  • ¿Se puede ser sub-gerente de una gerencia que no existe en la empresa? Para LinkedIn y para los miles de "reclutadores" que se fían de  estos antecedentes, claramente.
  • Nadie nos informó que este personaje venía como sub-gerente. De hecho si no es por LinkedIn nadie se  entera del supuesto cargo que detenta.
  • ¿Las gerencias estarán enteradas de esto? La lógica nos indicaría que si, al menos por un tema ético, pero nuevamente, nadie nos ha informado al respecto. Uno esperaría que los amitos se dirigieran a la plebe con un "Hola. Les presento a Pepito TeVe , que va a er nuestro sub-gerente de blah... y se va a encargar de bleh.." Contra el como nos lo presentaron "Hola, él es Pepito TeVe y nos viene a apoyar en la gestión de los proyectos de blih...". Entre ambos discursos veo perturbadoras y no tan sutiles diferencias.
  • Finalmente surge la pregunta ¿porqué? y aquí es donde entran los "reclutadores" de LinkedIn.

Reclutadores de LinkedIn

Típico que cuando uno anda merodeando por LinkedIn, y sobretodo si uno se ha encargado de hacerse cierta publicidad llenando bien el CV, uno recibe algún mensaje de algún reclutador. Este tipo de reclutadores es como a quien encargan a leer los avisos económicos de los periódicos. Buscan algo que se ajuste a lo que se necesita, y después alguien más se encargará de llamarte o contactarte para una conversación más seria.

El problema es que puedes haber puesto "Jefe supremo del mundo mundial de todo el universo" y si el título pareciera ser lo suficientemente convincente nadie, y digo NADIE,  se encargará de verificar si efectivamente fuiste el Jefe supremo del mundo mundial. El papel aguanta mucho, entonces si el reclutador hiciera bien su trabajo harían un mínimo de trabajo de contactar a alguien (ojalá al azar) de estas empresas y hacer las averiguaciones básicas.
Esto sería la misma cuota de azar para bien o para mal, pero también  una ganancia para las empresas que no estarían perdiendo el tiempo con quienes mienten en sus cargos actuales, y un incentivo para los empleados para ser honestos en su CV. ¿Muy utópico? Probablemente, soy de la filosofía de que si no quieres hacerte cargo de tus mentiras, ni de las mentiras ajenas, entonces mejor no mientas.

Yo esperaría que en el futuro cuando Pepito TeVe sea un cesante más y un reclutador vea su CV en LinkedIn alguien verificara si efectivamente ejerció el cargo de "Sub-gerente de desarrollo de negocios y estrategia digital", o si solamente fue el cargo de papel que probablemente le valga la posición de Gerente de proyecto/producto en alguna startup, lo que siendo realista, como posición  es bastante más cercano  a lo que actualmente cree que está haciendo.

Palabras al cierre del artículo: Por si notó cierto malestar y una importante carga de ironía, si. Efectivamente. Al menos mi malestar, a modo personal, es evidente; sin embargo claramente importa un pepino. Peeeero... así como tienen personajes imaginarios en sub-gerencias imaginarias, lo siempre lógico es gerenciar sobre un equipo también imaginario.

jueves, febrero 07, 2019

La entrevista de 5 minutos

Original de https://www.flickr.com/photos/visualpunch/7245652114

Hace algunos días atrás LinkedIn me envió un listado de "atractivas" ofertas laborales, entre ellas una que particularmente me llamó la atención. Se trataba de una startup, con cierta antigüedad (pero sigue siendo startup, como los autos usados con olor a nuevo), que buscaban un profesional más o menos con mi perfil. Dado que la curiosidad fue más fuerte postulé, y no les miento, en menos de 5 minutos me estaban llamando por teléfono.

Haciendo caso omiso de la calidad de la llamada, porque se escuchaba como si mi interlocutor estuviera encerrado en un bunker bajo tierra, la llamada comenzó con casi un "¿Cuándo puedes partir?". Mi enfoque habitual es de "Por favor, cuéntame más de que se trata la oportunidad, qué es lo que están haciendo, y qué es lo que necesitan". Siempre procuro hablar de "oportunidad" contra hablar de "ofertas", ya que una oferta siempre va con el monto visible para los interesados. Por otro lado las oportunidades son comparables a ver el aviso de venta de una casa, no necesariamente  van con el precio.

El resumen corto, empresa "joven"; información corroborable en Internet; con pocos empleados, varios clientes "grandes/importantes" del rubro retail (lo que no es mucho decir considerando la cantidad de proveedores de servicios que manejan las multitiendas), más un par de organizaciones sin fines de lucro. El proyecto era para alguna multitienda, y la intención era hacer un cambio completo de arquitectura, de modo de irse por el camino de los microservicios , usando Java. La necesidad puntual, un arquitecto Java con, digamos, "destrezas" en "otras áreas".

Conversamos un rato, le conté que estaba haciendo, que había hecho, y llegamos a la parte siempre dolorosa para los entrevistadores, las pretensiones de sueldo. Le señalé que mis pretensiones se ajustaban acorde  a los más de 15 años de experiencia que tengo, y empezamos con problemas. Mis pretensiones obviamente no estaban acorde a los montos que la empresa consideraba para el cargo, me ofreció 2 montos, uno inferior a mi sueldo actual, y otro al nivel de mi sueldo actual. Consideren  que los cambios laborales, salvo circunstancias demasiado particulares, siempre debieran ser por mejores condiciones; si no hay mejora aparente mejor sigan donde están. Después de "aceptar" a regañadientes mis pretensiones, me consultó cuál era mi disponibilidad, a lo que repliqué que necesitaba al menos 2 a 3 semanas para poder cerrar los temas que tenía a cargo. La idea al cambiarse, es siempre salir por la puerta ancha; el mundo es demasiado pequeño para salir "en mala" como decimos en Chile, lo que eventualmente puede cerrarnos algunas puertas en el futuro.
Eso tampoco prosperó, la necesidad para esta nueva posición era inmediata, dadas las fechas cercanas del inicio del proyecto. Finalmente le dije que me mandara un correo; cosa que no hizo; con esos mismos antecedentes de modo de poder manejar mis tiempos y ver  la posibilidad de irme a su empresa.

Consejo gratuito a los reclutadores: NUNCA, pero NUNCA NUNCA NUNCA, revelen la urgencia de su necesidad de contratación. Es un antecedente que se va a volver en "su contra" (léase a favor de uno) al momento de las negociaciones. En fácil: Las urgencias siempre son más caras.
Corolario de lo anterior: Eviten que el rol del reclutador lo lleve un líder técnico.

Eso fue la llamada. Obviamente después hice un breve análisis de la situación. En lo personal me pasa algo cuando se me presenta un proyecto, donde el interlocutor habla con cierta propiedad de conceptos como microservicios, APIs REST, metodologías ágiles, TDD, devops, big data, business intelligence y otras "palabras de moda" en el contexto TI. 

Mi primera reacción es cuestionar la real comprensión de cada uno de los términos, porque por ejemplo para el caso de los microservicios, no es llegar y cambiar hacia una arquitectura a microservicios, sobretodo si inicialmente es un monolito. Eso aparte de una gran consideración que todos quienes hemos querido jugar con microservicios tendemos a olvidar: efectivamente hace que las capas de tu arquitectura se vuelvan modulares, "más sencillas" (es un gran es relativo), ya que van a resolver funcionalidades/servicios puntuales más pequeños; sin embargo tu arquitectura inmediatamente gana más componentes, lo que se traduce en más componentes para mantener. Esto sumado a que además debes hacer "conversar" los componentes entre si (aunque en rigor al menos esta parte es transparente, ya que la capa de orquestación se encargaría de esto).
Piensen en un monolito como bloque de piezas de Lego, pero uno donde pasarlo a microservicios implica desarmar el bloque y agregarle piezas nuevas para sostenerlas por separado. En el suelo es más fácil clavarse los pies al pisar muchas piezas pequeñas que clavarse pisando un bloque grande (un monolito).

Y esto no quiere decir que los microservicios sean intrínsecamente malos, sino que la labor del arquitecto de software (obviemos la etimología del concepto arquitectura) no es sólo velar por la correcta implementación e implantación de los microservicios, sino además saber y hacer saber si efectivamente son la mejor solución para el problema.

Entonces tomando como antecedentes la urgencia del requerimiento, el rango salarial ofrecido, la experiencia y perfil de la empresa, y la cantidad brutal de conceptos de moda que lleva el proyecto, mi conclusión; en un lenguaje bastante coloquial; es que esta startup se está tirando los peos más arriba del poto (literalmente en español no-chileno, y usando el verbo peer conjugado correctamente, peyere más arriba del trasero). Una empresa con pretensiones excesivamente altas para un equipo que sospecho (arriesgo equivocarme) aún no tiene las competencias para un proyecto con microservicios. Y de paso les cuento algo: Yo tampoco tengo esas competencias, en un contexto práctico no académico-teórico.

domingo, diciembre 23, 2018

Cambio de trabajo: Un año después


Y bueno, ha pasado un año (en realidad algunos días más) desde que decidí cambiarme de trabajo. Lo típico, el análisis de porque me fui y que ha sido de eso.

El porqué me fui, ya no es misterio, entre la incertidumbre de no saber si el próximo mes iba a haber algún proyecto, entre seguir siendo el ingeniero frontend más caro dentro de la empresa, y seguir haciendo "nada útil",  y ver un "cambio". En estricto rigor fue algo más como un "cambio de aire" que otra cosa, ya que volví a una empresa donde ya había trabajado.

¿Y la promesa? (otra promesa, no las del chiste "fino") Nuevos proyectos, nuevos desarrollos, varias cosas en las que mis especialidades calzan perfectamente.
Y ¿es cierto? Si, claro. Pero al final no se trata de crecimiento profesional, ni de espacios para investigación, ni de un buen computador para trabajar. Tampoco de ser parte de un equipo de excelencia, donde el nivel técnico fuera muy alto; si fuera por eso hubiera seguido picando piedra donde mismo.

Al final se trata de lucas, dinero, chinchin, cash. Si el sueldo es bueno, y las condiciones de trabajo se ajustan al margen que uno está dispuesto a negociar, el espíritu del mercenario despierta. Si tu oferta es buena, no me estás vendiendo humo, y las condiciones son a lo menos comparables a mis condiciones actuales, conversemos. Laboralmente, por feo que se lea el ser tan honesto, todos tenemos un precio, por el cual ningún compromiso laboral, ninguna camiseta de la empresa, ni gorro corporativo, ni elegante uniforme de trabajo, valen el quedarse. Las oportunidades raramente golpean tu puerta 2 veces, y no es y llegar dejarlas pasar de largo.

Pero eso fue mi año laboral, raro, donde mucho sigue igual, mucho debiera haber cambiado para mejor, pero a la larga lo mismo de hace 5 años atrás donde la empresa familiar sigue siendo familiar, y donde el área de desarrollo es un República independiente.

¿Y el año que dejé atrás? Como le mencioné a un ex-compañero, que ya no trabaja ahí, la torre de Yenga se derrumba. Por lo que alcancé a ver antes de decidir terminar el contacto con ese grupo al que tanto cariño le tuve, han sabido sobrevivir. Pero en un año y al menos 3 personas menos en ese equipo, me queda claro que allá más arriba, no aprendieron nada. Las tropas siempre inquietas, y sobretodo disconformes por no saber que pasa en el Olimpo. Si claro, el Olimpo maneja las cosas entre Dioses, pero nosotros los pobres mortales que a la larga nos encargamos de "parar la olla" como dice nuestro lider técnico (cof cof wannabee), tenemos que al menos saber si los Dioses exigen un sacrificio.

Eso sumado a quienes constantemente dicen que quieren emprender un nuevo camino profesional. Las tropas están inquietas, y a los buenos soldados hay que cuidarlos; eso no debiera ser difícil de entender, aprender y asimilar.

¿Fue una buena decisión? Siempre es buena decisión moverse, ojalá no demasiado seguido para que los psicólogos laborales no empiecen a inventarse una lectura entre líneas. Siempre es bueno si ese movimiento te permite una reinvención financiera, digamos pasar de excavador sepulturero a caminante blanco.

Mi consejo (no solicitado, por cierto) para sus propios años laborales: Hagan lo que consideren mejor para ustedes. Si creen que quedándose donde están estan mejor, quédense. Si creen que necesitan aceptar esa oferta de Tesla, váyanse. Si creen que merecen descansar unas cuantas jornadas, HÁGANLO. Pero OJO, nunca dije que lo mejor para ustedes sea lo correcto, a veces eso también hay que saber transarlo (aunque hay cosas que no se transan).
Vean la proyección a futuro de las ofertas que se les presentan, a veces la genial y súper cachilupi startup con sala de juegos es una empresa donde respiras el perfume de la fecha de expiración; o donde todo es muy bonito, cultura de empresa, metodologías, pero te casas con el sueldo que pediste (y con tu cargo, y con el computador que te pasan).

Cuando los quieran retener con el clásico discurso de "Te igualo el sueldo que te ofrecen, pero quédate" simplemente cuestiónense porque no les subieron el sueldo cuando  lo pidieron y les ofrecen subirlo ahora que se van. Estadísticamente, si aceptan esa oferta y se quedaran, al final igual terminan lléndose.

Y después de este desborde de honestidad, probablemente Bobba Fett sea un candidato más atractivo que yo para ciertas empresas.