12 Razones sobre Por qué No Abdicar en la Administración de tu startup

KIng Kong
Me refiero a “Abdicar” como la acción de “abandonar el trono” de la administración de tu startup o pequeña empresa, un concepto usado en el libro “El mito del emprendedor”.

  1. McDonald’s no lo hace.
  2. Ningún sistema de negocio exitoso lo hace.
  3. Los que lo hacen (Abdicar) fracasan.
  4. Los autónomos lo hacen (en el sentido del cuadro “A” del cuadrante del flujo de dinero de Kiyosaki).
  5. Quiero un sistema de negocio. No quiero un puesto de autónomo.
  6. La abdicación no existe.
  7. EL que abdica pierde.
  8. Ningún empleado se lleva bien con los abdicadores.
  9. Ningún socio se lleva bien con los abdicadores.
  10. Ningún inversor se lleva bien con los abdicadores.
  11. Napoloón no lo hacía.
  12. No abdiques.

 

 

 

4 formas de modificar el comportamiento de Prestashop

Tengo 4 formas para modificar el funcionamiento de Prestashop (un CMS para crear un e-shop, que como los desarrolladores son franceses, crearon su propio framework con poca documentación) .
Es común que  quiera llenarlo de cambios, a pesar de que existen miles de módulos (dentro de 300 caracteres explico qué son) que ayudan a modificar su comportamiento.

Una tienda china

Una tienda china

  1. Editando directamente el código: No recomendable porque cuando Prestashop se actualiza puede borrar el cambio. Además es muy complicado de distribuir…
  2. Extendiendo clases y controladores: Prestashop tiene un directorio en el cual podemos hacer uso del extend para las clases y controladores para los cuales queremos modificar su comportamiento.
  3. Creando nuestras propias clases y controladores: si por ejemplo tenemos una tienda online de ropa podemos querer tener un pequeño CMS que guarde información sobre las modelos que posaron en las fotos. Es normal que se guarde y muestre las medidas de la persona que se ve en las imágenes, para que los clientes tengan más datos sobre la prenda para poder especular cómo le quedaría a él/ella.
  4. Creando mi propio módulo: esta forma está muy utilizada porque es muy fácil distribuir los cambios. Simplemente con un archivo empaquetado y/o comprimido guarda mi código y puedo distribuirlo a quien sea, lo único que tengo que enviarle es ese bello archivo .tar, .gz, .zip o un privativo .rar

Detección de errores ortográficos

Desde hace un buen tiempo que vengo preguntándome cómo Firefox, LibreOffice y Thunderbird detectan los errores ortográficos mientras voy escribiendo (el clásico subrayado en rojo), ya que ¿Si LibreOffice lo hace por qué no puedo? Además lo más obvio es que ya existe algún proyecot dedicado a solucionar este problema, para evitar reinventar la rueda.

Pez raro. Raro como la búsqueda que tuve que hacer

Ufff… Este pez es tan raro como la búsqueda que tuve que hacer

Después de hacer búsquedas raras (¡No puedo creer por qué está tan “oculta” esa información en los buscadores!) pude encontrar por fin LanguageTool que se trata de una herramienta que funciona con diccionarios de mútiples idiomas y me dice qué palabras tienen errores (Además de otro tipo de problemas en los textos).

El problema a resolver

Tengo decenas de cientos de textos mal escritos. Solo necesito saber cuáles tienen más o menos errores para poder hacer una rápida selección de los “menos incorrectos” y descartar los demás.

Más tarde quiero utilizar LanguageTool para tener una interfaz fordista de corrección de errores a lo Turco Mecánico.

¿Cómo uso LanguajeTool en mi código?

1. Bajas la versión stand-alone.

2. Descomprime el .zip…

3. Ejecuta el comando (en el directorio descomprimido):

java -cp languagetool-server.jar org.languagetool.server.HTTPServer –port 8081

4. Haces una petición GET hacia:

http://localhost:8081/?language=es&text=hola+dia

Parámetros de la URL:

  • language: lenguaje en el cual está el texto.
  • text: el texto a “corregir”.

Nos va a devolver un XML como este:

<?xml version=”1.0″ encoding=”UTF-8″?>
<matches software=”LanguageTool” version=”2.2″ buildDate=”2013-06-30 18:39″>
<language shortname=”es” name=”Spanish”/>
<error fromy=”0″ fromx=”0″ toy=”0″ tox=”4″ ruleId=”UPPERCASE_SENTENCE_START” msg=”Esa frase no se inicia con mayúscula” replacements=”Hola” context=”hola dia” contextoffset=”0″ offset=”0″ errorlength=”4″ category=”Mayúsculas y minúsculas” locqualityissuetype=”typographical”/>
<error fromy=”0″ fromx=”5″ toy=”0″ tox=”8″ ruleId=”HUNSPELL_RULE” msg=”Hallado un posible error de ortografía” replacements=”día#ida#di#da#odia#dina#dita#dial#dila#dima#diga#diva#diña#ria#dio” context=”hola dia” contextoffset=”5″ offset=”5″ errorlength=”3″ category=”Posible error tipográfico” locqualityissuetype=”misspelling”/>
</matches>

Para utilizar esta información voy a leerlo con la clase SimpleXMLElement

¿Cómo resultó la solución de mi problema?

Tenía ganas de obtener un promedio de errores. Pero obtuve una desviación stándar de 20000…

¿El promedio de las notas de las materias de un estudiante universitario son representativas?

¡Pero si todos los promedios no son representativos! ¿Cómo es eso de darle la mayor relevancia al promedio? ¿Acaso podemos vernos “engañados por la media”?

Gato negro en un lugar con ladrillos rojos

El Coeficiente de Variación nos da un número relativo que nos dice si el promedio es representativo en una muestra.
Obviamente podemos analizar si el promedio de un estudiante es representativo o no.
Pero sumado a ese dato, deberíamos también ver si la nota de cada materia es representativa, porque esta información nos puede decir mucho más acerca de nuestro conocimiento, aprendizaje y experiencia ganada no solo en el estudio, las cursadas.
¿Pero se podría aprender más cursando con 2 profesores distintos de cátedras desiguales?

La historia del “alumno que nunca aprobó”

Supongamos un personaje ficticio que cursa continuamente y de forma constante todas las materias de una carrera, e incluso aprovecha para cursar una con más de un profesor, porque privilegia el conocimiento que adquiere sobre las notas que obtiene; pero sin dar absolutamente ningún examen. Obviamente si este alumno no regular estudia lo que dan en clase y presta atención al profesor, va a poder formarse como un profesional e inclusive hasta puede optimizar el programa de la carrera que le gusta, porque tiene la liberta de ir con más de un profesor para aprender desde distintas personas la misma materia (tengamos en cuenta de que es así en la facultad a la que concurro, no es así en todas), ya que muchos explican temas muy distintos o desde un marco de referencia diferente.
Otro beneficio de este supuesto alumno es que puede darle más importancia a las materias (o partes de las materias) que cree que debe pasar por alto o no darle tanta importancia.
Realmente esta idea es muy MBA Personal.

Sucesos raros

Los sucesos raros son los “picos” de una muestra (las notas). Notas extremas: un examen en el que estudié desde el primer día 10 horas o en el que tuve algún inconveniente (que probablemente fue otra materia), que me hizo estudiar poco; o en una en la que estudié pero el profesor tomó exactamente lo que no consideré relevante.
Estos sucesos extremos son los que sacan representatividad a la muestra.
Acabo de leer el capítulo 6, “Asimetría” de “¿Existe la suerte?” de Nassim Taleb y realmente explica más profundamente y con ejemplos que crean más emociones que este pequeño artículo de ~2300 caracteres.
Por cierto, aviso que fui el que compró el último ejemplar de este libro en todas las sucursales de Yenny. Me siento orgulloso por esto. Aunque este sentimiento durará hasta que llegue más stock, si es que llega.

22 Razones por las que tu startup debe Iterar Rápido o realizar Pequeños Pasos

Realmente me convencí después de varias experiencias, de que si o si es necesario iterar rápido en el desarrollo de un sistema de negocio.

Gatitos chiquitos qué están en crecimiento como una Startup

Una startup también necesita tiempo para crecer

1. Los errores se encuentran más rápido.
2. Genera motivación ver que tu negocio funciona.
3. Genera motivación ver entrar dinero.
4. Tienes una experiencia real sobre los gastos.
5. Ya puedes ir armando un know how.
6. Ya no puedes procrastinar más con continuar o no tu proyecto.
7. Te obliga a ser constante en el trabajo
8. Impide que te afecte la ley de parkinson.
9. El principio de Pareto está de tu lado.
10. Al iterar rápido es más fácil trabajar a medio tiempo.
11. Puedes generar la posibilidad de financiarte con las ventas.
12. Puedes fracasar más rápido.
13. Impide que tu producto sea demasiado viejo para cuando lo termines.
14. Te da más flexibilidad para buscar un modelo de negocio que realmente funcione y sea posible obtener rentabilidad.
15. Te obliga a buscar la rentabilidad
16. Te obliga a ver atentamente el flujo de caja.
17. Es más rápido darse cuenta de si vale la pena realizarlo o no.
18. Puedes obtener mayor cantidad de feedback de los clientes.
19. Te obliga a no perder tiempo en lo que no es esencial.
20. Te ayuda a evitar olvidarte de que existe el tiempo.
21. Porque Carlos Bravo también lo recomienda después de su experiencia con Coguan.
22. Porque acá hay un resumen de Josh Kaufman, autor del best seller “MBA Personal”.

27 razones por las cuales el producto no es lo más importante de tu startup

Un montón de veces creí que el producto es lo más importante en mis proyectos, pero después me convencí de que es un mito.
Zapatos rojos que representan el producto que tu Startup vende

 

1. El modelo de negocio puede cambiar.
2. El modelo de negocio va a cambiar.
3. Pierdes tiempo en desarrollar lo que no estás testeando.
4. Pierdes tiempo en no testear el producto.
5. Pierdes tiempo en no testear si la demanda acepta tu producto.
6. Desarrollar es caro.
7. Pierdes energía en desarrollar.
8. Si pierdes tanto tiempo en el producto, cuando esté listo, va a ser viejo.
9. “Si tu producto no da vergüenza en el primer lanzamiento, es porque llegaste 10. Demasiado tarde”
11. Lo más importante es empezar antes para poder generar know how.
12. Hay que “fracasar” rápido.
13. Hay que saber si vas a fracasar.
14. Cuanto más rápido fracases, menos perderás.
15. Cuanto más rápido fracases, más apenderás.
16. Es más divertido.
17. Te das cuanta mucho mejor de los demás gastos que no viste por tu “sesgo” de pensar que el producto lo es todo.
18. Existen un montón de gastos ocultos que no ves porque estás sesgado.
19. Una empresa trata sobre números.
20. Siempre hay algo más para agregar o mejorar en tu producto.
21. Tu producto jamás estará terminado.
22. Tu producto puede desaparecer y todavía no estás seguro de que funcione (en las ventas).
23. Porque el modelo de negocio, el equipo, el plan, la constancia y obtener un buen y sincero feedback (de los posibles clientes) es más relevante.
24. Los riesgos deben tomarse rápido.
25. Porque hay que <a href=”http://www.marcosvolpi.com/razones-por-las-que-mi-startup-debe-iterar-rapido.html”>iterar rápido</a>.
26. Cuanto más desarrolles tu producto, más fácil es procrastinar.
27. Porque desarrollar sin ver dinero es desmotivador.

¿Sigues pensando que el producto es lo más importante?

NPS: 3 tips para ser el desarrollador más feliz del mundo que implementa NPS

Nota interesate: estoy desarrollando una pequeña guía sobre las tareas más importantes en la implementación de este gateway (y otros).

 

NPS (ex SUB1, ahora comprada por GlobalCollect), es una empresa que brinda servicios de procesamiento de pagos con certificación PCI, al igual que Decidir/SPS.

Nos da muchísimo trabajo a los desarrolladores que lo implementamos en un sitio. Está confirmado. Encontré mínimo 5 personas que lo intentaron, lo quieren, lo desean o trabajaron demasiado tiempo en su implementación.

Quiero facilitar la vida a todos. Por estos son los 3 tips que No sabías y que te van a transformar en un desarrollador feliz:

  • No pierdas el tiempo leyendo minuciosamente documentación de la API SOAP al 100% para hacer desde cero un script. Pedí el ejemplo en PHP que ellos desarrollaron (es solo un ejemplo, No un código que garantiza que va a funcionar).
  •  El soporte técnico que hacen por medio de Zendesk es genial. Las respuestas son muy rápidas y concretas. Se nota que realmente están comprometidos con la calidad y rapidez en las respuestas. Si tenés dudas buscalas ahí o consultalas de una ;).
  • No necesitás procesar los cobros de Pagofácil por medio de un servidor PCI. Si querés hacerlo de forma más simple, rápida y barata podés usar directamente los servicios de Pagospyme.com.

 

¡Hey! Acá hay gato encerrado ¡No puede resultar ser tan fácil!

Sí, el código de ejemplo es solo eso, un ejemplo de cómo se implementó el API con PHP. No es un código que se garantiza que va a funcionar al 100%, nada que ver con eso. Sos el responsable de hacer las modificaciones para que el código sea seguro y cumpla con los requerimientos de calidad y seguridad necesarios.

Ojo, ni se te ocurra enviar a Homologación el código así como está. No va a ser aceptado porque le falta bastantes mejoras que son pedidas, por si no te diste cuenta todavía :p.

Módulo de NPS para Prestashop

Hola ¿Cómo estás?

Te cuento que tengo un módulo de NPS para Prestashop 1.5, 1.6 y 1.7. El trabajo de hacer esta implementación fue ardua por tratarse de una cuestión muy delicada y que requiere trabajar en un marca de profesionalismo para poder entregar un producto de alta calidad.}

Al mismo tiempo, el trabajo de mantenerlo actualizado para todas las versiones de Prestashop y teniendo en cuenta las modificaciones que se puede dar en el mercado de los gategays, los medios de pago, las regulaciones legales de Argentina, las funcionalidades que se requieren para poder competir en el mercado del e-commerce latino (que por cierto es altamente feroz) y de mantener libre de errores y lo más eficiente posible el módulo, es bastante complejo, pero al fin del día sé que este trabajo que estoy realizando me da mucha felicidad y gratificación; porque sé que gracias a mi módulo muchas tiendas con Prestashop pueden vender con todos los medios de pago y utilizando el gateway NPS (ex SUB1 o Ingenico); lo que les ayuda a aumentar sus ventas enormemente gracias a las optimizaciones que pueden obtener.

En fin… Si te interesa el módulo dejame un comentario y te contacto a la brevedad :).

Desarrollador, Estudiante y Emprendedor