Practicante o esclavo

En los últimos meses debido al desempleo estructural en los países desarrollados, a la gran cantidad de universidades y el gran número de adultos que vuelven a las aulas con la esperanza de adquirir nuevos conocimiento que los vuelvan competitivos en este difícil mercado laboral y a los altos niveles de desempleo juvenil como resultado de  que la mayor parte de trabajos que no requieren mucha experiencia han sido externalizados (outsoursing), está surgiendo un fenómeno que sólo se veía en países subdesarrollados, el practicante esclavo.

La primera voz de alerta de esta situación la dio un artículo de Ross Perlin en el New York Times titulado "Practicantes sin sueldo, Universidades complices", de abril de este año, en el cual el autor describe como el alto desempleo estructural que afecta a las economías desarrolladas, la legislación que obliga a los estudiantes a realizar practicas mientras cursan los últimos semestres de sus carreras han creado el terreno propicio para que las empresas consigan mano de obra gratuita, lo cual lógicamente agrava el problema el desempleo, porque las empresas no necesitan contratar a alguien para cubrir un puesto de trabajo cuando pueden rotar practicantes en alguna determinada posición.

La explotación de practicantes, es decir obligar a alguien a que trabaje por nada por un periodo de tiempo a cambio de que gane experiencia es algo común en países en vías de desarrollo, o al menos es el statu quo en países como el Perú donde crecí y fui objeto de dicha práctica, aunque tembién debo aclarar que cuando estuve a cargo de practicantes, en lo posible intenté enseñarles algo de lo poco que sabía. Pero esta abierta política de explotación de los practicantes en países desarrollados como Estados Unidos o la Comnidad Europea, es algo nuevo para mi. Y al parecer también lo fue para el emprendedor y diseñador web Stu, que en su blog personal, escribió un muy combativo post llamado "Llamando mierda a las prácticas sin salario", en el cual comenta muy caústicamente dos anuncios de empleos de empresas que también se dedican al diseño web, que buscan practicantes con cierta experiencia (lo cual sabemos es una contradicción), pero que es un eufemismo para decir que se busca a alguien para que haga un trabajo de manera gratuita con la promesa de que "pronto" podría pasar a formar parte de la planilla.

¿Qué tan grande es el problema en los Estados Unidos de los practicantes sin salario?, según estadísticas publicadas en el libro Intern Nation, el porcentaje de practicantes que hacen labores por las que deberían recibir un sueldo y no lo están percibiendo subio de un 17% en 1992 a 50% en el 2008, y probablemente sea mucho más ahora. Tengamos presente que estas prácticas de hacer que los practicantes hagan un trabajo por el cual la empresa cobrará y no reciban nada por el fruto de su trabajo es ilegal en los Estados Unidos según el Acta Para Estándares de Trabajo Justo, pero desde que la "presidencia imperial" ha comenzado a ganar cada vez más poder desde las leyes pasadas por la administración Bush para otorgarle poderes al ejecutivo con el pretexto de la guerra contra el terror, cada vez se respetan menos las leyes y gracias a la complicidad de los grandes medios de comunicación, muchos de estos escandalosos abusos pasan ignorados por la gran mayoría del público a pesar de que en teoría estamos en la "era de la información".

Pero no sólo son los practicantes los afectados por este tipo de abusos, que en muchos casos es realizado por grandes empresas como General Electric o Disney, sino que las medianas o pequeñas empresas que respetan la ley y pagan lo justo, no pueden competir ante las empresas que gracias a la complicidad de un estado que tiene favoritismos, pueden ganar la mayoría de trabajos por ofrecer un menor precio (debido en su mayor parte a tener practicantes sin sueldo realizando el trabajo) y sacar del mercado a las empresas que tienen un buen comportamiento con sus trabajadores, es decir estamos ante un circulo vicioso que tiene por objetivo precarizar el empleo de la gran mayoría de la población y empujar hacia abajo los estándares de vida en los países desarrollados.

El consuelo de los practicantes del tercer mundo ahora, es que ya no están solos en la explotación. Pero esto está abriendo la puerta a una terrible guerra generacional, en la cual una gerontocracia de baby boomers, desea preservar sus prerrogativas y derechos "adquiridos" negandoselos a las nuevas generaciones. Lo más ridículo es que en el colmo del cinismo, Alan Greenspan uno de los principales autores de la presente crisis sistémica, no culpa al rescate de 4 billones (millones de millones) de dólares que los países desarrollados han tenido que inyectar al sector financiero para impedir el colapso de los grandes bancos, sino a falta de capacidad de las nuevas generaciones. Esto es lo que dice Greenspan con respecto a las nuevas generaciones:

"El ingreso promedio de los hogares de los EE.UU. cuya cabez de familia tiene 25 años de edad o menos ha ido disminuyendo en relación con el ingreso promedio de la población de baby boomers. Esta es una indicación bastante buena que la productividad de la parte más joven de nuestra fuerza laboral está disminuyendo en comparación con el nivel de productividad alcanzado por la generación de baby boomers a punto de retirarse. Esto plantea algunas preocupaciones importantes acerca de la capacidad productiva de nuestra fuerza laboral en los EE.UU. de cara al futuro."

La pregunta es si no te pagan por el trabajo que haces, como se puede esperar que los ingresos aumenten. La honestidad, de cualquier tipo intelectual, moral o humana es una de las virtudes de las que adolesce el señor Greenspan, que confrontado un sinnumero de veces contra hechos que falsifican completamente sus creencias en dogmas económicos, insiste en que el problema no está en sus modelos y teorías económicas, sino que la naturaleza no se está comportando "normalmente".

El escenario está puesto, tendrán las nuevas generaciones el valor y la entereza moral de iniciar una batalla por sus derechos, o sencillamente se asustaran y correran a esconderce en las casas de sus padres llorando por la falta de oportunidades, si esto último es lo que ocurre, es el fin de occidente y el final del progreso social como lo conocemos.

¿Qué pasa con la seguridad de la web?

El día de ayer Anonymous Perú (Piratas de la Red), atacó varias páginas web de instituciones del gobierno peruano, tal vez el ataques que más preocupación ha causado fue el lanzado contra el website de la Policía Nacional, específicamente el de las Aguilas Negras (la sección de la Policía Nacional que vigila los bancos), pudiendo hacerse con la base de datos de todos sus miembros y publicandola en su website. Los datos publicados por Piratas de la Red incluyen los nombres, el grado, el Carnet de Identidad Policial (CIP), el horario y ubicación de las entidades bancarias que custodian los oficiles en la ciudad de Lima. Al parecer el hecho de que la información no esté consolidada fue lo que libró que la identidad de todos los miembros de las Aguilas Negras en el interior del país sea revelada de igual forma.

Anonymous ya había anunciado a principios de esta semana un ataque a los websites de los gobiernos de Perú y Chile llamado "Operation Andes Libre Peru/Chile", video que tuvo repercución en los medios de comunicación masiva, sin embargo el video del viernes último que anunciaba una segunda fase de ataques tuvo menos recepción en los medios, aquí el video anunciando la segunda fase de ataques para el día de ayer Sábado 25 de junio de 2011:

 

 

Pero el problema de seguridad no sólo es de las webs peruanas, el día miercoles pasado (22 de junio 2011) en el periódico británico The Guardian, se informaba que el repositorio de plugins del popular CMS WordPress había sido comprometido y varios populares plugins entre ellos AddThis, WPtouch y W3 Total Cache, habían sido reemplazados por versiones que contenían backdoors que permitirían a los crackers tener acceso a los servidores que hostearan los websites. En abril de este año el servicio WordPress.com fue comprometido y los atacantes tuvieron acceso a las modificaciones del código fuente hechas para acomodar las funcionalidades sociales de dicho website, así como a las claves API de aquellos usuarios que integraron Twitter/Facebooks con sus blogs. Pero al menos la gente de WordPress.org actuo proactivamente y removió los plugin infectados y está obligando a todos los desarrolladores a cambiar sus passwords.

Pero tal vez el caso más espectacular de falla de seguridad de la semana que terminó fue el hecho de que durante 4 horas el servicio de almacenamiento en la nube Dropbox, permitió que sus usuarios se loguearan sin validar passwords, lo cual permitía a cualquier persona tener acceso a cualquier cuenta de Dropbox con sólo saber el nombre de usuario. Lo cual indica de que si se va a utilizar un servicio en la nube es mejor encriptar nuestros documentos ya que no se puede confiar en la seguridad de los proveedores de servicio.

Y también en la semana que pasó un ataque a Bitcoin (la moneda criptográfica de la red, que algunos legisladores tratan de prohibir), hizo que la cotización de dicha moneda cayera de 17 dólares por Bitcoin a apenas unos centavos en cuestion de minutos. Todo por el simple hecho de que la base de datos en el disco que contenía la billetera digital de los usuarios en el agente de intercambio de monedas MtGox  no estaba encriptada.

Bueno, uno puede entender que haya cierto interés en hackear a WordPress.org y poder accesar a literalmente millones de hosts en Internet para lanzar ataques DDoS o simplemente hacer Phishing, en el caso de Bitcoin el interés monetario es obvio se sustrajeron varios millones de dólares; pero en el caso de las Aguilas Negras, que sentido tiene exponer la vida de policias y sus familias por el sólo hecho de que protegen a instituciones bancarias, no que "Anonymous somos todos".

Lo que me sorprende es que hasta ahora la Policía Nacional no haya contactado a GoDaddy, la compañía que hostea la página web de Piratas de la Red para demandar la inmediata suspención de dicho hosting por violar claramente los términos del contrato de servicio y por otro lado contactar a Name.com, para exigir revele la identidad de quien ha comprado el dominio. En lo personal creo que la persona que ha lanzado este ataque contra la Policía Nacional del Perú y revelado la identidad de los agentes del orden es una persona joven, aún en sus veinte años, muy emocional y cree que este tipo de actitudes lo vuelven "cool", y no se ha dado cuenta de que al hacer esto está exponiendo a las familias de dichos agentes del orden a ser secuestradas. Además creo que debe haberle contado a algunos amigos su hazaña (así que comenzar a buscar en el twitter por pistas no sería una mala idea), me parece que es un miembro de la clase media alta (tiene acceso a una tarjeta de crédito) y puede estar en Lima o el extranjero.

 

El caótico proceso de creación de código en Facebook

He encontrado un interesante post en el blog FrameThink, en el cuál su autor que usa un pseudónimo "yeeguy", dice que ha tenido contacto directo con los ingenieros de Facebook por más de seis meses y ha logrado compilar unas notas sobre la metodología de desarrollo de software dentro del gigante de las redes sociales. Dado que el autor del post no puede ser claramente identificado y sus colaboradores "epriest" y "fryfrog" tampoco, debemos tomar todo esto pon pinzas. Pero hay cosas que me han llamado la atención y por ello las he incluído en este post.

He aquí algunas notas interesantes sobre el proceso de desarrollo de software en Facebook:

  • Los dos departamentos más grandes de la compañía son Ingeniería (desarrollo de software) y Operaciones (administración de sistemas), con 400 a 500 empleados cada uno. Justos estos departamentos suman más de la mitad de los empleados de Facebook.
  • La relación entre gerentes de producto e ingenieros está entre 7 a 1 y 10 a 1.
  • Todos los ingenieros que se unen a Facebook pasan por un "campamento de entrenamiento" que dura entre 4 a 6 semanas, en donde son entrenados sobre las peculiaridades del sistema corriendo errores y atendiendo clases y charlas de ingenieros seniors. Se estima que el 10% de los participantes de estos campamentos no los aprueban y por lo tanto no son admitidos en la compañía.
  • Después del campamento de entrenamiento, "todos" los ingenieros ganan acceso a la base de datos de Facebook. Según Facebook hay políticas internas muy estrictas que definen que es causal de despido. Ciertamente si esto es así, es una razón más para no poner información personal en Facebook, ya que por la famosa "cultura del encubrimiento" en las grandes organizaciones, nunca se sabrá de los malos manejos hasta que hayan causado un gran daño.
  • Cualquier ingeniero puede editar cualquier parte del código de Facebook a voluntad. ¡Uy!, si eso es cierto para mi es un milagro inexplicable todo el servicio no ha colapsado completamento.
  • Es una cultura basada en la ingeniería, según uno de los ingenieros entrevistados: "Los gerentes de son básicamente inútiles aquí". Como ideal me parece bueno, pero en la práctica, poner a un grupo de seres humanos a trabajar juntos, sin ningún tipo de supervisión y coordinación es simplemente imposible.
  • Durante las reuniones interdepartamentales de cada mes, son los ingenieros quienes llevan el hilo conductor, los que presentan los reportes de progreso de productos. Si alguién de marketing o de gerencia de productos hace muchas preguntas, entonces recibe sus gerentes reciben un feedback de que esa persona ha hablado demasiado en la reunion. Otra vez, esto parecen los sueños de algún desarrollador, pero no es la forma como operan grandes compañías, es más ni Google que es una empresa mucho más posicionada en el mercado y con una larga tradición de gerencia orientada a la ingeniería, opera de esta manera.
  • Las disputas de si una nueva idea vale la pena ser implementada, es usualmente resuelta invirtiendo una semana en desarrollarla y luego probandola en un pequeño grupo de usuarios, por ejemplo implementar esta nueva característica en el 1% de los usuarios de Nevada.
  • Los ingenieros están interesados en resolver los problemas relacionados a la infraestructura como la escalabilidad. Debido a que son problemas más "difíciles", estos generan más prestigio entre los compañeros. Esto me parece el clásico "macho men" en versión geek, donde las cosas no se hacen pensando en su necesidad, sino en el prestigio que se obtendrá.
  • Es mandatorio que el código implementado sea revisado por varios ingenieros antes de ser puesto en funcionamiento. Rumores de que Zuckerberg personalmente revisa todo cambio asociado con los feed news.
  • Por defecto todo cambio en el código es aplicado semanalmente (los martes).
  • Facebook tienen 60,000 servidores. Existen 9 niveles para implementar nuevo código. El nivel de implementación más pequeño sólo afecta a 6 servidores. Si se detecta algún error durante la implementación del nuevo código se detiene inmediatamente el proceso se repara el error y se incia otra vez desde el primer nivel de implementación.

Bueno, el artículo es bastante largo y ofrece algunas ideas que pueden parecer buenas, pero suenan utópicas en el mundo real. Pero al menos para lo que sirve todo esto, es para cuestionarnos si la forma como desarrollamos software dentro de nuestras empresas es la correcta. Cuantas veces no hemos querido enviar al de marketing bien lejos porque propone cosas absurdas o imposibles de implementar, pero en el mundo real es la gente de marketing la que tiene la sartén por el mango y no el departamento de ingeniería.

Cómo reclamar tu cuenta @facebook.com

Ya hace más de un mes Facebook anunción su nuevo servicio Facebook Messages que permitiría a sus usuarios recibir mensajes de correo electrónico en una dirección "@facebook.com", hace ya un par de semanas que tengo mi cuenta en dicho dominio y el servicio Messages activado en mi cuenta de Facebook, sin embargo me he dado cuenta que la gran mayoría de mis contactos aún no han reclamado su cuenta en dicho dominio, es por ello que he decidido traduir los pasos que encontré en el blog TechZene que explican como obtener dicho tipo de direcciones.

Aquí como proceder.

  1. Entre a su cuenta de Facebook.
  2. Vaya a este URL y haga click en el botón verde de la parte inferior que dice "Request an Invitarion".
  3. Puede que tome algún tiempo en que reciba la invitación que llegará dentro de su cuenta de Facebook en "Mensajes", en la forma de un mensaje de alerta. En mi experiencia personal puedo decir que tomó aproximadamente una semana.
  4. Cuando active su nueva dirección de correo en @facebook.com debe de elegir un nombre que coincida con su vaniry URL.
  5. Puede asociar su número de celular a Facebook también para que los mensajes SMS que reciba sean almacenados también en "Mensajes", esta opción funciona en USA, pero no se si estará disponible internacionalmente.
  6. Todos los correos que reciba de sus amigos iran a un folder espacial llamado "Mensajes" y los correos electrónicos que reciba de personas que no están dentro de sus amigos en Facebook iran a un folder llamado otros.

En lo personal me parece muy eficiente la manera como están organizados los mensajes que se parecen más a los mensajes del muro que a un buzón de correo electrónico, ya que no puede marcar con etiquetas los mensajes como en Gmail o moverlos a folders como en la mayoría de otros servicios.

Espero que este tip les sea de utilidad.

Informáticos: Obsoletos al graduarse

La idea de una educación superior es proveer a las personas con un conjunto de conocimientos necesarios y específicos para desarrollar una actividad profesional, así por ejemplo los que desean ejercer la profesión médica deben acudir a una escuela de medicina en donde reciben el entrenamiento mínimo necesario para poder comenzar a desarrollar dicha actividad. De más está hablar que luego de haber terminado los estudios superiores es necesario continuar actualizando los conocimientos adquiridos en la universidad, caso contrario estaremos en peligro de volvernos obsoletos profesionalmente hablando, ya que tendremos un conjunto de conocimientos desactualizado.

Pero en el campo de la informática está ocurriendo un fenómeno que me intriga, la gran mayoría de centros de enseñanza superior están formando un gran número de profesionales con un conjunto de conocimientos y perfil profesional muy bueno para finales de los noventa, pero estamos casi 2011 y el conjunto de conocimientos necesarios es radicalmente diferente. Además en el caso particular del Perú donde la carrera profesional de informática suele recibir el nombre de "Ingeniería de Sistemas", una proliferación de universidades privadas e institutos de enseñanza superior que ofrecen dicha carrera dentro de su abanico de ofertas educativas, han reclutado como profesores a la primera generación de profesionales salidos de las universidades nacionales y que en la mayoría de los casos jamas han desarrollado la actividad profesional que enseñan, lo cual pude parecer algo ilógico pero tiene su explicación en la motivación del actual sistema educativo superior peruano, la busqueda del lucro.

En este post no deseo hacer de voz que clama en el desierto, en primer lugar porque deseo seguir conservando la cabeza encima de mis hombros y en segundo lugar porque nada de lo yo diga o deje de decir cambiará un milímetro la realidad de los recien graduados en "Ingeniería de Sistemas" en el Perú. El objetivo de este post es señalar algunos de los problemas y comentar algunas ideas que pueden ayudar a reparar en algo el daño causado por una educación superior divorciada de la realidad.

Primero debo decir que el mercado peruano para los profesionales en informática está saturado, a menos que se poseean excelente contactos en el gobierno, en cuyo caso como dijera el actual presidente Alan García "La plata llega sola", declaración recogida y comentada por el periodista Jaime Bayly en su columna semanal en Perú 21. Si esta leyendo este post es porque justamente está tan desilucionado con la carrera que eligió y con el suficiente tiempo libre para buscar en Google algo que le consuele, es decir está dentro del grupo de aquellos que no tienen excelentes contactos con el gobierno, bueno al menos tenemos el consuelo de que somos honrados y que vivimos de nuestro trabajo.

A diferencia de los doctores que cuando ejercen la profesión independientemente pueden cobrar por sus consultas y nadie los cuestiona por tal hecho, al parecer los informáticos debemos de diagnosticar, aconsejar y muchas veces solucionar problemas sin cobrar por nuestro trabajo. La explicación de este hecho no es tan sencilla como parece, ya que es un fenómeno muy extendido incluso en los países desarrollados, pero el objetivo de este post no es encontrar la respuesta a dicha paradoja, así que aceptemoslo como una regla simple.

En cierta forma la informática es como la profesión de músico, no se precisa haber pasado por un conservatorio para ejercerla y en muchos casos se tiene más éxito si es que no se ha pasado por un conservatorio. Pero la analogía la veo desde este punto de vista, crear una melodía original y agradable puede tomar tiempo y requerir un gran esfuerzo intelectual, pero una vez que está lista y grabada, cualquiera puede copiarla sin el consentimiento del autor y usarla de muy diversas maneras. Es más pueden aparecer imitadores que reproducen la composición o hasta quienes le cambién de género, lo cual muchas veces debería ser considerado un acto criminal (recuerdo una vez haber oido Yesterday en clave de salsa, aún tengo las secuelas psicológicas de la traumática experiencia ).

Igual como pasa con la industria musical, donde la parte difícil está en monetizar la habilidad creativa, en informática se presenta un problema similar, ¿como monetizar nuestros conocimientos?, la publicidad parece ser la única forma que funciona por el momento, ya que el desarrollo de programas o aplicaciones a medida y su venta al detalle, parece ser la forma menos rentable y más pirateable.

¿Pero, y lo de la obsolecencia?. Otro problema que enfrentan los informáticos, además de un mercado en donde todos esperan un almuerzo gratis (free lunch), es el hecho de que la formación profesional (al menos en el Perú) está orientada a desarrollar un juego de conocimiento (skill set) PC-céntricos, en un entorno en el cual la PC está cayendo rápidamente en desuso de la misma forma como lo están los mainframes. El acceso a Internet a través de múltiples dispositivos, celulares, tablets, televisores, etc., y la revolución de las redes sociales que ha creado un mercado de 500 millones de consumidores de servicios online, está cambiando radicalmente el paradigam de los últimos 20 años. Nunca antes como ahora la frase "la computadora es la red", ha tenido tanto sentido y nunca antes como ahora el skill set de nuestros informáticos ha estado tan desfasado. Lo cual no deja de ser una paradoja, ya que hay muchas más instituciones educativas que antes dictando cursos de informática y cada vez el acceso a Internet es mucho más barato y rápido. Y no estoy queriendo ser sarcastico, comparen el promedio de la velocidad de acceso a Internet y el precio por Kbps en nuestros días con el de hace 10 años.

Como enfrentar estos problemas, bueno mi primera recomendación a aquellos que recien inician su formación profesional es que reconsideren sus opciones, si tienen la suficiente vocación (y esto no es broma) una primera recomendación es estudiar en una universidad nacional, duele menos ser desempleado o subempleado cuando no se pagó por los estudios (esto si es un sarcasmo). Si ya está por terminar o terminó la carrera profesional, son necesarios desarrollar este juego de conocimientos lo más pronto posible:

  • Dominio del idioma inglés (hablado y escrito).
  • Programación en Java, PHP, Python, Perl y JavaScript (en un mundo donde el browser es el nuevo OS, el JavaScript es el nuevo lenguaje de máquina).
  • Tecnologías de virtualización y cloud computing.
  • Tecnología móviles (smartphones/tablets).
  • Aprender la mayor cantidad de APIs posibles, a más mejor (en principio es algo sencillo, pero la gracia está en el número).
  • Aprender a relacionarse socialmente a través de Internet y formar parte de comunidades de desarrolladores activas.

Si ya tiene un tiempo fuera de la universidad o instituto y no puede conseguir un trabajo de acuerdo a sus expectativas, no cometa el error de volver a las aulas, no aprenderá nada nuevo que le sirva y le costará más dinero. En este punto es necesario una autocrítica, desde que hay una discrepancia entre que es lo que se espera como una recompensa por nuestras habilidades y las habilidades mismas hay sólo dos posibilidades, o estoy en un mercado que no demanda mis habilidades, la solución es entonces emigrar a otro donde haya demanda. La otra es que simple y llanamente las espectativas monetarias son irreales.

Tocando el punto de la emigración, es una solución pero no todos pueden aplicarla por una u otra razón. Pero ya que existe Internet y se ha inventado el outsourcing, si no se puede emigrar físicamente, la otra alternativa es importar nuesto trabajo desde otros mercados, un requisito escencial para intentar esto es el dominio del idioma inglés, si no cuenta con dicha habilidad no se desanime, aún hay otras formas de conseguir un trabajo.

Finalmente, si nada de lo que aparece líneas arriba se ajusta a su actual situación, siempre queda la posibilidad de desarrollar aplicaciones de manera indepenciente, pero en lugar de venderlas al parecer la mejor forma de monetizar esto es regalar una versión que muestra anuncios publicitarios y vender una versión que no tiene los anuncios, este tipo de solución es conocida como freemium y he escrito un post anterior con la experiencia de un desarrollador polaco de aplicaciones para Android. Si en este punto su principal limitación para vivir de la informática, es que no sabe programar, ya que le dijeron en la universidad que lo suyo era el análisis, pues intente alguno de los muchos cursos online y aprende a programar solo, nadie le podrá enseñar. Al final programar es como andar en bicileta, una vez que se aprende nunca se olvida y con esos conocimientos es muy sencillo aprender otros como "analisis de proyectos", luego de que aprenda a programar de verdad muchas otras cosas comenzaran a tener sentido.

Me gustaría leer sus opiniones sobre este tema, ya que me parece que hay mucho pan por rebanar. Además he dado sólo algunos consejos desde el punto de vista de mi experiencia personal, tras haber trabajado en el área los últimos 14 años, aunque vengo usando computadoras desde los 9 años (de eso ya hace 33 años, que tiempos aquellos). Todo comentario no hará más que enriquecer el post y permitirá que todos aprendamos algo nuevo.