¿El emprendedor nace o se hace?

Esta es una de las preguntas que se plantearon en uno de los talleres de la aceleradora en la que estamos con nomorepass, la verdad es que la respuesta no es única, sino que varía en función del emprendedor, había quien estaba allí obligado, quien tuvo un tardío despertar o quien, como yo, sentía la llamada desde pequeño.

Al principio me pareció una pregunta tonta, incluso trampa, para obtener una respuesta «políticamente correcta» sobre el equilibrio entre los genes y la educación, pero a mi me sirvió para darme cuenta que, realmente, ahora estoy haciendo lo que siempre había querido hacer. Recordé que mi heroe de pequeño era el tio Gilito, el tío rico de los sobrinos de Donald y cuyas aventuras yo seguía avidamente en mis tiempos mozos leyendo tebeos «Don Miki.

Quizá lo que me atrajo al principio fue el hecho de estar «forrado», pero recordando esta época lo que me atraía de este personaje no era el mucho o poco dinero que pudiese tener, ni sus problemas con los golfos apandadores, sino que todo lo que tenía lo había conseguido por sí mismo. Le costaba una enormidad gastar la más mínima cantidad de su inmensa fortuna y estaba siempre ocupado haciendo negocios, pero a mi me gustaba por que había ganado todo ese dinero por sus propios medios, siguiendo su pasión y siendo libre allí donde iba.

Si, quizá ese no era el personaje más popular de los de Disney, pero, oye, para mi lo era. No puedo releer las historias de mi infancia porque, como tantas otras cosas, desaparecieron de mi casa por arte de magia (o de limpieza, como diría mi madre).

Haciendo memoria, recuerdo que cuando me asaltó la fiebre por la informática, de la que todavía no me he librado, una de las primeras cosas «raras» que hice con mi CPC464 es crear un «banco» donde permitía a mis hermanas depositar su dinero y tener su propia cuenta bancaria… Creo que ya apuntaba maneras. También recuerdo que, al poco de cumplir los 18 años, impulsado por la misma fiebre emprendedora de mi ídolo de papel, creí necesario informarme de lo que se necesitaba para crear una empresa, todavía no sabía de qué, y mandé una consulta por correo a un organismo pùblico (no recuerdo cual) y de la que, para mi sorpresa, recibí respuesta en forma de un documento larguísimo con todas las opciones y trámites que tendría que realizar para crear una empresa… De hecho ya tenía hasta el nombre: «Illusion». Pero como no tenía modelo de negocio y los trámites eran largos, tediosos y costosos ahí terminó mi primera etapa de emprendedor en ciernes.

Aunque cada vez me fuí imbuyendo más y más del espíritu de la informática, nunca abandoné mis tendencias emprendedoras. Admiraba y admiro a los grandes de la informática tanto por su destreza técnica como por la forma en que pudieron crear algo grande (yo siempre digo que quiero ser Wozniak en vez de Jobs, pero también reconozco que Bill Gates creó algo de la nada e hizo más por popularizar los ordenadores que cualquier otra persona). La vida, sin embargo, nos obliga a seguir caminos predeterminados. En el 96, cuando salí de la facultad no se me pasaba por la cabeza montar nada por mi cuenta, y fueron las circunstancias las que me obligaron años más tarde a montar mi primera empresa. Soy el único emprendedor de mis amigos de facultad, y probablemente, sea el que menos dinero gana y más tiempo dedica a su trabajo pero, oye, sarna con gusto no pica.

En fin, este no es un post para recomendaros que seais emprendedores, quizá lo que quería recordar es que para ser emprendedor hay que tener una vocación muy especial. Que no todo el mundo está preparado para los sacrificios y el alto coste personal que vas a tener que afrontar ante tu familia y amigos. Que muchas veces vas a querer tirar la toalla, rendirte ante las circunstancias y entregarte a un empleo estable, con jefe despótico y recompensas poco habituales, donde no se te pague por opinar y la proactividad te la tengas que dejar en casa. Y, finalmente, que sin el apoyo de tu pareja o hijos vas a estar muy jodido, así que piénsatelo muy bien antes de emprender un camino que puede que no te lleve a ninguna parte y que hará que propios y extraños te miren mal. Lo mio ya no tiene remedio.

Errores de gestión… Las empresas de becarios

Uno no deja nunca de aprender, sea de informática o sea de gestión, en este caso me toca hablar de una tendencia que se afianza día a día en las empresas de informática y de la que he tenido un ejemplo flagrante hace muy poco. La lección de hoy, queridos lectores, es que, nunca, nunca, nunca, hay que dejar que tu empresa sea solo un conjunto de becarios.

¿Son malos los becarios? Claro que no, seguro que en poco tiempo se convierten en unos excelentes profesionales. Con la guía adecuada, y aprendiendo de los profesionales de verdad, todos aprendemos y nos convertimos en profesionales, con poca experiencia, pero profesionales. Entonces, ¿porqué me quejo? Veamos el ejemplo.

Una startup de la que prefiero no acordarme, comenzó su andadura en un nicho de mercado en el que partía con ventaja. Sus socios eran lo mejor de lo mejor en sus áreas de experiencia. Unos provenientes de la parte académica, pero con experiencia en proyectos de investigación, otros con experiencia en el desarrollo de software a nivel profesional y un gestor que creía que sabía de todo que encontró el dinero y los inversores necesarios.

Como toda startup su obligación es focalizarse en su proyecto principal y quemar dinero hasta que consigue sacar al mercado su idea o se queda sin dinero. No obstante, por errores que no vienen al caso, la idea principal se marchitó y se lanzaron a intentar crear productos en mercados cada vez más abarrotados, donde no contaban con las ventajas anteriores y con el dinero ya mermado. En esas los socios más interesantes y menos comprometidos fueron abandonando el barco, o bien se vieron obligados a abandonar al no tener expectativas de obtener un salario digno (digo digno, no a la altura de sus méritos, que eso siempre es mucho más, pero, oye, estamos en una startup). Estas personas son reemplazadas por becarios de manera que, al final, solo queda un socio con conocimiento y experiencia y el resto que se limita a aprender lo mejor que puede intentando no romper demasiado.

Y el error principal viene cuando el gestor, en su afán por prolongar una agonía innecesaria, decide sustituir a este socio «excesivamente caro» por otras personas de un nivel muy inferior, sin capacidad de trabajo ni compromiso con la empresa pero obedientes y baratitos… El resultado, el de siempre, una mierda.

¿Puede una empresa sin conocimiento práctico, sin experiencia, sin foco y sin socios comprometidos trabajando en la misma triunfar? ¿puede acaso sobrevivir? A los ojos de quien solo mira números y no valora el trabajo real de ninguna manera es la consecuencia evidente, pongo dos por el precio de uno y gano en el cambio… ¿Ganar qué? Duplicas el numero de problemas, dilapidas el poco conocimiento que tenías y llevas a cero la confianza de los inversores en una empresa que se puede montar con cualquiera que pase por allí y que no premia ni valora experiencia ni conocimiento… En fin…

Internacionalizar una web en php

main_icoDespués de muchos meses trabajando en una aplicación que, por azares del destino, alguien decidió que se realizase en php utilizando como frontend Drupal (del que solo se utiliza el sistema de registro y poco más) y después de infinitos test de usuarios (que nunca son suficientes) y después de generar un proyecto con 31.000 líneas de código propias (el total sin contar drupal suma más de 203.000) llega el momento de venderlo.

El primer cliente siempre es el peor, pero es que el segundo ¡es holandés! y, claro, lo quiere en inglés… Y algún lumbrera le asegura que tendrán la versión en inglés ¡¡en una semana!!. Lo bonito del tema es que cuando aseguró eso no preguntó a nadie del equipo de desarrollo. ¿Para qué? Las fechas las ponen ellos, qué más da que sea algo imposible.

Total, que, de casualidad, nos enteramos de que hay que hacer este «pequeño» cambio, las traducciones no serán un problema, porque tenemos gente que puede hacerlo bien y rápido, pero, ¿cómo internacionalizamos el php? La parte que cubre Drupal (y que podría traducirse desde el mismo sistema) es mínima, en total tenemos 425 archivos php donde hay textos en castellano en cualquiera de ellos, además, parte en html, parte en php y parte en javascript… Cualquier otro programador hubiese presentado su carta de renuncia o hubiese pedido una baja laboral. Además, ya nos han dicho que no piensan pagarnos las horas extras y que si cometemos errores tendremos que arreglarlos en nuestro tiempo libre.. ¡Eso si que son condiciones laborales y no las de los mineros de asturias!

Sin embargo mi responsabilidad como profesional me obliga a atender las peticiones por absurdas que sean e intentar dar soluciones… Así que os pongo un resumen de lo que hicimos:

Problema número 1: qué sistema de internacionalización usar.

Al contrario que Java, que dispone de un sistema i18n con properties desde el principio, php adolece de este mecanismo estandar. Después de valorar varias opciones (muchas usadas en programas populares como prestashop, etc.) descubrimos que lo mejor es utilizar gettext.

Gettext es un proyecto GNU que, afortunadamente, es utilizado muy ampliamente en Linux para proporcionar internacionalización a sus programas. Es por ello que está presente en la mayoría de las distribuciones (incluyendo las que usamos para desarrollo y pruebas) y, además, tiene un módulo para php que también está normalmente incluida en las instalaciones normales de php (incluso en XAMPP está).

¿Cómo funciona gettext? Básicamente se basa en localizar todas las cadenas de texto ya escritas y sustituirlas por una función que la traduce. En el caso de php esta suele ser la función gettext(‘cadena’) o, abreviada _(‘cadena’). De esta forma, el texto en html:

<p>Esto es un texto</p>

Lo modificaremos en:

<p><?php _("Esto es un texto")?></p>

Luego el sistema localizará, según los parámetros de idioma, su traducción y la escribirá. Si no encuentra ninguna escribirá esa misma cadena.

Así que el primer, y más tedioso, problema es sustituir todas las cadenas de texto en nuestro programa por estas sustituciones. No hay una forma única y automatizada de hacerlo, porque podemos encontrarnos texto dentro del código php, dentro de etiquetas html o incluso dentro de código javascript y dependiendo de dónde se encuentre esa cadena deberá traducirse (o no).

Problema número 2: traducir las cadenas

Una vez que tenemos «marcadas» todas nuestras cadenas, deberemos generar un archivo con las traducciones… Esto ya es más sencillo de automatizar porque podemos utilizar herramientas que ya existen. La más adecuada es poedit. Esta herramienta nos permite escanear directorios de fuentes y almacena las cadenas que no están traducidas en un catálogo para después permitir que un traductor las vaya traduciendo sin tener que saber nada de php.

Antes de utilizar poedit es muy recomendable que establezcamos las rutas de los directorios donde vamos a guardar los catálogos traducidos. Generalmente esto se hace en el directorio raiz de la aplicación creando estos directorios:

locale/xx_XX/LC_MESSAGES

donde xx_XX es el código del idioma y país (en_GB en nuestro caso). Dentro de cada uno de esos directorios almacenaremos los .po (y .mo que compilamos) que generaremos con poedit.

Una vez creados los directorios, arrancamos el poedit y lo configuramos indicando que el directorio principal será «.» y los directorios a escanear serán ../../../ (suponiendo que hemos respetado la estructura que os he comentado). También es importante el tema de los plurales que, en caso del español sería:

nplurals=2; plural=n != 1;\n

Una vez todo en su lugar solo tendremos que actualizar para que poedit busque en todos los archivos y nos encuentre todas las cadenas que se pueden internacionalizar. Utilizando el mismo programa podemos hacer que los traductores nos traduzcan las cadenas y nos devuelvan el mismo .po ya traducido.

Problema número 3: hacer que el sistema use el idioma del usuario

Para que funcione gettext para php hay que incluir las siguientes líneas al principio del script:

putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale, 'english');
bindtextdomain("messages", __DIR__."/Locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");

Lo relevante ahí es que $locale ha de contener el idioma (en_GB) messages es el nombre que tiene el catálogo poedit (así tendremos un messages.po en el directorio correspondiente) y que a bindtextdomain hay que pasarle el directorio donde hemos colocado nuestros locales.

Para el caso de drupal vamos a utilizar el idioma que el usuario ha puesto en su perfil, por lo que el código adicional a utilizar es:

global $language;
$locale = $language->language;
if ($locale=='en')
    $locale="en_GB.utf8";
else
    $locale = 'es_ES.utf8';

Esto es así porque los locales han de ser tal como están en el sistema operativo y, sin embargo, los idiomas en drupal solo indican el idioma y no el locale.

Seguimos en ello (hay muchos archivos) y además, nos queda pendiente la internacionalización de los correos y de los informes que generamos… Seguiremos informando.

Prerrequisitos para emprender

Esta entrada es parte de una serie, el primer post lo puedes encontrar aquí: Enprender o No emprender. Te recomiendo que empieces por el principio… En cualquier caso, a lo que vamos.

¿Qué se necesita para ser un emprendedor?

No, no estoy hablando de una idea genial, de espíritu aventurero ni de talento infinito, eso son chorradas y todo el mundo lo sabe, después de analizar mis 10 años como empresario/emprendedor, os dejo una lista corta de lo que si-o-si necesitas para emprender:

1.- Apoyo: si tienes pareja ten en cuenta que ella deberá estar dispuesta a mantener la familia con su trabajo (si lo tiene), a renunciar a estar contigo innumerables horas y a encargarse de todo y de todos en tu ausencia. Si no tienes una pareja tendrás que buscar los apoyos en la familia, pero si la tienes ten en cuenta que ella/el será el que más sufra con tu aventura. Si no consigues que entienda el concepto, quizá es hora de buscarse un trabajo y dejarse de quimeras.

2.- Decisión: a partir del momento en que decides emprender nadie te volverá a decir qué hacer, los aciertos y las equivocaciones serán solo tuyas. Puedes echarle la culpa al mercado, al tiempo o al gobierno, pero al final eres tu el que toma las decisiones, así que tienes que estar dispuesto a «apechugar» con ellas. Si eres de los que se consumen con cada decisión o intenta tener una justificación «perfecta» para cada paso que da… Olvídate. La vida es dura y hay veces que las decisiones hay que tomarlas sobre la marca. A veces una decisión poco meditada es mucho mejor que ninguna decisión.

3.- Fortaleza mental: si, la gente es muy mala, y contigo lo va a ser mucho más. Ser alguien que no sigue las reglas de los demás, que no soporta a jefes y que no tiene que hacerle la pelota a nadie te va a meter en problemas. Hablarán mal de ti, se alegrarán de tus fallos y minimizarán tus éxitos. Si este tipo de cosas te afectan, déjalo, en este mundo necesitas hacer ver que nada te afecta. Esto es algo que no es posible hacer con naturalidad, pero con el tiempo te va saliendo con menos esfuerzo.

4.- Fe infinita (que no ciega): debes creer en lo que haces, en porqué lo haces y en lo bueno que sería que todo el mundo usase eso que quieres hacer. Es más, debes creerte en la obligación de hacer realidad tu proyecto como una misión divina, cualquier otra cosa será como tener una afición cara, muy cara. Eso si, cuando finalmente el mercado te escupe a la cara y decide que prefiere hacer las cosas mal o seguir viendo telebasura en vez de escuchar una TED talk, tienes que saber cuando tu misión ha terminado.

5.- Paciencia: Roma no se construyó en un día, pero para los inversores esperan que en una semana les montemos un universo completo y que lo empecemos a llenar de seres inteligentes en menos de lo que dura una ronda de inversión… Va a ser que no. Si no tienes una forma de ganarte la vida y mantener calentito tu proyecto durante un par de años, mejor ni lo intentes. ¡Hasta facebook tardó 6 años en empezar a ser rentable!

6.- Buen humor… Esto ya es una opinión personal, pero sin sentido del humor la vida es muy aburrida… Y las aventuras empresariales más, así que si eres de los que llora más que ríe, tampoco es recomendable. Ten en cuenta que te estás embarcando en una actividad sin vacaciones, sin bajas, sin horarios y sin seguridad ninguna. Si no le ves el lado bueno, al menos ríete de ti mismo.

El resto…, eso de las capacidades de empatizar con la gente, de reclutar el mejor talento, de tener madera de líder carismático y esas cositas, bueno, son cosas que se dicen cuando ya se ha tenido éxito, y la mayor parte de las veces es simplemente mentira que se cuenta cuando no se quiere dar detalles escabrosos ni desanimar a las masas de emprendedores en ciernes.

Y este es mi último post de consejos, a partir del próximo os iré contando mi experiencia personal como emprendedor… Igual con eso tenéis más pistas…

Emprender o no emprender

Hoy en día emprender un negocio parece ser que debería ser fácil y todos nosotros deberíamos plantearlo hacerlo… Permitidme que os corrija, eso no es así.

El emprendedor medioYo he sido empresario antes que emprendedor, no es que me guste mucho la gestión empresarial, pero en una pyme no queda más remedio, alguien tiene que hacer el trabajo sucio. No obstante, ser empresario es tener un producto que vender, unos clientes que lo compran y unos costes menores que lo que se recibe por ese producto. Ser emprendedor ni se le parece, es más, es todo lo contrario: crear un producto que no existe, buscar clientes que no tienes y gastar más de lo que ingresas…

Según las estadísticas de los bussiness angels, con suerte, 8 de cada 10 empresas en las que invierten fracasan y desaparecen, solo 2 crecen y generan valor suficiente para multiplicar la inversión de los Bussiness angels (BA) o los Venture Capital (VC). Pero, ¿sabéis qué? obtener inversión de un BA o de VC no es nada sencillo y, quizá, solo una de cada 100 empresas que buscan esa inversión la terminan consiguiendo, así pues, solo 2 de cada 1000 nuevos emprendimientos salen bien. ¿Qué pasa entonces con los otros 998?

Pues básicamente lo que pasa es que fracasan. En todas las charlas de emprendimiento siempre se nos dice «fallar es bueno» y se nos trae a un emprendedor de éxito a contarnos cómo había fallado antes de conseguir sus éxitos. Nunca se nos traerá a alguien que ha fracasado y nunca ha conseguido un éxito, aunque estos sean la mayoría. ¿Porqué no se nos muestran los fracasos de verdad? ¿no quedamos en que se aprende de los fallos?

En próximas entradas iré contandoos mi experiencia como emprendedor… Seguid atentos si queréis aprender, de verdad, qué es eso de intentar emprender… Eso si, el final no es feliz, ya os lo advierto. Quizá como la foto que acompaña el post, la calavera pelada es lo único que queda del emprendedor medio…