viernes, 13 de julio de 2012

Piola vago

En nuestras frecuentes charlas de facultad surge el debate permanente acerca del nivel de preparación que se exige a un alumno para aprobar tal o cual materia, de los contenidos que tiene o debería tener esa materia, de la manera de articular las materias dentro de la carrera, etc.etc.etc. En algún momento el tamiz parece llevarnos a diferenciar dos grandes corrientes:

  • los técnicos
  • los no-técnicos, aquellos que se jactan de no saber programar, o lo dicen poniendo la misma cara de no tener encendedor porque "no fumo, ¿viste?". 
Los de la primera oleada son acusados de nerds, de no poder trabajar con "herramientas más abstractas", de ser poco amables (en mi laburo se solía decir "es áspero porque es muy técnico"), y por ende se busca que los usuarios no hablen con ellos. El ghetto se completa porque los técnicos se ríen de los no-técnicos, saben que el resto del mundo no los entiende y las veces que alguien intenta cambiar esta situación alguien sale herido.

Ya tempranamente podemos ver esos aparentes perfiles en los alumnos:
  • tipos que disfrutan del código: se les ve en las caras, les brillan los ojos cuando conocen el orden superior, quieren saber de qué está hecha la ALU, o bien adoran implementar un ORM porque pueden conocer así ambas formas de modelar la información
  • los otros se escudan en que "no me gusta mucho programar", "me cuesta", "no debería programar en la materia XXXX", "me parece mal que se enseñe codificación porque acá se deberían ver herramientas de más alto nivel".
Ahora bien, el desarrollo de software necesita sí o sí la pata técnica: para armar la arquitectura requerís conocimientos técnicos, para diseñar los componentes necesitás saber tecnológicamente qué restricciones aplican (en cuanto al paradigma y a la arquitectura), y para liderar un proyecto necesitás conocer la naturaleza que tienen los productos de software. 

Entonces decir "no me gusta lo técnico" te deja afuera de un montón de lugares que podés ocupar en un proyecto de software. ¿Dónde encajás?
  1. Siendo project leader (creyendo que podés coordinar la construcción de un puente, llevar adelante un proyecto de Smart TV o bien dirigir a los científicos que encuentren la vacuna contra el SIDA)
  2. Siendo usuario (haciendo que los demás te construyan sistemas)
  3. Siendo gerente
  4. Siendo más que gerente (CEO, director)
  5. Siendo un vendedor "técnico" pero que no le gusta lo técnico
  6. Siendo un "consultor" inespecífico
  7. Tener una consultora (ver punto 4)
  8. O siendo un funcional que no puede diseñar, o "no le gusta diseñar".
Pero ¿cómo anda esta gente en lo gestional? 
Por supuesto, algunos bien y muchos mal. 

En el primer caso los he visto y muchos fueron compañeros de trabajo: tipos que dijeron no me caso con la tecnología pero fueron buenos funcionales, armaron buenos modelos, rebatieron mis ideas con fundamento y me ayudaron a mejorar, o fueron respetuosos PM/PL (project leaders), confiaron en mí que fui su pata técnica, donde confiar es verdaderamente confiar cuando uno dice "está todo bien" o "está todo mal", cuando uno dice "son 8 horas y no 4", cuando frenan la ansiedad del usuario o me dejan a mí para que lo convenza de algo.

A los que entran en la segunda camada la cosa está difícil para defenderlos: ok, no les gusta lo técnico pero en lo otro también hacen agua. ¿Qué les pasa? ¿Qué objetivos persiguen?

Mi conclusión al día de hoy es que se trata de gente que está flotando: buscan hacer la plancha (no se gana tan mal en sistemas), sólo contestan mails para cubrirse, delegan todo el trabajo y la presión a los que pueden responder. Son mediocres. No transmiten pasión porque no la tienen, no hay fuego en su interior. No son sommelliers de productos de software: ni siquiera pueden distinguir una obra de arte de un pedazo de excremento. También los he visto: alumnos y compañeros de trabajo (funcionales, PM, gerentes e incluso técnicos). Por eso pido perdón a la generalización de "funcional = no tenés huevos" que se extiende en nuestra comunidad nerd. No es justa la simplificación. 

Sí sabemos que es más fácil "robar" y transigir en zonas grises como funcional que como técnico, porque en definitiva lo que no se analiza, lo que no se diseña, los casos de prueba omitidos se cubren con desarrollo o con bug-fixing. Lo mismo da en la facultad como en lo comercial: 
  • si en la clase de Decorator hago un diagrama de clases que esté mal, apuesto a que sólo un 20% lo puede detectar, 
  • pero si además del diagrama lo implemento y corro un test unitario y no funciona, se ve. Sale un rojo, eh. 
Y les dejo para el final apuntes de dos compañeros de ruta:

Miguel Carboni: "Hay una moda de disimular la falta de solvencia técnica alegando
cierto destino manifiesto de gestor (bastante improbable por cierto).
Es como una escuela de medicina donde nadie aprende anatomía confiando
en que al recibirse va trabajar dirigiendo un servicio o un hospital."



y Nico Passerini: "No hay una discusión técnico vs. no-técnico, solamente hay gente que no tiene ganas de aprender... y cree que siendo no-técnico se va a notar menos.

Pero también están todas las cuestiones humanas y de la visión que ellos tienen de cómo se organiza una empresa, la visión de la jerarquía, de la autoridad, del mando. Por eso, en esa visión para ser jefe no se necesita saber nada más que manejar bien el látigo."

Que la pasen lindo.



miércoles, 15 de junio de 2011

Pasionaria

La vida no admite una única taxonomía: es cierto que podés dividir entre los que fueron al psicólogo y los que todavía no, también es cierto que están los que les gusta cocinar y los que compran todo hecho, o más genéricamente los que tercerizan fanatizados por la onda del outsourcing que nos trajeron los noventa y los que siguen siendo self-made-man, los que creen en la manufactura y la cosa artesanal, aunque más no sea para tener un hobby.

Pero para entender el título de este artículo, vamos a comenzar con algunos ejemplos que muestran que hay gente que se juega la vida por ciertas cosas, y gente a la que le da lo mismo lo que sea:
  • Los ves cuando vas a jugar un partido de fútbol 5: están esos que hacen un gol y lo gritan photoshopeando en su imagen mental una cancha repleta, flashes y relatores, y mientras abren sus brazos sienten la consagración de sus sueños postergados durante tanto tiempo. Y están los que les da lo mismo correr, ganar, perder, hacer un gol en contra, o se dedican a hablar con los rivales contándose chistes. Eso saca de quicio a los pasionarios, que piensan lo que van a decir los diarios ficticios el día siguiente.
  • Están los que el laburo les representa algo de satisfacción, necesitan desafíos (son los tipos Y según Douglas Mc Gregor), quieren hacer las cosas bien, son perfeccionistas y obsesivos, les irrita ver que otros compañeros de trabajo no ponen todo de sí, o regulan, o directamente delegan la tarea en otras personas pasionarias que no se dan cuenta de que las están usando. 
  • Eso lo vemos en el rubro de sistemas, donde es más natural ver que los no-pasionarios (que suelen tirar la frase "a mí programar no me gusta") prefieren correrse a tareas funcionales. Pero ojo, uno ve también programadores sin pasión: tipos a los que le da lo mismo programar bien que mal, usar variables con nombres representativos o variables "cuki", "boquita", "rabufetti" o directamente "i", "k", "j", gente a la que no le importa que el código quede prolijo o mantenible, que construye software cuyo desapasionamiento se nota hasta en la interfaz de usuario: las pantallas no tienen consistencia, en algunos casos Aceptar y Cancelar se invierten, o Aceptar es F4 en algunas pantallas y en otras F3, los campos están desalineados o comprimidos o con enormes espacios sin nada que contar, si te movés con Tab hacés saltitos de a 4 campos, etc.etc.etc.  Claro, no me vengan a retrucar con que hay funcionales que sí son pasionales: los he visto y los conozco, y son más bien pocos: tipos que llegan hasta la médula (el código) y que no tienen miedo de entender la tecnología, tipos que llevan en la sangre algo más que el horario de 9 a 18 y la hora para almorzar.
  • Pero fuera del rubro de sistemas esto también pasa: está el docente que busca los huecos administrativos para pedir licencias, el que siempre espera que otro docente "lo cubra" para los actos, para los exámenes, para preparar material y están los docentes que tienen en sus casas kilos de goma eva, papel glacé metalizado, los que investigan y preparan sus clases con el mismo ahínco con que la prepararon la primera vez. 
  • Están los mozos profesionales, esos que son capaces de retener lo que piden los clientes habituales, el timing justo para que la comida llegue para que el comensal lo disfrute, esos mozos de los restaurantes del centro que tienen cara de mozo, moño de mozo, saco de mozo y esa postura elegante, canchera pero formal. Y están los tipos a los que les da lo mismo servirte o no, los que los ves que están pensando en otra cosa, que no conseguís llamarlos para recordarles que querés queso para los fideos que se enfrían. 
Y lo mismo para las otras cosas de la vida: están los que dedican su vida al blog, y están los que como yo, les dio mucha flojera seguir escribiendo, pero no tanta como para seguir un parrafito más: claro que no tenemos el chip puesto en "pasional" / "no pasional". Esto lo elegimos por área/ámbito/momento de la vida/y muchas variables más. Lo que sí es constante es el sentimiento de no entender los unos a los otros, ni por qué se hacen "tanta mala sangre", ni por qué "todo les da lo mismo". El punto medio, ya se sabe, es el infinito, sólo un concepto que se inventó para vendernos libros de autoayuda.

martes, 24 de mayo de 2011

Oportunidad laboral

Dos palabras que ya no llaman la atención, al igual que los mensajes que uno recibe en el contestador avisando que nos acabamos de ganar un 0 Km o aquellos viajes a Buzios en el 1 a 1. Las oportunidades tienen que ser eso, oportunas, y no podemos confiar en que cada dos días la oportunidad esté a la vuelta de la esquina.

¿Qué es lo que ofrecen y qué es lo que intentan ocultar cada una de las empresas cuando buscan gente?

Antes que nada voy a avisar que me voy a referir al palo de sistemas, porque armar un compendio de lo que hacen los empleadores con dos o tres casos de primos o conocidos no es cosa de ingenieros, eso se lo dejo a Pettinato.

Vamos entonces a las categorías:


Empresa grande no-consultora: sueldo menor al promedio del mercado, ofrecen estabilidad laboral, en muchos casos la posibilidad de hacer "la plancha" tras algunos meses de derecho de piso. Si uno quiere puede trabajar, pero escasean ofertas de trabajo técnico, se pide más gente que pueda hacer "seguimiento", y no se valora el conocimiento. Ideal para las personas en las cuales el trabajo está en un segundo plano, eclipsado por el amor, la familia, otros negocios paralelos (tienen su propia consultora o sueñan con tenerla), la piratería (entiéndase por amoríos o actividades non-sanctas), la colección de estampillas o bien la práctica de un deporte.

Empresa grande consultora: En esta categoría entran las grandes empresas que son reconocidas consultoras. El sueldo es bajo, suelen tener alta rotación y tenés dos tipos de empleados: los que tienen más de 8/9 años en la compañía y los que no llegan al año. Ofrecen la espalda de ser consultora conocida, pero saben que dan un servicio flojo a sus clientes porque no les importan las personas. Usan a sus empleados y dejan a su vez que sus empleados los usen (lo que en biología podría describirse como mutualismo) porque les cierra el mercado que atacan, que son principalmente empresas grandes, donde ganan fácilmente las licitaciones por lobbies, contactos o simplemente porque son una empresa grande reconocida. Los que están hace 8/9 años suelen ser trabajadores compulsivos, o tienen algún tipo de compensación por viajar a países que acaban de adquirir su independencia, o tienen volcanes de más de 3.000 metros. Los "viejos" en la consultora suelen ocupar cargos jerárquicos medios, y se sienten cómodos aunque ganen apenas unos pesos más que los trainees que dejarán de ver el año que viene. Los trainées son estudiantes de los primeros años contactados por la Bolsa de trabajo de alguna facultad, a los que le dieron un curso de capacitación en la tecnología que el cliente grande quiso que el proyecto se desarrolle. Algunos hasta se la creen, usan corbata y les encanta hacerse tarjetas con siglas en inglés que dicen que saben hacer café y tostadas sin quemarse, y programar 50 líneas de COBOL por día.

Consultora "estrella": las consultoras estrellas eran consultoras chicas que la pegaron con licitaciones de alguna empresa grande y están en pleno período de expansión. El sueldo puede ser alto porque el sector Recursos Humanos recién se está armando, y como las consultoras estrellas tienen contratos millonarios -para ellos- se pueden dar el lujo de tomar gente por lo que dice el currículum que sabe. Luego estas mismas consultoras se desencantan y empiezan a darse cuenta de que las personas también mienten, o bien se van convirtiendo en empresas consultoras grandes, con lo cual el salario va decreciendo y Recursos Humanos + Marketing + todos los socios de la compañía se encargan de que el objetivo de la consultora no sea hacer que la gente esté contenta para ofrecer un producto de calidad, cosa que a esta altura las consultoras estrellas dudan en seguir haciendo. Estas consultoras ofrecen una buena oportunidad para crecer laboralmente, en cuanto a sueldo y en cuanto a fogueo. Lamentablemente debemos decir que también estas consultoras son las que más gente "queman": en cuanto a adelantar etapas de responsabilidades, en cuanto a horas de trabajo (suelen decir que son empresas muy "dinámicas" y con un "agresivo esfuerzo por el objetivo cumplido", esto los lleva a los empleados a tener una jornada de 10 a 13 horas diarias sin contar los sábados), tienen mesas de ping-pong, de pool, y cosas que se pueden usar cuando se cae un proyecto mal estimado o cuando están por reubicarlos en el quinto anillo del infierno.

Consultora mediana estándar: son empresas que han decidido no crecer o estancarse. Tienen clientes cautivos, o fieles, que cada tanto peligran por los cambios de directores y hacen tambalear o desaparecer este tipo de empresa. Hay una cierta chance de ganar lo que el mercado dice y que las personas importen, pero la realidad es que la mayoría de estas empresas tienen un buen nivel de ingresos y no quieren arriesgarse, así que la tecnología suele ser obsoleta y las oportunidades de crecer pocas, los mandos medios son ocupados por la gente que ayudó a crecer (y luego a estancar) la empresa, por lo que son personas con grandes recelos de perder el terreno perdido y se suelen manifestar inestables con sus empleados. Por supuesto esto no es ley, puede ocurrir que no suceda en absoluto esto. Como consultora mediana, sufre presiones de sus clientes y responde de la manera obvia: accede a todos los pedidos, motivo por el cual los empleados de esta compañía suelen tener picos de jornadas laborales largas mechados con jornadas más tranquilas, dependiendo de cuánto le guste jugar al gerente de cada compañía cliente.

Consultora chica: en este tipo de consultoras el sueldo fluctúa mucho, se pueden disparar a consultoras estrellas o desaparecer en promesas de crecimiento que nunca llegan. Suelen arrancar entre dos a cinco personas que trabajaron juntos anteriormente o que fueron compañeros de facultad, el 80% no sobrevive al segundo año por recambio de la parte societaria o peleas internas por las tareas que cada socio cumple en la compañía. Son, no obstante, empresas ideales para aprender mucho y para hacer la facultad, ya que por el sueldo bajo muchos no ofrecen reparos en dar días de estudio. Claro, si encima hacen problemas por eso, el estudiante suele buscar otra consultora chica que le quede más cerca de la facultad.

Seguro me olvidé de las empresas medianas o chicas que tienen un sector de sistemas, pero falta poco para que llegue un pibe que voy a entrevistar. Ah, ¿no les conté? Tengo una consultora. Pujante. Bah, en realidad es una sucursal de una empresa grosa de EEUU. Acá se habla en inglés, y los horarios son muy flexibles. Eso sí, cuando tenemos un objetivo lo cumplimos... (blah blah blah)

viernes, 1 de abril de 2011

Los nerds sindicalizados

Recién en el laburo pensábamos que así como hay licencias de software que ponen restricciones como:
  • cantidad de usuarios simultáneos
  • soporte para moneda extranjera
  • funcionalidades "pro" vs. "amateur"
sería bueno que nuestro sindicato (donde "nuestro" incluye gente techie como programadores, DBA, especialistas, tecnológicos, o sea todo lo que no está relacionado con los seres humanos: es por eso que los funcionales están excluidos de este conjunto). Uf, quedó muy largo el paréntesis anterior. Pongo un punto y aparte y empiezo la frase de nuevo.

Ahora sí: decía que sería bueno que nuestro sindicato tuviera un "service-level agreement" de cada uno de nosotros, en base a
  • experiencia
  • nivel de sueldo
  • otras cosas a considerar por los lectores
esto te determinaría un escalafón, y llegaríamos a situaciones como:

1) Un DBA de escalafón 2 te puede hacer 2 inserts y hasta 7 selects por mes. Si querés más tenés que subirlo de escalafón o contratar a otro.

2) Un programador de escalafón 1 te garantiza 5 redoings de correcciones boludas,  e introducir 1 bug jodido en una app que ya funcionaba (como no cerrar conexiones contra el SQL o abrir indiscriminadamente 20 conexiones y cerrarlas cada vez que quieras pegarle a la base). Un programador de escalafón 3 se puede negar a hacer EJBs 2.0 por considerarlo "obsoleto" e "impropio de las buenas prácticas del paradigma", pero un programador de escalafón 4 se puede hacer el gil y hacértelo sin chistar, incluso dejando objetos ADT y objetos rules lo más campante (y publicarlo orgulloso en su blog miren-cómo-lo-hice-yo-que-soy-un-banana.blogspot.com).

Claro, eso llevaría a confusas compulsas del sindicato en contra de la empresa, y daría la estocada final a la implementación de proyectos de sistemas, cosa que ya hoy se ve dificultada por reglas mucho más graciosas que las que este blog humildemente propone, como:

1) "El cliente lo pidió así"
2) "El cliente no quiere XXXX donde XXXX es Hibernate, Java, .Net, F#, Ruby on Rails, Win32, Open Source, frameworks que provengan de gente vegetariana, etc."
3) "Necesitamos que las tablas no tengan id autoincremental"
4) "Ventas ofreció el producto en 3 meses, así que lo tenemos que terminar en 3 meses"
5) "Las especificaciones funcionales no están todavía, pero no podemos esperar a que el usuario lo defina, ustedes arranquen, pero por favor no hablen con el usuario, ellos no deben saber que ya empezamos"
6) "¿Cuánta gente necesitamos para cubrir los 4 meses del proyecto que todavía no evaluamos?"
7) "Tengo un proyecto de 50.000 u$s, después vemos qué le damos"
8) "Uds. hagan las pantallas y que pinche todo, pero que las pantallas estén porque si no no cobramos"
9) "Todas las consultoras saben que un junior es un semi-senior, un semi-senior es un senior y los seniors no existen, son los padres"

Atte.
La Gerencia

jueves, 3 de marzo de 2011

Frases breves para la gente común

Se sabe que tipos que tienen mucho tiempo como los escritores, los actores desocupados, los libretistas que abusan del copy & paste y los vendedores de autos usados suelen tener un par de frases latiguillos, algunos remanidos y otros más efectivos, para causar gracia o despiste en el otro.

Algunos piensan frases ingeniosas para, por ejemplo, publicarlo en un blog. A mí eso me parece poco apropiado. ¡Qué más da!

En fin, para aquellos que querían, vamos a ir dejando esas frases para que guarden, para que tengan y para que distribuyan entre sus amistades

Si un señor pisa el vestido de una mujer, ¿es violencia de género?