Hace un par de meses necesitaba hacer un proyecto bien sencillo, aunque tedioso, algo relacionado con SEO. Se me ocurrió ponerlo en rentacoder.com. Recibí al menos 15 cotizaciones. Finalmente opté por contratar a dos de ellos, uno por U$S 100 (de Pakistán), el otro por U$S 200 (Rumano). Lo que ofrecían era diferente, y la diferencia de precios era justificada.
Aprendí una lección interesante.
El que cotizó U$S 100 me hizo tantas preguntas y pidió tanta intervención de mi lado, que el proyecto terminó costandome mucho más de U$S 100 en tiempo mío. El de U$S 200 aún no terminó su trabajo. El producto final difícilmente valga los U$S 200 que me costó.
No es mi primer intento de outsourcing. Cuando recién comenzamos con JetNumbers, el programador nos abandonó. Ahí decidimos hacer el intento de contratar a una empresa de la India. Los antecedentes de la empresa eran impresionantes. Nos dieron para elegir entre 3 programadores. El CV de cualquiera de ellos era suficiente para ser chief-engineer en Google. Fue una calamidad. Nunca llegamos a saber si programaban bien, ya que directamente no nos entendíamos. Nos cambiaron de programador, y pusieron una que tenía un CV que debió ser redactado por un premio Nobel en literatura. Con ella sí nos entendimos, al menos verbalmente. Lo que nunca logramos fue que entienda lo que queríamos hacer. Hay una anécdota que resume todo. Uno de los requerimientos que teníamos era encriptar las tarjetas de crédito antes de almacenarlas en la base de datos. Unos días después, chequeando la lista de tareas, nos dijo que eso ya estaba hecho yen producción. Yo quería una encriptación con clave pública, pero me pareció que no me había entendido. El diálogo fue más o menos así:
– Have you done the encryption part?
– Yes Sir, and it´s already in production
– May I ask which encryption algorithm have you used? Is it public key encryption?
– Hm?
– What ecnryption method are you using?
– MD5
– But MD5 is not encryption, it is hashing
– It is very secure Sir
– Yes, but there is no decryption for MD5!!!!
– Oh, you also wanted decryption??
– How cant I retrieve the customers’ cards now?
– I don’t know…
Más allá de la anécdota, el tema es que no es nada fácil hacer outsourcing. Tenés que especificar muy bien lo que querés, y seleccionar muy bien quien lo hace. Probablemente funcione bien para proyectos muy grandes, donde podés tener un outsourcing manager y un equipo de especificación, o para proyectos muy chicos y acotados.
Mi experiencia, Sergio, me dice lo siguiente:
1) Cuando outsourcees un proyecto de desarrollo, la calidad de lo entregado es directamente proporcional a la calidad de la especificación.
2) La próxima me contratas a mi.
No me parece tonto lo que hizo la india. En general querés hashear/salar las claves, para que no puedan hacer nada si te roban la BD. Si encriptás en algun lado tenés que guardar la clave y lo más probable es que si te roban la BD también se lleven la clave.
Excepto que la tarjeta de credito es necesaria para cobrar todos los meses…
Es que me parece que la feature no tiene sentido y ella lo interpretó de la mejor manera posible. Igual tendría que haber preguntado. Lo mismo pasa con lo de usar public key; tampoco le encuentro el sentido.
No entiendo por que decis que no tiene sentido. Tenes un servidor de base de datos con numeros de tarjetas encriptados. La clave esta en un servidor de aplicaciones. Si entra un hacker al servidor de bd, no puede hacer nada con ellos. Si entra al app server, estas jodido.
Si es clave publica y privada, la clave privada puede estar en un tercer servidor, aislado de la Web.
muy bueno, sobre todo la transcripción del diálogo. También la velocidad de Fede para subirse al tren 😉
Me parece que encriptarlo teniendo la clave medianamente a mano es una seguridad muy debil y no vale la pena. Además, ¿porque parar ahí? Podés tener dos BD y la mitad de la tarjeta de crédito en cada uno.
Sobre la clave pública y privada, la única que importa es la que uses para desencriptar las tarjetas de crédito. La tenés que tener tan a mano como tendrías una clave simétrica. No tiene sentido hacer pública la clave pública para que otros encripten tarjetas de crédito.
Tal vez el o los problemas, pasen por estar comunicándose transculturalmente, las personas de otras culturas tienen una semántica diferente,(lo que para ellos significa algo, para nosotros es diferente).
Para evitar estos costosos malentendidos, puedes estudiar comunicación neurolingüística y coaching esencial…(-:
Saludos afectuosos
Jorge Panzariello Palau
Instituto de Neurolingüística
y Coaching Esencial
centrodecontextos@adinet.com.uy
Rivera 5129 – Tel 598 2 613 96 22
CP 11 600 – Montevideo, Uruguay
También es posible y más sencillo (dependiendo de la colectividad) que pagues un sueldo decente si pretendes un trabajo decente.
El conocimiento vale no importa cuan precario sea.
Además coincido con Bruno.
El tema acá es que hay muchos tipos de Outsourcing. Hay barato y malo, caro y bueno, gangas, etc. Tus malas experiencias no implican que el Outsourcing en sí sea malo, sino que seguramente estés eligiendo mal tus proveedores y tal vez tengas que pagar más por buen servicio.
Yo lideré un proyecto relativamente grande que tuvo un pico de 70 personas trabajando en él y lo resolvimos con parte de gente interna a la empresa (30 personas) y el resto con Outsourcing (40 personas). Lo hicimos dividiendo el trabajo externo en 4 equipos de no más de 10 personas. Cada equipo contó con una persona nuestra dedicada control muy fuerte de lo que hacía cada grupo.
El proyecto fue un éxito (obviamente tenemos cosas para mejorar), pero quedamos muy conformes. La tercerización fue hecha con empresas chicas Uruguayas. Creo que esa es la mejor opción.
Concuerdo con Sebagon cuando dice: «Cada equipo contó con una persona nuestra dedicada control muy fuerte de lo que hacía cada grupo». El control que hace la emrpesa contratante es vital.
Yo estando del lado del que ofrece servicios, me han tocado de las 2 cosas. Emrpesas que te dicen hacé y en tal fecha volvé y empresas que están comprometidas en el control. Obviamente las que tienen más éxito son estas últimas.
Justo hoy de mañana leí en plandinero un post que, no tiene mucho que ver (a excepción de que trata de outsourcing) pero les dejo el link porque me resultó interesante dado que deja en claro otra problemática que se da con esta modalidad de trabajos. http://www.plandinero.com/historia-real-sobre-scam-internet-parte-1
Saludos!
Eduardo
Mi experiencia es similar a la tuya: tengo proyectos chicos por lo que no puedo darme el lujo de tener un proyect manager.
Creo que la clave no esta tanto en saber elegir, bueno si lo estaría, pero es muy difícil saber hacerlo cuando los cv están tan «lustrados», por lo que la clave esta en saber descartar rápidamente.
Para empezar nunca me fijo en los cv, siempre siento que me mienten, voy directamente a los ejemplos de lo que hicieron.
Pero lo que creo que es fundamental es tener de antemano en mente que vas a seleccionar 4 o 5 freelancers malos antes de encontrar al bueno, por lo que es necesario descartar lo antes posible. Nunca pago ni un dolar por adelantado, y la mayoría a regañadientes acepta, después tengo una primera conversación donde le hago todas las preguntas mas difíciles y mas engañosas que se me ocurran, hay que estar seguro que el que esta del otro lado sepa de lo que esta hablando, y finalmente le pongo una fecha limite cercana (4 días o una semana) para que me tenga pronto algo complicado del proyecto, por ejemplo en tu caso el tema de la encriptación, de esa forma se rápidamente si el tipo tiene interés y si sabe hacer lo que necesito, ante la primera duda descarto y me voy con otro, y muy importante siempre público los proyectos en al menos 5 páginas (total es gratis) cosa que siempre tenga a mano otro a quien recurrir cuando descarte al malo. Toma tiempo (nunca sirve para proyectos que se necesiten para ayer) pero es una muy buena alternativa
Saludos
Gabriel Mazzotti
Estuve como dos o tres veces en la tentacion de escribir un comentario a este post.
Como el tema me llega de cerca pense en hacer una retorica defendiendo el modelo de outsourcing, luego pense en mejor hacer algun juicio de valor sobre tu eleccion….o mejor dar algunos consejos sobre como realizar el proceso….
Ba! en realidad mejor me quedo con este chiste de Dilbert que para mi es como el Horospoco en la revistas viejas. Aunque lo leas fuera de fecha si estas predispuesto parece que te lo escribieron a medida para vos
http://dilbert.com/strips/comic/2009-03-08/
Enjoy!
FYI: trabajo en el area comercial de una Software Factory que vende servicios de desarrollo (proyectos cerrados o outsourcing) a empresa en el exterior 🙂